<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed><type>rich</type><version>1.0</version><provider_name>phorkie</provider_name><provider_url>https://p.cweiske.de/</provider_url><title>Kinesis Ergo setup</title><author_name>Christian Weiske</author_name><cache_age>86400</cache_age><width>900</width><height>900</height><html>&lt;!-- embedding all files of https://p.cweiske.de/154 --&gt;
&lt;link rel="stylesheet" href="https://p.cweiske.de/css/embed.css"/&gt;
&lt;div class="phork" id="154"&gt;
    &lt;div class="phork-file"&gt;
 &lt;div class="phork-content"&gt;
  
&lt;div class="document"&gt;


&lt;p&gt;My keyboard setup. Also see &lt;a class="reference external" href="http://cweiske.de/tagebuch/My%20new%20ergonomic%20keyboard.htm"&gt;http://cweiske.de/tagebuch/My%20new%20ergonomic%20keyboard.htm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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 &amp;quot;Page Down&amp;quot; problem happened again 2020-01.)&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;div class="section" id="remappings"&gt;
&lt;h1&gt;Remappings&lt;/h1&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Switch &lt;tt class="docutils literal"&gt;Tab&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;Caps Lock&lt;/tt&gt; key&lt;/li&gt;
&lt;li&gt;Switch &lt;tt class="docutils literal"&gt;y&lt;/tt&gt; and &lt;tt class="docutils literal"&gt;z&lt;/tt&gt; key&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="macros"&gt;
&lt;h1&gt;Macros&lt;/h1&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Map &lt;tt class="docutils literal"&gt;Ctrl+F8&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;Ctrl+T&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Map &lt;tt class="docutils literal"&gt;Ctrl+T&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;$this-&amp;gt;&lt;/span&gt;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Map &lt;tt class="docutils literal"&gt;Ctrl+=&lt;/tt&gt; to `` =&amp;gt; ``&lt;/li&gt;
&lt;li&gt;Map &lt;tt class="docutils literal"&gt;Ctrl+-&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;&lt;span class="pre"&gt;-&amp;gt;&lt;/span&gt;&lt;/tt&gt;&lt;/li&gt;
&lt;li&gt;Map &lt;tt class="docutils literal"&gt;Ctrl+Backspace&lt;/tt&gt; to &lt;tt class="docutils literal"&gt;Alt+Tab&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

 &lt;/div&gt;
 &lt;div class="phork-meta"&gt;
  &lt;a href="https://p.cweiske.de/154/rev-raw/2a43370b7b3e4529c9779d9fe83026df516398c8/README.rst" style="float: right"&gt;view raw source&lt;/a&gt;
  &lt;a href="https://p.cweiske.de/154#README.rst"&gt;README.rst&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
    &lt;div class="phork-file"&gt;
 &lt;div class="phork-content"&gt;
  &lt;div class="code"&gt;&lt;pre class="txt"&gt;!fix broken mode switches (ctrl keys did not work anymore)&#13;
clear control&#13;
clear mod4&#13;
&#13;
!... other remmappings here&#13;
&#13;
keycode 133 = Control_L&#13;
keycode 134 = Control_R&#13;
add control = Control_L Control_R&#13;
keycode 105 = Mode_switch&#13;
&lt;/pre&gt;&lt;/div&gt;

 &lt;/div&gt;
 &lt;div class="phork-meta"&gt;
  &lt;a href="https://p.cweiske.de/154/rev-raw/2a43370b7b3e4529c9779d9fe83026df516398c8/Xmodmap-modeswitches.txt" style="float: right"&gt;view raw source&lt;/a&gt;
  &lt;a href="https://p.cweiske.de/154#Xmodmap-modeswitches.txt"&gt;Xmodmap-modeswitches.txt&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
    &lt;div class="phork-file"&gt;
 &lt;div class="phork-content"&gt;
  &lt;div class="code"&gt;&lt;pre class="txt"&gt;!Make umlauts available to &amp;quot;right Alt&amp;quot; + (shift) letter&#13;
