Help converting Pingmaster

User avatar
kaboom36

16 Sep 2018, 19:47

pretty good, its incredibly different compared to my model M which I bolt modded and removed the mat for EXTRA TACTILITY lol :D

EDIT: I forgot to mention how immensely smooth this is, if there is anything smoother than this I would be so be shocked it would lead to my drive heads crashing with the force of a cannonball flung with gravity of a black hole into the side of a... what was I talking about again? oh yes, these are ridiculously smooth!

User avatar
Hypersphere

16 Sep 2018, 20:13

kaboom36 wrote: pretty good, its incredibly different compared to my model M which I bolt modded and removed the mat for EXTRA TACTILITY lol :D

EDIT: I forgot to mention how immensely smooth this is, if there is anything smoother than this I would be so be shocked it would lead to my drive heads crashing with the force of a cannonball flung with gravity of a black hole into the side of a... what was I talking about again? oh yes, these are ridiculously smooth!
I agree about the smoothness of the Alps switches in the Pingmaster.

For such a long time, I have heard people praising the smoothness of vintage black Cherry switches. Not being fond of Cherry mx, I tended to ignore such comments. However, I recently got my Wyse 30 up and running with a Orihalcon/Soarer converter, and I was indeed amazed at how smooth the vintage blacks are. This is in line with snacksthecat's thread on "What's the most underrated keyboard" and his description of the Wyse 60:

keyboards-f2/what-s-the-most-underrated ... ml#p424143

User avatar
swampangel

16 Sep 2018, 23:45

kaboom36 wrote: I just found the source of my problems; it was my wiring! I noticed that the keyboard would click every time I jiggled the wires so I used occam's razor and eliminated connection points until I soldered the wires directly to the PCB and now everything is working as it should

EDIT: Now I just have to figure out how to flash my custom keymap
Terrific! :D When you get the keymap that you want in place, let us know what files you had to modify.

User avatar
swampangel

16 Sep 2018, 23:48

Hypersphere wrote: For such a long time, I have heard people praising the smoothness of vintage black Cherry switches. Not being fond of Cherry mx, I tended to ignore such comments. However, I recently got my Wyse 30 up and running with a Orihalcon/Soarer converter, and I was indeed amazed at how smooth the vintage blacks are. This is in line with snacksthecat's thread on "What's the most underrated keyboard" and his description of the Wyse 60:
Same here. I'm not a big fan of linear switches - I'm a clicky alps person - but the pingmaster was so surprisingly smooth that when a cheap Wyse PCE terminal board turned up, I jumped at it. It's waiting on a full set of keycaps right now.

User avatar
Hypersphere

17 Sep 2018, 00:11

@swampangel: Which Wyse board did you get? What keycap set(s) are you putting on it? There is something to be said for using the original Wyse caps if you can find them. However, this brings up a potential downside of both the Pingmaster and the Wyse terminal boards, depending on your preferences. As for me, I much prefer the dry feel of PBT over the clammy feel of ABS. However, sometimes, you have to go with what suits the board best with respect to other characteristics, such as acoustics and appearance.

User avatar
kaboom36

17 Sep 2018, 01:15

How do I make a custom keymap? I have tried using the online editor to modify a compiled file but the file is still using the default map

User avatar
swampangel

17 Sep 2018, 03:02

kaboom36 wrote: How do I make a custom keymap? I have tried using the online editor to modify a compiled file but the file is still using the default map
I would start by trying a manual modification or two to the file unimap_plain.c. Keep it simple til you see it's working (for example, try swapping the position of ctrl and capslock). Use the alps102 section in unimap_trans.h for reference.

If that doesn't work, try the same change in keymap_alps102key.c, in case I'm wrong about which file is in use

My guess is that that hand editing will be the easiest way to change the layout. I'm sure there is a way to take the output from the online editor and use it, but it'll require a closer reading of the Makefiles and understanding the different flags.

It looks like the c output from the online editor may be able to replace the contents of unimap_plain.c, but it may need some hand tweaking.

User avatar
swampangel

17 Sep 2018, 03:22

