115 lines
3.3 KiB
Diff
115 lines
3.3 KiB
Diff
From: mper@uipsuxb.ps.uiuc.edu (Michael Pereckas)
|
|
|
|
This patch for linux/kernel/chr_drv/keyboard.S does two things: it
|
|
causes the ./del key on the keypad to produce a period, instead of a
|
|
comma, and it adds a Dvorak keyboard.
|
|
|
|
The first change will probably appeal to US users. Others may prefer
|
|
the comma. If there is a lot of difference of opinion on this, maybe
|
|
num_table should be moved into the national keyboard definitions. The
|
|
second change is great if you, like me, like the Dvorak keyboard
|
|
layout. Unfortunatly, the only way to change keyboards is to reboot
|
|
with a different kernel, so the Dvorak keyboard is a problem is more
|
|
than one person use the machine and they don't all know Dvorak. (this
|
|
only effects the console, serial port connections are uneffected.)
|
|
|
|
I post this on the off chance that someone is interested. If you
|
|
choose to use this, remember that although it seems to work fine for
|
|
me, this is an example of "programming by meta-w", that is, I copied
|
|
the US keyboard definition (using the emacs command meta-w) and
|
|
modified it, without really understanding it.
|
|
|
|
|
|
This patch is for linux/kernel/chr_drv/keyboard.S
|
|
It works for all the 0.95* versions, I think (!)
|
|
********** CUT HERE **********
|
|
*** keyboard.S.ori Wed Apr 8 16:57:58 1992
|
|
--- keyboard.S Wed Apr 8 17:03:10 1992
|
|
***************
|
|
*** 18,23 ****
|
|
--- 18,24 ----
|
|
* KBD_FR for Frech keyboard
|
|
* KBD_UK for British extended keyboard
|
|
* KBD_DK for Danish keyboard
|
|
+ * KBD_DVORAK for Dvorak (US) keyboard
|
|
*/
|
|
|
|
.text
|
|
***************
|
|
*** 251,257 ****
|
|
.ascii "789-456+1230."
|
|
#else
|
|
num_table:
|
|
! .ascii "789-456+1230,"
|
|
#endif
|
|
cur_table:
|
|
.ascii "HA5-DGC+YB623"
|
|
--- 252,258 ----
|
|
.ascii "789-456+1230."
|
|
#else
|
|
num_table:
|
|
! .ascii "789-456+1230."
|
|
#endif
|
|
cur_table:
|
|
.ascii "HA5-DGC+YB623"
|
|
***************
|
|
*** 611,616 ****
|
|
--- 612,667 ----
|
|
.byte 0,0,0,0,0 /* 4A-4E */
|
|
.byte 0,0,0,0,0,0,0 /* 4F-55 */
|
|
.ascii "\\"
|
|
+ .fill 10,1,0
|
|
+
|
|
+ #elif defined(KBD_DVORAK)
|
|
+
|
|
+ key_map:
|
|
+ .byte 0,27
|
|
+ .ascii "1234567890\\="
|
|
+ .byte 127,9
|
|
+ .ascii "',.pyfgcrl/]"
|
|
+ .byte 13,0
|
|
+ .ascii "aoeuidhtns-"
|
|
+ .byte '`,0
|
|
+ .ascii "[;qjkxbmwvz"
|
|
+ .byte 0,'*,0,32 /* 36-39 */
|
|
+ .fill 16,1,0 /* 3A-49 */
|
|
+ .byte '-,0,0,0,'+ /* 4A-4E */
|
|
+ .byte 0,0,0,0,0,0,0 /* 4F-55 */
|
|
+ .byte '<
|
|
+ .fill 10,1,0
|
|
+
|
|
+ shift_map:
|
|
+ .byte 0,27
|
|
+ .ascii "!@#$%^&*()|+"
|
|
+ .byte 127,9
|
|
+ .ascii "\"<>PYFGCRL?}"
|
|
+ .byte 13,0
|
|
+ .ascii "AOEUIDHTNS_"
|
|
+ .byte '~,0
|
|
+ .ascii "{:QJKXBMWVZ"
|
|
+ .byte 0,'*,0,32 /* 36-39 */
|
|
+ .fill 16,1,0 /* 3A-49 */
|
|
+ .byte '-,0,0,0,'+ /* 4A-4E */
|
|
+ .byte 0,0,0,0,0,0,0 /* 4F-55 */
|
|
+ .byte '>
|
|
+ .fill 10,1,0
|
|
+
|
|
+ alt_map:
|
|
+ .byte 0,0
|
|
+ .ascii "\0@\0$\0\0{[]}\\\0"
|
|
+ .byte 0,0
|
|
+ .byte 0,0,0,0,0,0,0,0,0,0,0
|
|
+ .byte '~,13,0
|
|
+ .byte 0,0,0,0,0,0,0,0,0,0,0
|
|
+ .byte 0,0
|
|
+ .byte 0,0,0,0,0,0,0,0,0,0,0
|
|
+ .byte 0,0,0,0 /* 36-39 */
|
|
+ .fill 16,1,0 /* 3A-49 */
|
|
+ .byte 0,0,0,0,0 /* 4A-4E */
|
|
+ .byte 0,0,0,0,0,0,0 /* 4F-55 */
|
|
+ .byte '|
|
|
.fill 10,1,0
|
|
|
|
#else
|
|
|