keycode  26 = e E EuroSign EuroSign&#13;
keycode  30 = u U udiaeresis Udiaeresis&#13;
keycode  32 = o O odiaeresis Odiaeresis&#13;
keycode  38 = a A adiaeresis Adiaeresis&#13;
keycode  39 = s S ssharp ssharp&#13;
&#13;
!Map &amp;quot;right Alt&amp;quot; to activate the äöüÖÜÄß above&#13;
keycode 108 = Mode_switch&#13;
&lt;/pre&gt;&lt;/div&gt;

 &lt;/div&gt;
 &lt;div class="phork-meta"&gt;
  &lt;a href="https://p.cweiske.de/154/rev-raw/2a43370b7b3e4529c9779d9fe83026df516398c8/Xmodmap.txt" style="float: right"&gt;view raw source&lt;/a&gt;
  &lt;a href="https://p.cweiske.de/154#Xmodmap.txt"&gt;Xmodmap.txt&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
    &lt;div class="phork-file"&gt;
 &lt;div class="phork-content"&gt;
  
&lt;div class="document"&gt;


&lt;p&gt;From &lt;a class="reference external" href="https://kinesis-ergo.com/wp-content/uploads/kb500-user_manual.pdf"&gt;https://kinesis-ergo.com/wp-content/uploads/kb500-user_manual.pdf&lt;/a&gt;&lt;/p&gt;
&lt;div class="section" id="resetting-keyboard-memory"&gt;
&lt;h1&gt;Resetting keyboard memory&lt;/h1&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;div class="section" id="memory-reset-option-one-progrm-shift-f10"&gt;
&lt;h2&gt;Memory reset, Option One (&lt;tt class="docutils literal"&gt;Progrm + Shift + F10&lt;/tt&gt;)&lt;/h2&gt;
&lt;p&gt;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 &lt;tt class="docutils literal"&gt;F10&lt;/tt&gt; 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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="memory-reset-option-two-f7"&gt;
&lt;h2&gt;Memory reset, Option Two (&lt;tt class="docutils literal"&gt;F7&lt;/tt&gt;)&lt;/h2&gt;
&lt;p&gt;This procedure is more aggressive than Option One and will completely reset the memory
back to factory settings (24 macros, QWERTY layout).&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="the-remapping-process-progrm-f12"&gt;
&lt;h1&gt;The Remapping process (Progrm + F12 )&lt;/h1&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default layout always available when remapping&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="creating-a-macro-progrm-f11"&gt;
&lt;h1&gt;Creating a macro (Progrm + F11)&lt;/h1&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="turning-on-and-off-the-key-click-feature-progrm-backslash"&gt;
&lt;h1&gt;Turning on and off the key click feature (Progrm + backslash &lt;tt class="docutils literal"&gt;\&lt;/tt&gt;)&lt;/h1&gt;
&lt;p&gt;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 (&lt;tt class="docutils literal"&gt;\&lt;/tt&gt;) 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.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

 &lt;/div&gt;
 &lt;div class="phork-meta"&gt;
  &lt;a href="https://p.cweiske.de/154/rev-raw/2a43370b7b3e4529c9779d9fe83026df516398c8/kinesis-manual.rst" style="float: right"&gt;view raw source&lt;/a&gt;
  &lt;a href="https://p.cweiske.de/154#kinesis-manual.rst"&gt;kinesis-manual.rst&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
    &lt;div class="phork-file"&gt;
 &lt;div class="phork-content"&gt;
  &lt;style type="text/css"&gt;&lt;/style&gt;&lt;div class="code"&gt;&lt;table class="log"&gt;&lt;tbody&gt;&lt;tr class="li1"&gt;&lt;td class="ln"&gt;&lt;pre class="de1"&gt;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
