[parisc-linux-cvs] HIL keymap and driver update
Helge Deller
deller@gmx.de
Wed, 27 Jun 2001 20:38:32 +0200
--------------Boundary-00=_8GQLRAKN3Y90MJL2EK4O
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Subject:
--------------Boundary-00=_8GQLRAKN3Y90MJL2EK4O
Content-Type: text/x-diff;
charset="iso-8859-1";
name="diff"
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; filename="diff"
Index: hilkbd.c
===================================================================
RCS file: /home/cvs/parisc/linux/drivers/char/hilkbd.c,v
retrieving revision 1.8
diff -u -r1.8 hilkbd.c
--- hilkbd.c 2000/11/16 20:37:43 1.8
+++ hilkbd.c 2001/06/27 18:29:36
@@ -16,6 +16,7 @@
#include <linux/kbd_ll.h>
#include <linux/ioport.h>
#include <linux/config.h>
+#include <linux/init.h>
#include <asm/io.h>
#include <asm/ptrace.h>
#include <asm/irq.h>
@@ -67,155 +68,225 @@
#define HIL_READLPCTRL 0xFB
#define HIL_WRITELPCTRL 0xEB
-#define plain_map hp_plain_map
-#define shift_map hp_shift_map
-#define altgr_map hp_altgr_map
-#define ctrl_map hp_ctrl_map
-#define shift_ctrl_map hp_shift_ctrl_map
-#define alt_map hp_alt_map
-#define ctrl_alt_map hp_ctrl_alt_map
+#define plain_map __initdata hp_plain_map
+#define shift_map __initdata hp_shift_map
+#define altgr_map __initdata hp_altgr_map
+#define shift_altgr_map __initdata hp_shift_altgr_map
+#define ctrl_map __initdata hp_ctrl_map
+#define shift_ctrl_map __initdata hp_shift_ctrl_map
+#define alt_map __initdata hp_alt_map
+#define shift_alt_map __initdata hp_shift_alt_map
+#define ctrl_alt_map __initdata hp_ctrl_alt_map
u_short plain_map[NR_KEYS] = {
- 0xf200, 0xf200, 0xf703, 0xf703, 0xf700, 0xf700, 0xf702, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf205,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf30c,
+ 0xf301, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf300, 0xf200,
0xfb62, 0xfb76, 0xfb63, 0xfb78, 0xfb7a, 0xf200, 0xf200, 0xf01b,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf109, 0xf200, 0xf10a, 0xf200, 0xf108, 0xf200, 0xf10b,
0xfb68, 0xfb67, 0xfb66, 0xfb64, 0xfb73, 0xfb61, 0xf200, 0xf207,
0xfb75, 0xfb79, 0xfb74, 0xfb72, 0xfb65, 0xfb77, 0xfb71, 0xf009,
0xf037, 0xf036, 0xf035, 0xf034, 0xf033, 0xf032, 0xf031, 0xf060,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf103, 0xf102, 0xf101, 0xf100, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf103, 0xf102, 0xf101, 0xf100, 0xf200, 0xf209, 0xf200,
0xf200, 0xf104, 0xf105, 0xf106, 0xf107, 0xf200, 0xf200, 0xf200,
- 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf008, 0xf200, 0xf200,
- 0xfb69, 0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf05c, 0xf200, 0xf200,
- 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b, 0xf027, 0xf201, 0xf200, 0xf200,
- 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf07f, 0xf200, 0xf200,
+ 0xfb69, 0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf05c, 0xf115, 0xf116,
+ 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b, 0xf027, 0xf201, 0xf114, 0xf118,
+ 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf200, 0xf117, 0xf200, 0xf119,
0xfb6e, 0xf020, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
};
-u_short shift_map[NR_KEYS] = {
- 0xf200, 0xf200, 0xf703, 0xf703, 0xf700, 0xf700, 0xf702, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xfb42, 0xfb56, 0xfb43, 0xfb58, 0xfb5a, 0xf200, 0xf200, 0xf07f,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+static u_short shift_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf003,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208,
+ 0xf301, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf300, 0xf200,
+ 0xfb42, 0xfb56, 0xfb43, 0xfb58, 0xfb5a, 0xf200, 0xf200, 0xf87f,
+ 0xf200, 0xf11f, 0xf200, 0xf120, 0xf200, 0xf11e, 0xf200, 0xf121,
0xfb48, 0xfb47, 0xfb46, 0xfb44, 0xfb53, 0xfb41, 0xf200, 0xf207,
0xfb55, 0xfb59, 0xfb54, 0xfb52, 0xfb45, 0xfb57, 0xfb51, 0xf009,
0xf026, 0xf05e, 0xf025, 0xf024, 0xf023, 0xf040, 0xf021, 0xf07e,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf103, 0xf102, 0xf101, 0xf100, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf104, 0xf105, 0xf106, 0xf107, 0xf200, 0xf200, 0xf200,
- 0xf02a, 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf200, 0xf200, 0xf200,
- 0xfb49, 0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf07c, 0xf200, 0xf200,
- 0xfb4a, 0xfb4b, 0xfb4c, 0xf03a, 0xf022, 0xf201, 0xf200, 0xf200,
- 0xfb4d, 0xf03c, 0xf03e, 0xf03f, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf10f, 0xf10e, 0xf10d, 0xf10c, 0xf200, 0xf209, 0xf200,
+ 0xf203, 0xf110, 0xf111, 0xf112, 0xf113, 0xf200, 0xf200, 0xf200,
+ 0xf02a, 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf07f, 0xf200, 0xf200,
+ 0xfb49, 0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf07c, 0xf115, 0xf116,
+ 0xfb4a, 0xfb4b, 0xfb4c, 0xf03a, 0xf022, 0xf201, 0xf114, 0xf118,
+ 0xfb4d, 0xf03c, 0xf03e, 0xf03f, 0xf200, 0xf117, 0xf200, 0xf119,
0xfb4e, 0xf020, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
};
-u_short altgr_map[NR_KEYS] = {
- 0xf200, 0xf200, 0xf703, 0xf703, 0xf700, 0xf700, 0xf702, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xfb62, 0xfb76, 0xfb63, 0xfb78, 0xfb7a, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xfb68, 0xfb67, 0xfb66, 0xfb64, 0xfb73, 0xfb61, 0xf200, 0xf207,
- 0xfb75, 0xfb79, 0xfb74, 0xfb72, 0xfb65, 0xfb77, 0xfb71, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf040, 0xf021, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf103, 0xf102, 0xf101, 0xf100, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf104, 0xf105, 0xf106, 0xf107, 0xf200, 0xf200, 0xf200,
- 0xf02a, 0xf05b, 0xf05d, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xfb69, 0xfb6f, 0xfb70, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xfb6a, 0xfb6b, 0xfb6c, 0xf200, 0xf200, 0xf201, 0xf200, 0xf200,
- 0xfb6d, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xfb6e, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
+static u_short altgr_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf205,
+ 0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf05c, 0xf200, 0xf200, 0xf30c,
+ 0xf90b, 0xfb77, 0xf918, 0xfb72, 0xfb74, 0xfb79, 0xf90a, 0xfb69,
+ 0xfb6f, 0xfb70, 0xf200, 0xf07e, 0xf201, 0xf702, 0xf914, 0xf01b,
+ 0xf917, 0xf515, 0xfb67, 0xf516, 0xfb6a, 0xf514, 0xfb6c, 0xf517,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xfb7a, 0xfb78, 0xf916, 0xf207,
+ 0xf915, 0xfb6e, 0xfb6d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf009,
+ 0xf703, 0xf200, 0xf207, 0xf50c, 0xf50d, 0xf50e, 0xf50f, 0xf510,
+ 0xf511, 0xf512, 0xf513, 0xf514, 0xf515, 0xf208, 0xf202, 0xf911,
+ 0xf200, 0xf50f, 0xf50e, 0xf50d, 0xf50c, 0xf910, 0xf209, 0xf90b,
+ 0xf202, 0xf510, 0xf511, 0xf512, 0xf513, 0xf200, 0xf07c, 0xf516,
+ 0xf517, 0xf200, 0xf200, 0xf200, 0xf200, 0xf008, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf115, 0xf116,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf201, 0xf114, 0xf118,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf117, 0xf311, 0xf119,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
};
-u_short ctrl_map[NR_KEYS] = {
- 0xf200, 0xf200, 0xf703, 0xf703, 0xf700, 0xf700, 0xf702, 0xf200,
+static u_short shift_altgr_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf30c,
+ 0xf301, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf300, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf01b,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf207,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf002, 0xf016, 0xf003, 0xf018, 0xf01a, 0xf200, 0xf200, 0xf200,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf008, 0xf007, 0xf006, 0xf004, 0xf013, 0xf001, 0xf200, 0xf207,
- 0xf015, 0xf019, 0xf014, 0xf012, 0xf005, 0xf017, 0xf011, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf000,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf503, 0xf502, 0xf501, 0xf500, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf504, 0xf505, 0xf506, 0xf507, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf209, 0xf200,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf009, 0xf00f, 0xf010, 0xf200, 0xf200, 0xf01c, 0xf200, 0xf200,
- 0xf00a, 0xf00b, 0xf00c, 0xf200, 0xf007, 0xf201, 0xf200, 0xf200,
- 0xf00d, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf00e, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf115, 0xf116,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf201, 0xf114, 0xf118,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf117, 0xf200, 0xf119,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
};
-u_short shift_ctrl_map[NR_KEYS] = {
- 0xf200, 0xf200, 0xf703, 0xf703, 0xf700, 0xf700, 0xf702, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf002, 0xf016, 0xf003, 0xf018, 0xf01a, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+static u_short ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf205,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf30c,
+ 0xf301, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf300, 0xf200,
+ 0xf002, 0xf016, 0xf003, 0xf018, 0xf01a, 0xf200, 0xf200, 0xf01b,
+ 0xf200, 0xf12b, 0xf200, 0xf12c, 0xf200, 0xf12a, 0xf200, 0xf12d,
0xf008, 0xf007, 0xf006, 0xf004, 0xf013, 0xf001, 0xf200, 0xf207,
- 0xf015, 0xf019, 0xf014, 0xf012, 0xf005, 0xf017, 0xf011, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf103, 0xf102, 0xf101, 0xf100, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf104, 0xf105, 0xf106, 0xf107, 0xf200, 0xf200, 0xf200,
+ 0xf015, 0xf019, 0xf014, 0xf012, 0xf005, 0xf017, 0xf011, 0xf009,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf000,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf009, 0xf00f, 0xf010, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf00a, 0xf00b, 0xf00c, 0xf200, 0xf200, 0xf201, 0xf200, 0xf200,
- 0xf00d, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf125, 0xf124, 0xf123, 0xf122, 0xf200, 0xf209, 0xf200,
+ 0xf204, 0xf126, 0xf127, 0xf128, 0xf129, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf008, 0xf200, 0xf200,
+ 0xf009, 0xf00f, 0xf010, 0xf200, 0xf200, 0xf01c, 0xf115, 0xf116,
+ 0xf00a, 0xf00b, 0xf00c, 0xf200, 0xf007, 0xf201, 0xf114, 0xf118,
+ 0xf00d, 0xf200, 0xf200, 0xf200, 0xf200, 0xf117, 0xf200, 0xf119,
0xf00e, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
};
-u_short alt_map[NR_KEYS] = {
- 0xf200, 0xf200, 0xf703, 0xf703, 0xf700, 0xf700, 0xf702, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf862, 0xf876, 0xf863, 0xf878, 0xf87a, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf868, 0xf867, 0xf866, 0xf864, 0xf873, 0xf861, 0xf200, 0xf207,
- 0xf875, 0xf879, 0xf874, 0xf872, 0xf865, 0xf877, 0xf871, 0xf809,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf860,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf103, 0xf102, 0xf101, 0xf100, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf104, 0xf105, 0xf106, 0xf107, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf869, 0xf86f, 0xf870, 0xf200, 0xf200, 0xf85c, 0xf200, 0xf200,
- 0xf86a, 0xf86b, 0xf86c, 0xf83b, 0xf827, 0xf201, 0xf200, 0xf200,
- 0xf86d, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf86e, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
+static u_short shift_ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf205,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf30c,
+ 0xf301, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf300, 0xf009,
+ 0xf00f, 0xf010, 0xf200, 0xf200, 0xf201, 0xf702, 0xf001, 0xf01b,
+ 0xf004, 0xf109, 0xf007, 0xf10a, 0xf00a, 0xf108, 0xf00c, 0xf10b,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf01a, 0xf018, 0xf003, 0xf207,
+ 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf009,
+ 0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
+ 0xf200, 0xf103, 0xf102, 0xf101, 0xf100, 0xf306, 0xf209, 0xf301,
+ 0xf302, 0xf104, 0xf105, 0xf106, 0xf107, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf008, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf115, 0xf116,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf201, 0xf114, 0xf118,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf117, 0xf311, 0xf119,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
};
-u_short ctrl_alt_map[NR_KEYS] = {
- 0xf200, 0xf200, 0xf703, 0xf703, 0xf700, 0xf700, 0xf702, 0xf200,
+static u_short altgr_ctrl_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf205,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf30c,
+ 0xf301, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf300, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf01b,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf207,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf009,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf802, 0xf816, 0xf803, 0xf818, 0xf81a, 0xf200, 0xf200, 0xf200,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf808, 0xf807, 0xf806, 0xf804, 0xf813, 0xf801, 0xf200, 0xf207,
- 0xf815, 0xf819, 0xf814, 0xf812, 0xf805, 0xf817, 0xf811, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf209, 0xf200,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf103, 0xf102, 0xf101, 0xf100, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf104, 0xf105, 0xf106, 0xf107, 0xf200, 0xf200, 0xf200,
- 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf809, 0xf80f, 0xf810, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf80a, 0xf80b, 0xf80c, 0xf200, 0xf200, 0xf201, 0xf200, 0xf200,
- 0xf80d, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
- 0xf80e, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf115, 0xf20c,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf201, 0xf114, 0xf118,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf117, 0xf200, 0xf119,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
+};
+
+static u_short alt_map[NR_KEYS] = {
+ 0xf200, 0xf81b, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf205,
+ 0xf837, 0xf838, 0xf839, 0xf830, 0xf82d, 0xf83d, 0xf87f, 0xf30c,
+ 0xf901, 0xf877, 0xf865, 0xf872, 0xf874, 0xf879, 0xf900, 0xf869,
+ 0xf86f, 0xf870, 0xf85b, 0xf85d, 0xf80d, 0xf702, 0xf861, 0xf81b,
+ 0xf864, 0xf509, 0xf867, 0xf50a, 0xf86a, 0xf508, 0xf86c, 0xf50b,
+ 0xf827, 0xf860, 0xf700, 0xf85c, 0xf87a, 0xf878, 0xf863, 0xf207,
+ 0xf862, 0xf86e, 0xf86d, 0xf82c, 0xf82e, 0xf82f, 0xf700, 0xf809,
+ 0xf703, 0xf820, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
+ 0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf209, 0xf907,
+ 0xf200, 0xf503, 0xf502, 0xf501, 0xf500, 0xf906, 0xf209, 0xf901,
+ 0xf902, 0xf504, 0xf505, 0xf506, 0xf507, 0xf200, 0xf83c, 0xf50a,
+ 0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf87f, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf115, 0xf116,
+ 0xf118, 0xf210, 0xf211, 0xf117, 0xf600, 0xf80d, 0xf114, 0xf20b,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf117, 0xf311, 0xf20a,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf210, 0xf600, 0xf212, 0xf211,
+};
+
+static u_short shift_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf205,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf30c,
+ 0xf301, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf300, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf81b,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf207,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf809,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf209, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf87f, 0xf200, 0xf200,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf115, 0xf116,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf201, 0xf114, 0xf118,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf117, 0xf200, 0xf119,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
};
+static u_short ctrl_alt_map[NR_KEYS] = {
+ 0xf200, 0xf200, 0xf701, 0xf703, 0xf700, 0xf700, 0xf702, 0xf205,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf30c,
+ 0xf301, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf300, 0xf809,
+ 0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf702, 0xf801, 0xf01b,
+ 0xf804, 0xf509, 0xf807, 0xf50a, 0xf80a, 0xf508, 0xf80c, 0xf50b,
+ 0xf200, 0xf200, 0xf700, 0xf200, 0xf81a, 0xf818, 0xf803, 0xf207,
+ 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf009,
+ 0xf703, 0xf200, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
+ 0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf200, 0xf307,
+ 0xf200, 0xf503, 0xf502, 0xf501, 0xf500, 0xf306, 0xf209, 0xf301,
+ 0xf302, 0xf504, 0xf505, 0xf506, 0xf507, 0xf200, 0xf200, 0xf50a,
+ 0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf008, 0xf200, 0xf200,
+ 0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf115, 0xf20c,
+ 0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf201, 0xf114, 0xf118,
+ 0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf117, 0xf311, 0xf119,
+ 0xf200, 0xf200, 0xf200, 0xf200, 0xf601, 0xf600, 0xf603, 0xf602,
+};
#undef plain_map
-#undef ctrl_alt_map
#undef shift_map
#undef altgr_map
+#undef shift_altgr_map
#undef ctrl_map
#undef shift_ctrl_map
#undef alt_map
+#undef shift_alt_map
+#undef ctrl_alt_map
+
+
+/* standard HP specific HIL keymaps */
+static ushort * __initdata hp_key_maps[MAX_NR_KEYMAPS] = {
+ hp_plain_map, hp_shift_map, hp_altgr_map, hp_shift_altgr_map,
+ hp_ctrl_map, hp_shift_ctrl_map, 0, 0,
+ hp_alt_map, hp_shift_alt_map, 0, 0,
+ hp_ctrl_alt_map, 0
+};
+
struct {
unsigned char s, c;
int valid;
@@ -285,9 +356,6 @@
break;
case 0x6:
handle_data(s, c);
-#if 0
-printk("HILKEYB: %d %d %c\n",(int)s,(int)c,c);
-#endif
break;
case 0x4:
hil_last.s = s;
@@ -318,7 +386,6 @@
#if defined(CONFIG_PARISC)
-
extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode);
extern int pckbd_getkeycode(unsigned int scancode);
extern int pckbd_pretranslate(unsigned char scancode, char raw_mode);
@@ -348,7 +415,6 @@
static struct kbd_ops hil_kbd_ops = {
setkeycode: pckbd_setkeycode,
getkeycode: pckbd_getkeycode,
-// pretranslate: pckbd_pretranslate,
translate: def_translate, // pckbd_translate, /* ?? */
unexpected_up: def_unexpected_up, // pckbd_unexpected_up,
leds: def_leds, /* do we have LED's on HIL ? - me not ! */
@@ -357,7 +423,7 @@
#ifdef CONFIG_MAGIC_SYSRQ
sysrq_key: 0x54,
sysrq_xlate: hp_ps2kbd_sysrq_xlate,
-#endif
+#endif /* CONFIG_MAGIC_SYSRQ */
};
#endif /* CONFIG_PARISC */
@@ -398,11 +464,12 @@
}
kbid = ffz(~c);
- printk("HIL: keyboard found at id %d\n", kbid);
+ printk(KERN_INFO "HIL: keyboard found at id %d\n", kbid);
- memcpy(key_maps[0], hp_plain_map, sizeof(plain_map));
- memcpy(key_maps[1], hp_shift_map, sizeof(plain_map));
- memcpy(key_maps[4], hp_ctrl_map, sizeof(plain_map));
+ for (n=0; n<MAX_NR_KEYMAPS; n++)
+ if (key_maps[n] && hp_key_maps[n])
+ memcpy(key_maps[n], hp_key_maps[n], sizeof(plain_map));
+ printk(KERN_INFO "HIL: keymap loaded.\n");
#if defined(CONFIG_PARISC)
register_kbd_ops(&hil_kbd_ops);
--------------Boundary-00=_8GQLRAKN3Y90MJL2EK4O--