[PATCH] Unisys pc keyboard new keys patch, kernel 2.4.3

Jan Dvorak
2001-04-13T13:03:48Z

[-- Attachment #1: Type: text/plain, Size: 601 bytes --]

Hi,

i recently met with a new (Unisys) keyboard, which have (among 'normal'
windows keys) 3 more keys on top of arrows, labeled by pictures as
halfsun, halfmoon, and power switch. Following patch adds 'support' for them
(or at least gets rid of 'unknown scancode' messages), but beacuse i am
new to kernl programming, i don't know if it is the right approach. If it'll
be OK, it should apply to drivers/char/q40_keyb.c, drivers/sbus/char/sunkbd.c
and drivers/sbus/char/pcikbd.c as well. I found no maintainer of charaacter
devices/keyboards/input, so i am posting here.

Jan Dvorak <johnydog@go.cz>

[-- Attachment #2: unikey.patch --]
[-- Type: text/plain, Size: 1245 bytes --]

--- linux/drivers/char/pc_keyb.c.orig Mon Apr 9 13:58:31 2001
+++ linux/drivers/char/pc_keyb.c Fri Apr 13 13:34:05 2001
@@ -224,6 +224,15 @@
#define E0_MSRW 126
#define E0_MSTM 127

+/*
+ * Another new microsoft (Unikey) keyboard seems to have just another
+ * three keys: e0 63 (half- or rising- sun), e0 5f (halfmoon)
+ * and e0 5e (power button?)
+ */
+#define E0_MSPOWER 128
+#define E0_MSHALFMOON 129
+#define E0_MSHALFSUN 130
+
static unsigned char e0_keys[128] = {
0, 0, 0, 0, 0, 0, 0, 0, /* 0x00-0x07 */
0, 0, 0, 0, 0, 0, 0, 0, /* 0x08-0x0f */
@@ -236,8 +245,8 @@
E0_DO, E0_F17, 0, 0, 0, 0, E0_BREAK, E0_HOME, /* 0x40-0x47 */
E0_UP, E0_PGUP, 0, E0_LEFT, E0_OK, E0_RIGHT, E0_KPMINPLUS, E0_END,/* 0x48-0x4f */
E0_DOWN, E0_PGDN, E0_INS, E0_DEL, 0, 0, 0, 0, /* 0x50-0x57 */
- 0, 0, 0, E0_MSLW, E0_MSRW, E0_MSTM, 0, 0, /* 0x58-0x5f */
- 0, 0, 0, 0, 0, 0, 0, 0, /* 0x60-0x67 */
+ 0, 0, 0, E0_MSLW, E0_MSRW, E0_MSTM, E0_MSPOWER, E0_MSHALFMOON,/* 0x58-0x5f */
+ 0, 0, 0, E0_MSHALFSUN, 0, 0, 0, 0, /* 0x60-0x67 */
0, 0, 0, 0, 0, 0, 0, E0_MACRO, /* 0x68-0x6f */
0, 0, 0, 0, 0, 0, 0, 0, /* 0x70-0x77 */
0, 0, 0, 0, 0, 0, 0, 0 /* 0x78-0x7f */