&lt;/pre&gt;&lt;/td&gt;&lt;td class="de1"&gt;&lt;pre class="de1"&gt;KeyPress event, serial 38, synthetic NO, window 0x6200001,&#13;
&amp;#160; &amp;#160; root 0x4cb, subw 0x0, time 25265251, (172,68), root:(2096,140),&#13;
&amp;#160; &amp;#160; state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,&#13;
&amp;#160; &amp;#160; XLookupString gives 0 bytes: &#13;
&amp;#160; &amp;#160; XmbLookupString gives 0 bytes: &#13;
&amp;#160; &amp;#160; XFilterEvent returns: False&#13;
&amp;#160;
KeyRelease event, serial 38, synthetic NO, window 0x6200001,&#13;
&amp;#160; &amp;#160; root 0x4cb, subw 0x0, time 25265435, (172,68), root:(2096,140),&#13;
&amp;#160; &amp;#160; state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,&#13;
&amp;#160; &amp;#160; XLookupString gives 0 bytes: &#13;
&amp;#160; &amp;#160; XFilterEvent returns: False&#13;
&amp;#160;
KeyPress event, serial 38, synthetic NO, window 0x6200001,&#13;
&amp;#160; &amp;#160; root 0x4cb, subw 0x0, time 25265650, (172,68), root:(2096,140),&#13;
&amp;#160; &amp;#160; state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,&#13;
&amp;#160; &amp;#160; XLookupString gives 1 bytes: (1b) &amp;quot;&amp;quot;&#13;
&amp;#160; &amp;#160; XmbLookupString gives 1 bytes: (1b) &amp;quot;&amp;quot;&#13;
&amp;#160; &amp;#160; XFilterEvent returns: False&#13;
&amp;#160;
KeyPress event, serial 38, synthetic NO, window 0x6200001,&#13;
&amp;#160; &amp;#160; root 0x4cb, subw 0x0, time 25265659, (172,68), root:(2096,140),&#13;
&amp;#160; &amp;#160; state 0x0, keycode 12 (keysym 0x33, 3), same_screen YES,&#13;
&amp;#160; &amp;#160; XLookupString gives 1 bytes: (33) &amp;quot;3&amp;quot;&#13;
&amp;#160; &amp;#160; XmbLookupString gives 1 bytes: (33) &amp;quot;3&amp;quot;&#13;
&amp;#160; &amp;#160; XFilterEvent returns: False&#13;
&amp;#160;
KeyRelease event, serial 38, synthetic NO, window 0x6200001,&#13;
&amp;#160; &amp;#160; root 0x4cb, subw 0x0, time 25265666, (172,68), root:(2096,140),&#13;
&amp;#160; &amp;#160; state 0x0, keycode 12 (keysym 0x33, 3), same_screen YES,&#13;
&amp;#160; &amp;#160; XLookupString gives 1 bytes: (33) &amp;quot;3&amp;quot;&#13;
&amp;#160; &amp;#160; XFilterEvent returns: False&#13;
&amp;#160;
KeyRelease event, serial 38, synthetic NO, window 0x6200001,&#13;
&amp;#160; &amp;#160; root 0x4cb, subw 0x0, time 25265674, (172,68), root:(2096,140),&#13;
&amp;#160; &amp;#160; state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,&#13;
&amp;#160; &amp;#160; XLookupString gives 1 bytes: (1b) &amp;quot;&amp;quot;&#13;
&amp;#160; &amp;#160; XFilterEvent returns: False&#13;
&amp;#160;
KeyPress event, serial 38, synthetic NO, window 0x6200001,&#13;
&amp;#160; &amp;#160; root 0x4cb, subw 0x0, time 25265962, (172,68), root:(2096,140),&#13;
&amp;#160; &amp;#160; state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,&#13;
&amp;#160; &amp;#160; XLookupString gives 0 bytes: &#13;
&amp;#160; &amp;#160; XmbLookupString gives 0 bytes: &#13;
&amp;#160; &amp;#160; XFilterEvent returns: False&#13;
&amp;#160;
KeyRelease event, serial 38, synthetic NO, window 0x6200001,&#13;
&amp;#160; &amp;#160; root 0x4cb, subw 0x0, time 25266051, (172,68), root:(2096,140),&#13;
&amp;#160; &amp;#160; state 0x0, keycode 117 (keysym 0xff56, Next), same_screen YES,&#13;
&amp;#160; &amp;#160; XLookupString gives 0 bytes: &#13;
&amp;#160; &amp;#160; XFilterEvent returns: False&#13;
&amp;#160;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
 &lt;/div&gt;
 &lt;div class="phork-meta"&gt;
  &lt;a href="https://p.cweiske.de/154/rev-raw/2a43370b7b3e4529c9779d9fe83026df516398c8/z-xev-problem-pressing-pagedown.log" style="float: right"&gt;view raw source&lt;/a&gt;
  &lt;a href="https://p.cweiske.de/154#z-xev-problem-pressing-pagedown.log"&gt;z-xev-problem-pressing-pagedown.log&lt;/a&gt;
 &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</html></oembed>
