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