Hypersphere wrote: @swampangel: Which Wyse board did you get? What keycap set(s) are you putting on it? There is something to be said for using the original Wyse caps if you can find them. However, this brings up a potential downside of both the Pingmaster and the Wyse terminal boards, depending on your preferences. As for me, I much prefer the dry feel of PBT over the clammy feel of ABS. However, sometimes, you have to go with what suits the board best with respect to other characteristics, such as acoustics and appearance.
It's an 840358-01 - terminal board, ansi layout (except the funky wyse bottom row). It's missing 3 caps, so I bought some Wyse replacements which should be compatible (https://www.reddit.com/r/mechmarket/com ... ge_boards/)

I haven't really used a PBT set other than my Model M's, since most of my boards are alps with their original doubleshot ABS. I've been thinking about doing a custom with SMK 2nd gen cherry mounts that I can put a nice pbt set on.

User avatar
kaboom36

17 Sep 2018, 18:40

I don't get how I am supposed to edit this, the unimap_plain keymap didn't match the keyboard and when I matched it and tried to compile it said:

Code: Select all

macro "UNIMAP" requires 128 arguments, but only 103 given

but doesn't the keyboard only have 102 keys?? where is the extra argument coming from?? why doesn't the initial keymap match the keyboard??? why does it have to have 128 keys?? I have tried wrapping my head around editing unimap_trans but got confused... :cry:

here is the keymap im trying to use:
Spoiler:

Code: Select all

/*
Copyright 2016 Jun Wako <wakojun@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#include "unimap_trans.h"


#define AC_FN0 ACTION_LAYER_MOMENTARY(1)

#ifdef KEYMAP_SECTION_ENABLE
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
#else
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
#endif
    UNIMAP(
    ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL,JYEN,BSPC,BSPC,   TRNS,TRNS,TRNS,   NLCK,PSLS,PAST,PMNS,
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,    BSLS,VOLU,   DEL, TRNS,TRNS,   P7,  P8,  P9,  PPLS,
    CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,NUHS,     ENT,VOLD,   HOME,TRNS,PGUP,   P4,  P5,  P6,  PCMM,
    LSFT,     Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,      RO,RSFT,MPLY,   END, UP,  PGDN,   P1,  P2,  P3,  PENT,
    LCTL,FN0,LALT,               SPC,                          HENK,KANA,FN0,         LEFT,DOWN,RGHT,   P0,  P00, PDOT,PEQL,
    ),
    UNIMAP(
    GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, INS, TRNS,TRNS,  TRNS,TRNS,TRNS,   TRNS,TRNS,TRNS,TRNS,
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP,  INS,      TRNS,TRNS,  TRNS,TRNS,TRNS,   TRNS,TRNS,TRNS,TRNS,
    TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,LEFT,RGHT,TRNS,     TRNS,TRNS,  TRNS,TRNS,TRNS,   TRNS,TRNS,TRNS,TRNS,
    TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,          TRNS,TRNS,TRNS,  TRNS,PGUP,TRNS,   TRNS,TRNS,TRNS,TRNS,
    TRNS,TRNS,TRNS,               TRNS,                         TRNS,TRNS,TRNS,       HOME,PGDN,END,    TRNS,TRNS,TRNS,TRNS,
    ),
};

User avatar
swampangel

17 Sep 2018, 19:01

My understanding, which is only superficial, is that the unimap "grid" is bigger than the physical keyboard because it's built to support (at least) 2 keyboards with different physical layouts. So each keyboard, either the 4704 or our pingmasters, uses a different subset of the unimap.

The important thing, though, is that out of the box, the default unimap layout *works*, and when you make big changes to it, then it *doesn't work*.

So, start by making a tiny change. Then flash it and see if it works. If so, make a bigger change. The point where it stops working is the point where your mental model of what's happening has become inaccurate -- a learning opportunity.
kaboom36 wrote: why doesn't the initial keymap match the keyboard???
I believe the initial keymap matches the keyboard pretty well if you look at it as a subset:
Screenshot at Sep 17 13-56-33.png
Screenshot at Sep 17 13-56-33.png (50.91 KiB) Viewed 2510 times
There are some exceptions, like the keys at the right side of the alpha block actually sending the codes for F1-F4. This is where reading unimap_trans.h should be helpful.

User avatar
Hypersphere

17 Sep 2018, 19:10

@kaboom36: Are you able to download the unimap.hex file from the Hasu configurator site?

http://www.tmk-kbd.com/tmk_keyboard/edi ... 4_usb_alps

User avatar
kaboom36

17 Sep 2018, 21:02

@Hypersphere I am but the files I download from there don't work, either they aren't compiled for my teensy or when I upload my own compiled converter and edit that keymap it wont use the new one

@swampangel Im going to take another crack at editing unimap_trans I think I have an idea to make it infinitely easier to edit

EDIT: It worked! I mapped out the map! :lol: Because the keymap jumps around in strange ways I was having trouble finding what was where so I did this:
Spoiler:
* ,---------------------------------------------------------------. ,--------------. ,------------------.
* |ESC| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0|MINS|EQL|JYEN|BSPC|BSPC| |INS|HOME|PGUP | |NmL|PSLS|PENT|PMNS|
* |---------------------------------------------------------------| |--------------| |------------------|
* |TAB | Q| W| E| R| T| Y| U| I| O| P|LBRC|RBRC|BSLS| F2| |DEL|END| PGDN | | P7 | P8 | P9|PPLS|
* |---------------------------------------------------------------| |--------------| |------------------|
* |CAPS | A| S| D| F| G| H| J| K| L|SCLN|QUOT|NUHS|ENT| F3| |PSCR|SLCK|PAUS| |P4 |P5 |P6 | PCMM |
* |---------------------------------------------------------------| |--------------| |------------------|
* |LSFT | Z| X| C| V| B| N| M|COMM|DOT|SLSH| RO|RSFT | F4| |F11 |UP | F12 | |P1 |P2 |P3 | Ent |
* |---------------------------------------------------------------| |--------------| |------------------|
* |LCTL |RGUI|LALT | SPC |RALT |LGUI| RCTL | |LEFT|DOWN|RGHT| |GRV|P0 |PDOT|PEQL |
* `---------------------------------------------------------------' `--------------' `------------------'
Now all I have to do if I want to find a key is control f!

User avatar
kaboom36

18 Sep 2018, 01:19

@Hypersphere @swampangel thanks for all your help, Ive now got the keyboard 99.7% working to my preferences the only thing I cant seem to figure out is why the KC_MEDIA keys wont work but ill get to that another time

User avatar
swampangel

18 Sep 2018, 01:25

kaboom36 wrote: EDIT: It worked! I mapped out the map! :lol: Because the keymap jumps around in strange ways I was having trouble finding what was where so I did this:
Spoiler:
* ,---------------------------------------------------------------. ,--------------. ,------------------.
* |ESC| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0|MINS|EQL|JYEN|BSPC|BSPC| |INS|HOME|PGUP | |NmL|PSLS|PENT|PMNS|
* |---------------------------------------------------------------| |--------------| |------------------|
* |TAB | Q| W| E| R| T| Y| U| I| O| P|LBRC|RBRC|BSLS| F2| |DEL|END| PGDN | | P7 | P8 | P9|PPLS|
* |---------------------------------------------------------------| |--------------| |------------------|
* |CAPS | A| S| D| F| G| H| J| K| L|SCLN|QUOT|NUHS|ENT| F3| |PSCR|SLCK|PAUS| |P4 |P5 |P6 | PCMM |
* |---------------------------------------------------------------| |--------------| |------------------|
* |LSFT | Z| X| C| V| B| N| M|COMM|DOT|SLSH| RO|RSFT | F4| |F11 |UP | F12 | |P1 |P2 |P3 | Ent |
* |---------------------------------------------------------------| |--------------| |------------------|
* |LCTL |RGUI|LALT | SPC |RALT |LGUI| RCTL | |LEFT|DOWN|RGHT| |GRV|P0 |PDOT|PEQL |
* `---------------------------------------------------------------' `--------------' `------------------'
Now all I have to do if I want to find a key is control f!
Nice! Thanks for sharing your work, life will be easier for the next person.

User avatar
kaboom36

18 Sep 2018, 05:29

oh dear, I had a really good idea... phosphor glow esque lock lights for my ping master guess I know what I am working on next...

Besides, its not like I have any shortage of pins :lol:

User avatar
kaboom36

18 Sep 2018, 21:22

Remember when I said that I would work on the KC_Media keys later? I keep trying to get them work but I cant figure out why they wont KC_MEDIA_PLAY_PAUSE outputs ] KC_MEDIA_PREV_TRACK outputs a space and what exactly KC_MEDIA_NEXT_TRACK outputs is beyond me but it does something...
I have EXTRAKEY_ENABLE set to yes and I have even gone so far as to define KEYCODE2CONSUMER in the keymap but nothing works :cry:

Post Reply

Return to “Keyboards”