--- a/keyboard.rc Thu Jun 20 00:31:48 1996 +0200
+++ b/keyboard.rc Wed Jul 03 00:21:49 1996 +0200
@@ -235,43 +235,116 @@
map bindValue:#Menu to:#Cmdz.
-"
- * on some german keyboards, the x-server does NOT correctly
- * xlate characters ....
+"*
+ * ISO LATIN 1 symbolic characters - map to iso8859 values
+ * not all Xservers send those correctly.
+ * As a fall back, dieresis mappings using Alt-key sequences are found at
+ * the end.
*"
-"
-map bindValue:$[ to:#'Alt['.
-map bindValue:$] to:#'Alt]'.
-map bindValue:${ to:#'Alt{'.
-map bindValue:$} to:#'Alt}'.
-map bindValue:$\ to:#'Alt\'.
-map bindValue:$| to:#'Alt|'.
-"
+
+#(
+ "/ dieresis characters
+
+ Udiaeresis 16rDC
+ Adiaeresis 16rC4
+ Odiaeresis 16rD6
+ udiaeresis 16rFC
+ adiaeresis 16rE4
+ odiaeresis 16rF6
+ ydiaeresis 16rFF
+
+ "/ grave
+
+ Agrave 16rC0
+ Egrave 16rC8
+ Igrave 16rCC
+ Ograve 16rCC
+ Ugrave 16rD9
+ agrave 16rE0
+ egrave 16rE8
+ igrave 16rEC
+ ograve 16rF2
+ ugrave 16rF9
+
+ "/ acute
+
+ Aacute 16rC1
+ Eacute 16rC9
+ Iacute 16rCD
+ Oacute 16rD3
+ Uacute 16rDA
+ Yacute 16rDD
+ aacute 16rE1
+ eacute 16rE9
+ iacute 16rED
+ oacute 16rF3
+ uacute 16rFA
+ yacute 16rFD
+
+ "/ circumflex
+
+ Acircumflex 16rC2
+ Ecircumflex 16rCA
+ Icircumflex 16rCE
+ Ocircumflex 16rD4
+ Ucircumflex 16rDB
+ acircumflex 16rE2
+ ecircumflex 16rEA
+ icircumflex 16rEE
+ ocircumflex 16rF4
+ ucircumflex 16rFB
+
+ "/ tilde
+
+ Atilde 16rC3
+ Ntilde 16rD1
+ atilde 16rE3
+ ntilde 16rF1
+
+ "/ ring
+
+ Aring 16rC4
+ aring 16rE4
+
+ "/ ligatures
+
+ AE 16rC5
+ ae 16rE5
+ ssharp 16rDF
+
+ "/ cedilla
+
+ Ccedilla 16rC7
+ ccedilla 16rE7
+
+ "/ slashed
+
+ Ooblique 16rD8
+ oslash 16rF8
+
+ "/ misc (if on your keyboard)
+
+ Eth 16rD0 "/ some old servers still use this
+ ETH 16rD0
+ eth 16rF0
+ multiply 16rD7
+ Thorn 16rDE "/ some old servers still use this
+ THORN 16rDE "/ some old servers still use this
+ division 16rF7
+ thorn 16rFE
+
+ section 16rA7
+ degree 16rB0
+ twosuperior 16rB2
+ threesuperior 16rB3
+ mu 16rB5
+) pairWiseDo:[:symbolic :numeric |
+ map bindValue:(Character value:numeric) to:symbolic.
+].
"*
- * international characters - map to iso8859 values
+ * need more here (katakana, arabic, cyrillic, greek etc.)
*"
-map bindValue:(Character value:16rFC) to:#udiaeresis.
-map bindValue:(Character value:16rE4) to:#adiaeresis.
-map bindValue:(Character value:16rF6) to:#odiaeresis.
-map bindValue:(Character value:16rDC) to:#Udiaeresis.
-map bindValue:(Character value:16rC4) to:#Adiaeresis.
-map bindValue:(Character value:16rD6) to:#Odiaeresis.
-map bindValue:(Character value:16rDF) to:#ssharp.
-
-"*
- * need more here (french ...)
- *"
-
-"*
- * misc characters (if your keyboard supports them)
- *"
-map bindValue:(Character value:16rA7) to:#section.
-map bindValue:(Character value:16rB0) to:#degree.
-map bindValue:(Character value:16rB2) to:#twosuperior.
-map bindValue:(Character value:16rB3) to:#threesuperior.
-map bindValue:(Character value:16rB5) to:#mu.
-
"*
* numeric keypad - binding to normal numeric keys
@@ -353,20 +426,26 @@
"/
"/ german national characters on a US keyboard:
"/
-map bindValue:(Character value:16rFC) to:#'Cmd['.
-map bindValue:(Character value:16rE4) to:#'Cmd'''.
-map bindValue:(Character value:16rF6) to:#'Cmd;'.
-map bindValue:(Character value:16rDC) to:#'Cmd{'.
-map bindValue:(Character value:16rC4) to:#'Cmd"'.
-map bindValue:(Character value:16rD6) to:#'Cmd:'.
-map bindValue:(Character value:16rDF) to:#'Cmd-'.
+map bindValue:(Character value:16rFC) to:#'Cmd['. "/ u dieresis
+map bindValue:(Character value:16rE4) to:#'Cmd'''. "/ a dieresis
+map bindValue:(Character value:16rF6) to:#'Cmd;'. "/ o dieresis
+map bindValue:(Character value:16rDC) to:#'Cmd{'. "/ U dieresis
+map bindValue:(Character value:16rC4) to:#'Cmd"'. "/ A dieresis
+map bindValue:(Character value:16rD6) to:#'Cmd:'. "/ O dieresis
+map bindValue:(Character value:16rDF) to:#'Cmd-'. "/ s-sharp
+
"/
-"/ US characters on german keyboard:
+"/ US characters on national keyboards:
+"/ (on many national keyboards, the x-server does NOT correctly
+"/ xlate characters .... on others, it does and you may remove/comment
+"/ the following.)
"/
map bindValue:$[ to:#'Alt['.
map bindValue:$] to:#'Alt]'.
map bindValue:$| to:#'Alt|'.
map bindValue:${ to:#'Alt{'.
map bindValue:$} to:#'Alt}'.
+map bindValue:$\ to:#'Alt\'.
+
!