diff -urN -X /home/arm/dontdiff_tml_arm /home/download/kernels/linux-2.4.19-rmk2-vanilla/drivers/char/keymap_psion_fr.c linux-2.4.19-rmk2/drivers/char/keymap_psion_fr.c
diff -urN -X /home/arm/dontdiff_tml_arm /home/download/kernels/linux-2.4.19-rmk2-vanilla/drivers/char/keymap_psion_fr.c linux-2.4.19-rmk2/drivers/char/keymap_psion_fr.c
--- /home/download/kernels/linux-2.4.19-rmk2-vanilla/drivers/char/keymap_psion_fr.c	1969-12-31 16:00:00.000000000 -0800
+++ linux-2.4.19-rmk2/drivers/char/keymap_psion_fr.c	2002-10-06 15:11:34.000000000 -0700
@@ -0,0 +1,269 @@
+/* Do not edit this file! It was automatically generated by   */
+/*    loadkeys --mktable defkeymap.map > defkeymap.c          */
+
+#include <linux/types.h>
+#include <linux/keyboard.h>
+#include <linux/kd.h>
+
+u_short plain_map[NR_KEYS] = {
+	0xf200,	0xf029,	0xf028,	0xf027,	0xf022,	0xf0e9,	0xf026,	0xf10c,
+	0xf200,	0xfb6d,	0xf07f,	0xf0e0,	0xf0e7,	0xf05f,	0xf0e9,	0xf10e,
+	0xf200,	0xfb79,	0xfb74,	0xfb72,	0xfb65,	0xfb7a,	0xfb61,	0xf01b,
+	0xf200,	0xf201,	0xfb6c,	0xfb70,	0xfb6f,	0xfb69,	0xfb75,	0xfc03,
+	0xf200,	0xfb67,	0xfb66,	0xfb64,	0xfb73,	0xfb71,	0xf009,	0xfc02,
+	0xf200,	0xf600,	0xf03b,	0xf02c,	0xfb6b,	0xfb6a,	0xfb68,	0xfc01,
+	0xf200,	0xfb6e,	0xfb62,	0xfb76,	0xfb63,	0xfb78,	0xfb77,	0xfc00,
+	0xf200,	0xf602,	0xf601,	0xf03a,	0xf603,	0xf020,	0xf10d,	0xfc00,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short shift_map[NR_KEYS] = {
+	0xf200,	0xf036,	0xf035,	0xf034,	0xf033,	0xf032,	0xf031,	0xf10c,
+	0xf200,	0xfb4d,	0xf07f,	0xf030,	0xf039,	0xf038,	0xf037,	0xf10e,
+	0xf200,	0xfb59,	0xfb54,	0xfb52,	0xfb45,	0xfb5a,	0xfb41,	0xf01b,
+	0xf200,	0xf201,	0xfb4c,	0xfb50,	0xfb4f,	0xfb49,	0xfb55,	0xfc03,
+	0xf200,	0xfb47,	0xfb46,	0xfb44,	0xfb53,	0xfb51,	0xf009,	0xfc02,
+	0xf200,	0xf20b,	0xf02e,	0xf03f,	0xfb4b,	0xfb4a,	0xfb48,	0xfc01,
+	0xf200,	0xfb4e,	0xfb42,	0xfb56,	0xfb43,	0xfb58,	0xfb57,	0xfc00,
+	0xf200,	0xf602,	0xf601,	0xf0b5,	0xf20a,	0xf020,	0xf10d,	0xfc00,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short altgr_map[NR_KEYS] = {
+	0xf200,	0xf024,	0xf0b0,	0xf403,	0xf023,	0xf025,	0xf021,	0xf10c,
+	0xf200,	0xf02d,	0xf07f,	0xf040,	0xf402,	0xf05c,	0xf0a3,	0xf10e,
+	0xf200,	0xf07d,	0xf07b,	0xf05d,	0xf05b,	0xf03e,	0xf03c,	0xff02,
+	0xf200,	0xf201,	0xf02b,	0xf03d,	0xf30c,	0xf07c,	0xf0f9,	0xfc03,
+	0xf200,	0xfb67,	0xfb66,	0xfb64,	0xfb73,	0xfb71,	0xf207,	0xfc02,
+	0xf200,	0xf119,	0xf02f,	0xf30c,	0xf30d,	0xff05,	0xff04,	0xfc01,
+	0xf200,	0xfb6e,	0xf402,	0xf403,	0xf027,	0xf060,	0xf404,	0xf02f,
+	0xf200,	0xf117,	0xf114,	0xf200,	0xf118,	0xff03,	0xf10d,	0xfc00,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short ctrl_map[NR_KEYS] = {
+	0xf200,	0xf01d,	0xf200,	0xf200,	0xf01b,	0xf200,	0xf200,	0xf10c,
+	0xf200,	0xf00d,	0xf07f,	0xf200,	0xf200,	0xf01c,	0xf200,	0xf10e,
+	0xf200,	0xf019,	0xf014,	0xf012,	0xf005,	0xf01a,	0xf001,	0xf200,
+	0xf200,	0xf201,	0xf00c,	0xf010,	0xf00f,	0xf009,	0xf015,	0xfc03,
+	0xf200,	0xf007,	0xf006,	0xf004,	0xf013,	0xf011,	0xf009,	0xfc02,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf00b,	0xf00a,	0xf008,	0xfc01,
+	0xf200,	0xf00e,	0xf002,	0xf016,	0xf003,	0xf018,	0xf017,	0xfc00,
+	0xf200,	0xf602,	0xf601,	0xf200,	0xf200,	0xf020,	0xf10d,	0xfc00,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short shift_ctrl_map[NR_KEYS] = {
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf10c,
+	0xf200,	0xf00d,	0xf07f,	0xf200,	0xf200,	0xf200,	0xf200,	0xf10e,
+	0xf200,	0xf019,	0xf014,	0xf012,	0xf005,	0xf01a,	0xf001,	0xf200,
+	0xf200,	0xf201,	0xf00c,	0xf010,	0xf00f,	0xf009,	0xf015,	0xfc03,
+	0xf200,	0xf007,	0xf006,	0xf004,	0xf013,	0xf011,	0xf009,	0xfc02,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf00b,	0xf00a,	0xf008,	0xfc01,
+	0xf200,	0xf00e,	0xf002,	0xf016,	0xf003,	0xf018,	0xf017,	0xfc00,
+	0xf200,	0xf602,	0xf601,	0xf200,	0xf200,	0xf020,	0xf10d,	0xfc00,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short alt_map[NR_KEYS] = {
+	0xf200,	0xf505,	0xf504,	0xf503,	0xf502,	0xf501,	0xf500,	0xf10c,
+	0xf200,	0xf86d,	0xf116,	0xf509,	0xf508,	0xf507,	0xf506,	0xf10e,
+	0xf200,	0xf879,	0xf874,	0xf872,	0xf865,	0xf87a,	0xf861,	0xf81b,
+	0xf200,	0xf201,	0xf86c,	0xf870,	0xf86f,	0xf869,	0xf875,	0xfc03,
+	0xf200,	0xf867,	0xf866,	0xf864,	0xf873,	0xf871,	0xf009,	0xfc02,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf86b,	0xf86a,	0xf868,	0xfc01,
+	0xf200,	0xf86e,	0xf862,	0xf876,	0xf863,	0xf878,	0xf877,	0xfc00,
+	0xf200,	0xf602,	0xf601,	0xf200,	0xf200,	0xf020,	0xf10d,	0xfc00,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+u_short ctrl_alt_map[NR_KEYS] = {
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf10c,
+	0xf200,	0xf80d,	0xf20c,	0xf200,	0xf200,	0xf200,	0xf200,	0xf10e,
+	0xf200,	0xf819,	0xf814,	0xf812,	0xf805,	0xf81a,	0xf801,	0xf200,
+	0xf200,	0xf201,	0xf80c,	0xf810,	0xf80f,	0xf809,	0xf815,	0xfc03,
+	0xf200,	0xf807,	0xf806,	0xf804,	0xf813,	0xf811,	0xf009,	0xfc02,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf80b,	0xf80a,	0xf808,	0xfc01,
+	0xf200,	0xff0b,	0xff0a,	0xff09,	0xff08,	0xff07,	0xff06,	0xfc00,
+	0xf200,	0xf602,	0xf601,	0xff01,	0xf200,	0xf020,	0xf10d,	0xfc00,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,	0xf200,
+};
+
+ushort *key_maps[MAX_NR_KEYMAPS] = {
+	plain_map, shift_map, altgr_map, 0,
+	ctrl_map, shift_ctrl_map, 0, 0,
+	alt_map, 0, 0, 0,
+	ctrl_alt_map,	0
+};
+
+unsigned int keymap_count = 7;
+
+/*
+ * Philosophy: most people do not define more strings, but they who do
+ * often want quite a lot of string space. So, we statically allocate
+ * the default and allocate dynamically in chunks of 512 bytes.
+ */
+
+char func_buf[] = {
+	0, 
+};
+
+char *funcbufptr = func_buf;
+int funcbufsize = sizeof(func_buf);
+int funcbufleft = 0;          /* space left */
+
+char *func_table[MAX_NR_FUNC] = {
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	0,
+	func_buf + 0,
+	0,
+};
+
+struct kbdiacr accent_table[MAX_DIACR] = {
+	{'`', 'A', '\300'},	{'`', 'a', '\340'},
+	{'\'', 'A', '\301'},	{'\'', 'a', '\341'},
+	{'^', 'A', '\302'},	{'^', 'a', '\342'},
+	{'~', 'A', '\303'},	{'~', 'a', '\343'},
+	{'"', 'A', '\304'},	{'"', 'a', '\344'},
+	{'O', 'A', '\305'},	{'o', 'a', '\345'},
+	{'0', 'A', '\305'},	{'0', 'a', '\345'},
+	{'A', 'A', '\305'},	{'a', 'a', '\345'},
+	{'A', 'E', '\306'},	{'a', 'e', '\346'},
+	{',', 'C', '\307'},	{',', 'c', '\347'},
+	{'`', 'E', '\310'},	{'`', 'e', '\350'},
+	{'\'', 'E', '\311'},	{'\'', 'e', '\351'},
+	{'^', 'E', '\312'},	{'^', 'e', '\352'},
+	{'"', 'E', '\313'},	{'"', 'e', '\353'},
+	{'`', 'I', '\314'},	{'`', 'i', '\354'},
+	{'\'', 'I', '\315'},	{'\'', 'i', '\355'},
+	{'^', 'I', '\316'},	{'^', 'i', '\356'},
+	{'"', 'I', '\317'},	{'"', 'i', '\357'},
+	{'-', 'D', '\320'},	{'-', 'd', '\360'},
+	{'~', 'N', '\321'},	{'~', 'n', '\361'},
+	{'`', 'O', '\322'},	{'`', 'o', '\362'},
+	{'\'', 'O', '\323'},	{'\'', 'o', '\363'},
+	{'^', 'O', '\324'},	{'^', 'o', '\364'},
+	{'~', 'O', '\325'},	{'~', 'o', '\365'},
+	{'"', 'O', '\326'},	{'"', 'o', '\366'},
+	{'/', 'O', '\330'},	{'/', 'o', '\370'},
+	{'`', 'U', '\331'},	{'`', 'u', '\371'},
+	{'\'', 'U', '\332'},	{'\'', 'u', '\372'},
+	{'^', 'U', '\333'},	{'^', 'u', '\373'},
+	{'"', 'U', '\334'},	{'"', 'u', '\374'},
+	{'\'', 'Y', '\335'},	{'\'', 'y', '\375'},
+	{'T', 'H', '\336'},	{'t', 'h', '\376'},
+	{'s', 's', '\337'},	{'"', 'y', '\377'},
+	{'s', 'z', '\337'},	{'i', 'j', '\377'},
+};
+
+unsigned int accent_table_size = 68;
