diff options
author | 2009-01-11 18:59:54 +0000 | |
---|---|---|
committer | 2009-01-11 18:59:54 +0000 | |
commit | 8ff6df28bef6fbc0db477f90d45286da8ee1d407 (patch) | |
tree | da693ca60aa392f3680dc3929aefad9438cb1af3 /sys/dev/sun/sunkbdmap.c | |
parent | backout revision 1.109 (diff) | |
download | wireguard-openbsd-8ff6df28bef6fbc0db477f90d45286da8ee1d407.tar.xz wireguard-openbsd-8ff6df28bef6fbc0db477f90d45286da8ee1d407.zip |
WSDISPLAY_COMPAT_RAWKBD support for sun serial keyboards (zskbd, comkbd).
Diffstat (limited to 'sys/dev/sun/sunkbdmap.c')
-rw-r--r-- | sys/dev/sun/sunkbdmap.c | 141 |
1 files changed, 140 insertions, 1 deletions
diff --git a/sys/dev/sun/sunkbdmap.c b/sys/dev/sun/sunkbdmap.c index e4c3cc75f17..b35c57e3c0b 100644 --- a/sys/dev/sun/sunkbdmap.c +++ b/sys/dev/sun/sunkbdmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sunkbdmap.c,v 1.1 2005/05/14 15:25:20 miod Exp $ */ +/* $OpenBSD: sunkbdmap.c,v 1.2 2009/01/11 18:59:54 miod Exp $ */ /* * Copyright (c) 2002, 2003 Miodrag Vallat. @@ -46,6 +46,145 @@ #include <dev/sun/sunkbdreg.h> #include <dev/sun/sunkbdvar.h> +#ifdef WSDISPLAY_COMPAT_RAWKBD +#include <dev/wscons/wskbdraw.h> + +/* + * Translate Sun keycodes to US keyboard XT scancodes, for proper + * X11-over-wsmux operation. + */ +const u_int8_t sunkbd_rawmap[0x80] = { + RAWKEY_Null, + RAWKEY_L1, + RAWKEY_AudioLower, + RAWKEY_L2, + RAWKEY_AudioRaise, + RAWKEY_f1, + RAWKEY_f2, + RAWKEY_f10, + RAWKEY_f3, + RAWKEY_f11, + RAWKEY_f4, + RAWKEY_f12, + RAWKEY_f5, + RAWKEY_Alt_R, + RAWKEY_f6, + RAWKEY_Null, + RAWKEY_f7, + RAWKEY_f8, + RAWKEY_f9, + RAWKEY_Alt_L, + RAWKEY_Up, + RAWKEY_Pause, + RAWKEY_Print_Screen, + RAWKEY_Hold_Screen, + RAWKEY_Left, + RAWKEY_L3, + RAWKEY_L4, + RAWKEY_Down, + RAWKEY_Right, + RAWKEY_Escape, + RAWKEY_1, + RAWKEY_2, + RAWKEY_3, + RAWKEY_4, + RAWKEY_5, + RAWKEY_6, + RAWKEY_7, + RAWKEY_8, + RAWKEY_9, + RAWKEY_0, + RAWKEY_minus, + RAWKEY_equal, + RAWKEY_grave, + RAWKEY_BackSpace, + RAWKEY_Insert, + RAWKEY_KP_Equal, + RAWKEY_KP_Divide, + RAWKEY_KP_Multiply, + RAWKEY_Null, + RAWKEY_L5, + RAWKEY_KP_Delete, + RAWKEY_L6, + RAWKEY_Home, + RAWKEY_Tab, + RAWKEY_q, + RAWKEY_w, + RAWKEY_e, + RAWKEY_r, + RAWKEY_t, + RAWKEY_y, + RAWKEY_u, + RAWKEY_i, + RAWKEY_o, + RAWKEY_p, + RAWKEY_bracketleft, + RAWKEY_bracketright, + RAWKEY_Delete, + RAWKEY_Alt_R, + RAWKEY_KP_Home, + RAWKEY_KP_Up, + RAWKEY_KP_Prior, + RAWKEY_KP_Subtract, + RAWKEY_L7, + RAWKEY_L8, + RAWKEY_End, + RAWKEY_Null, + RAWKEY_Control_L, + RAWKEY_a, + RAWKEY_s, + RAWKEY_d, + RAWKEY_f, + RAWKEY_g, + RAWKEY_h, + RAWKEY_j, + RAWKEY_k, + RAWKEY_l, + RAWKEY_semicolon, + RAWKEY_apostrophe, + RAWKEY_backslash, + RAWKEY_Return, + RAWKEY_KP_Enter, + RAWKEY_KP_Left, + RAWKEY_KP_Begin, + RAWKEY_KP_Right, + RAWKEY_KP_Insert, + RAWKEY_L9, + RAWKEY_Prior, + RAWKEY_L10, + RAWKEY_Num_Lock, + RAWKEY_Shift_L, + RAWKEY_z, + RAWKEY_x, + RAWKEY_c, + RAWKEY_v, + RAWKEY_b, + RAWKEY_n, + RAWKEY_m, + RAWKEY_comma, + RAWKEY_period, + RAWKEY_slash, + RAWKEY_Shift_R, + RAWKEY_Null, /* KS_Linefeed on type 3/4 */ + RAWKEY_KP_End, + RAWKEY_KP_Down, + RAWKEY_KP_Next, + RAWKEY_Null, + RAWKEY_Null, + RAWKEY_Null, + RAWKEY_Help, + RAWKEY_Caps_Lock, + RAWKEY_Meta_L, + RAWKEY_space, + RAWKEY_Meta_R, + RAWKEY_Next, + RAWKEY_Null, + RAWKEY_KP_Add, + RAWKEY_Null, + RAWKEY_Null +}; +#endif + #define KC(n) KS_KEYCODE(n) /* 000/021/022 US English type 4/5 keyboard */ |