summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2000-10-06 22:13:40 +0000
committerKeith Packard <keithp@keithp.com>2000-10-06 22:13:40 +0000
commitfb8b58270fcaee236337d3818df04e651acbcea9 (patch)
tree42aeb59a9b63e55b659b868c4c4232c3e785b655 /hw
parent15d45ffbd9af5ccce07264d6182b2222c417a2a5 (diff)
kdrive: support jgs new linux keysyms
Diffstat (limited to 'hw')
-rw-r--r--hw/kdrive/linux/keyboard.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/hw/kdrive/linux/keyboard.c b/hw/kdrive/linux/keyboard.c
index f46591bf1..bfeee6377 100644
--- a/hw/kdrive/linux/keyboard.c
+++ b/hw/kdrive/linux/keyboard.c
@@ -26,6 +26,7 @@
#include "kkeymap.h"
#include <linux/keyboard.h>
#include <linux/kd.h>
+#define XK_PUBLISHING
#include <X11/keysym.h>
#include <termios.h>
@@ -330,6 +331,20 @@ readKernelMapping()
k[j] = XK_Shift_Lock;
break;
+#ifdef KT_X
+ case KT_X:
+ /* depends on new keyboard symbols in file linux/keyboard.h */
+ if(kbe.kb_value == K_XMENU) k[j] = XK_Menu;
+ if(kbe.kb_value == K_XTELEPHONE) k[j] = XK_telephone;
+ break;
+#endif
+#ifdef KT_XF
+ case KT_XF:
+ /* special linux keysyms which map directly to XF86 keysyms */
+ k[j] = (kbe.kb_value & 0xFF) + 0x1008FF00;
+ break;
+#endif
+
default:
break;
}