My keyboard setup. Also see http://cweiske.de/tagebuch/My%20new%20ergonomic%20keyboard.htm
2014, 7 years after the initial setup, the keyboard began to behave erratically. Pressing a lowercase Q often gave me the uppercase Q and sometimes the lowercase one. This went on for some weeks. Then the page down key sent key codes for number 3 and 4 at the same time. (The "Page Down" problem happened again 2020-01.)
This was the time I decided to reset the keyboard and re-program it. After resetting, all keys were back to normal and I reprogrammed it as follows.
!fix broken mode switches (ctrl keys did not work anymore) clear control clear mod4 !... other remmappings here keycode 133 = Control_L keycode 134 = Control_R add control = Control_L Control_R keycode 105 = Mode_switch
!Make umlauts available to "right Alt" + (shift) letter keycode 26 = e E EuroSign EuroSign keycode 30 = u U udiaeresis Udiaeresis keycode 32 = o O odiaeresis Odiaeresis keycode 38 = a A adiaeresis Adiaeresis keycode 39 = s S ssharp ssharp !Map "right Alt" to activate the äöüÖÜÄß above keycode 108 = Mode_switch
From https://kinesis-ergo.com/wp-content/uploads/kb500-user_manual.pdf
If the keyboard behaves strangely or you just want to re-create the factory settings, the first thing to try is a memory reset. If you have the Advantage Pro model, be sure the memory locking switch (see drawing later in this chapter) is to the right (unlocked). “Instant Configuration” settings are not affected by resetting the keyboards “On-board Programmability” features. Two different memory reset procedures are available:
This procedure will erase all remapping and macros, but will not change macro memory settings or switch Dvorak back to QWERTY. Press and hold the Progrm key, then add one of the Shift keys, and finally add the F10 function key so that all three keys are depressed. The lights on the keyboard should begin flashing. Release the keys and when the flashing stops in several seconds, the keyboard’s memory has been reset.
This procedure is more aggressive than Option One and will completely reset the memory back to factory settings (24 macros, QWERTY layout).
Hold down the F7 key before turning on the power to your computer. Start your computer and after a few seconds, release F7. A successful reset is indicated if the keyboard’s lights flash several times after releasing F7.
Hold down the Program key and tap F12, then release both keys. The keyboard’s lights will begin flashing rapidly. To copy a key, first tap the “source” key whose action you want to copy somewhere else. The lights will begin flashing slowly. Now tap the key where you want the new action to appear. The lights will resume rapid flashing. To swap two keys, you can repeat this sequence for each key without exiting from remapping mode. When you are done making changes, exit with Program plus F12. The lights should immediately stop flashing.
Default layout always available when remapping
When you are in remapping mode, the default key layout is always active. Therefore you cannot “lose” a key action by remapping it. Any changes you make by remapping are only implemented when you exit remapping mode.
To create a macro, hold down the Program key and tap F11, then release both keys. The keyboard’s lights will begin flashing rapidly. First select a “trigger key” (the key or combination of keys that will initiate playback of the macro). The lights will begin flashing slowly. Now type the key or keys that will comprise the body of the macro. When you have finished, hold the Program key and tap F11. The lights should stop flashing on the first tap. If not, you have added F11 to the end of your macro and you should reprogram your macro.
By default, the keyboard includes an audible key click for all keys, including the function keys. To turn off the key click, hold down Progrm and press the Backslash key (\) located just below the hyphen key). If you wish to turn on the key click again, simply repeat the process. Note: Most experienced Kinesis keyboard users find that leaving on the key click function makes it easier to use the function keys.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | KeyPress event, serial 38, synthetic NO, window 0x6200001, root 0x4cb, subw 0x0, time 25265251, (172,68), root:(2096,140), state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 38, synthetic NO, window 0x6200001, root 0x4cb, subw 0x0, time 25265435, (172,68), root:(2096,140), state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 38, synthetic NO, window 0x6200001, root 0x4cb, subw 0x0, time 25265650, (172,68), root:(2096,140), state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES, XLookupString gives 1 bytes: (1b) "" XmbLookupString gives 1 bytes: (1b) "" XFilterEvent returns: False KeyPress event, serial 38, synthetic NO, window 0x6200001, root 0x4cb, subw 0x0, time 25265659, (172,68), root:(2096,140), state 0x0, keycode 12 (keysym 0x33, 3), same_screen YES, XLookupString gives 1 bytes: (33) "3" XmbLookupString gives 1 bytes: (33) "3" XFilterEvent returns: False KeyRelease event, serial 38, synthetic NO, window 0x6200001, root 0x4cb, subw 0x0, time 25265666, (172,68), root:(2096,140), state 0x0, keycode 12 (keysym 0x33, 3), same_screen YES, XLookupString gives 1 bytes: (33) "3" XFilterEvent returns: False KeyRelease event, serial 38, synthetic NO, window 0x6200001, root 0x4cb, subw 0x0, time 25265674, (172,68), root:(2096,140), state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES, XLookupString gives 1 bytes: (1b) "" XFilterEvent returns: False KeyPress event, serial 38, synthetic NO, window 0x6200001, root 0x4cb, subw 0x0, time 25265962, (172,68), root:(2096,140), state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 38, synthetic NO, window 0x6200001, root 0x4cb, subw 0x0, time 25266051, (172,68), root:(2096,140), state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False |