xkeycaps-2.47/0000755000175000017500000000000010356072256011035 5ustar cbcbxkeycaps-2.47/kbds/0000755000175000017500000000000010356072256011760 5ustar cbcbxkeycaps-2.47/kbds/mklinux-de-caps.h0000644000175000017500000000426710206731451015134 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the german Apple Extended II Keyboard for use with * MkLinux. * * By Albrecht Dreß , derived from the file * `mac-caps.h' by John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. * * Copyright (C) by Albrecht Dress 1997. This file is "really free" under the * terms the standard X license/copyright. */ static const struct key_strings mac_mklinux_de_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", "F13", 0}, {"Syst.Anfr.", "F14", 0}, {"Pause", "F15", 0}, /* Row 2 */ {"°", "^", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"§", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "ß", 0}, {"`", "'", 0}, {"<----", 0}, {"Einf.", "Hilfe", 0}, {"Anfg", 0}, {"SeiteO", 0}, {"Num ", "Lock", 0}, {"=", 0}, {"/", 0}, {"*", 0}, /* Row 3 */ {"-->|", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"Ü", 0}, {"*", "+", 0}, {"Return", 0}, {"Entf.", 0}, {"Ende", 0}, {"SeiteU", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 4 */ {"Caps", "lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"Ö", 0}, {"Ä", "'", 0}, {"'", "#", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {"+", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"alt", 0}, {"%", 0}, /* that silly clover symbol */ {" ", 0}, {"%", 0}, /* that silly clover symbol */ {"alt gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/mag3k-codes.h0000644000175000017500000000140310206731451014215 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the MIPS Magnum 3000 keyboard. * By Cliff Marcellus . */ static const KeyCode mag3k_codes [] = { /* Row 0 */ 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 88, 96, 97, 0, /* Row 2 */ 10, 24, 32, 40, 39, 48, 56, 63, 64, 72, 71, 80, 87, 16, 104, 120, 121, 128, 126, /* Row 3 */ 15, 23, 31, 38, 47, 46, 55, 62, 69, 70, 79, 86, 93, 94, 102, 110, 119, 127, 134, /* Row 4 */ 19, 30, 29, 37, 45, 54, 53, 61, 68, 77, 78, 84, 92, 89, 109, 117, 118, 111, /* Row 5 */ 20, 28, 36, 35, 44, 52, 51, 60, 67, 75, 76, 91, 101, 90, 107, 116, 124, 123, /* Row 6 */ 22, 27, 43, 59, 99, 98, 108, 114, 115 }; xkeycaps-2.47/kbds/cramer-geom.h0000644000175000017500000000444410206731451014326 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the physical layout of the "Interfaces by Cramer" * Floating Arms keyboard (formerly the Workplace Designs keyboard.) * This is a split keyboard where the two pieces attach to the arms of * your chair, instead of sitting on a desk. * * Keyboard's home page: * http://www.ergointerfaces.com/ * * Typing injury FAQ: * http://www.tifaq.org/keyboards/adjustable-split-keyboards.html */ static const struct key_geometry cramer_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {47, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, }; static const struct key_geometry cramer_geom_row1 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {33, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, }; static const struct key_geometry cramer_geom_row2 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {43, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 14}, }; static const struct key_geometry cramer_geom_row3 [] = { {11, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {42, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, }; static const struct key_geometry cramer_geom_row4 [] = { {14, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {43, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {7, 7}, {10, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14}, }; static const struct key_geometry cramer_geom_row5 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {35, 7}, {3, 0}, {35, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 0}, {14, 7}, {7, 7}, }; static const struct key_geometry cramer_geom_row6 [] = { {103, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, }; static const struct keyboard_row_geometry cramer_geom_rows [] = { ROW (cramer_geom_row0, 7), ROW (cramer_geom_row1, 7), ROW (cramer_geom_row2, 7), ROW (cramer_geom_row3, 7), ROW (cramer_geom_row4, 7), ROW (cramer_geom_row5, 7), ROW (cramer_geom_row6, 7), }; static const struct keyboard_geometry cramer_geom = { sizeof (cramer_geom_rows) / sizeof (struct keyboard_row_geometry), cramer_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/hpitf-codes.h0000644000175000017500000000150110206731451014324 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the HP 300, 400, and 700 series * keyboards. By Dave Brooks */ static const KeyCode hpitf_codes [] = { /* Row 0 */ 15, 86, 84, 83, 82, 81, 80, 88, 89, 90, 91, 92, 94, 95, 45, 41, 43, 47, /* Row 2 */ 71, 70, 69, 68, 67, 66, 65, 64, 96, 97, 98, 99, 100, 101, 102, 103, 29, 25, 27, 31, /* Row 3 */ 63, 62, 61, 60, 59, 58, 57, 56, 104, 105, 106, 107, 108, 109, 110, 111, 21, 17, 19, 23, /* Row 4 */ 55, 14, 53, 52, 51, 50, 49, 48, 112, 113, 114, 115, 116, 117, 118, 119, 16, 18, 20, 22, /* Row 5 */ 39, 13, 36, 35, 34, 33, 32, 128, 120, 121, 122, 123, 12, 125, 134, 127, 24, 26, 28, 46, /* Row 6 */ 87, 11, 129, 10, 132, 133, 135, 30, 44 }; xkeycaps-2.47/kbds/xfree86pt-map.h0000644000175000017500000001223210206731451014530 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the default PT keymap used by the XFree86 X server. * By Jan Wedekind */ static const struct default_keycode_map xfree86pt_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_onesuperior, XK_exclamdown }}, { 11, 0, { XK_2, XK_quotedbl, XK_at, XK_oneeighth }}, { 12, 0, { XK_3, XK_numbersign, XK_sterling, XK_sterling }}, { 13, 0, { XK_4, XK_dollar, XK_section, XK_dollar }}, { 14, 0, { XK_5, XK_percent, XK_onehalf, XK_threeeighths }}, { 15, 0, { XK_6, XK_ampersand, XK_threequarters, XK_fiveeighths }}, { 16, 0, { XK_7, XK_slash, XK_braceleft, XK_seveneighths }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft, XK_trademark }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright, XK_plusminus }}, { 19, 0, { XK_0, XK_equal, XK_braceright, XK_degree }}, { 20, 0, { XK_apostrophe, XK_question, XK_backslash, XK_questiondown }}, { 21, 0, { XK_guillemotleft, XK_guillemotright, XK_dead_cedilla, XK_dead_ogonek }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 25, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 28, 0, { XK_t, XK_T, XK_tslash, XK_Tslash }}, { 29, 0, { XK_y, XK_Y, XK_leftarrow, XK_yen }}, { 30, 0, { XK_u, XK_U, XK_downarrow, XK_uparrow }}, { 31, 0, { XK_i, XK_I, XK_rightarrow, XK_idotless }}, { 32, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 33, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 34, 0, { XK_plus, XK_asterisk, XK_dead_diaeresis, XK_dead_abovering }}, { 35, 0, { XK_dead_acute, XK_dead_grave, XK_dead_tilde, XK_dead_macron }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 39, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 40, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 41, 0, { XK_f, XK_F, XK_dstroke, XK_ordfeminine }}, { 42, 0, { XK_g, XK_G, XK_eng, XK_ENG }}, { 43, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K, XK_kra, XK_ampersand }}, { 46, 0, { XK_l, XK_L, XK_lstroke, XK_Lstroke }}, { 47, 0, { XK_ccedilla, XK_Ccedilla, XK_dead_acute, XK_dead_doubleacute }}, { 48, 0, { XK_masculine, XK_ordfeminine, XK_dead_circumflex, XK_dead_caron }}, { 49, 0, { XK_backslash, XK_bar, XK_notsign }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_dead_tilde, XK_dead_circumflex, XK_dead_grave, XK_dead_breve }}, { 52, 0, { XK_z, XK_Z, XK_guillemotleft, XK_less }}, { 53, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 54, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 55, 0, { XK_v, XK_V, XK_leftdoublequotemark, XK_grave }}, { 56, 0, { XK_b, XK_B, XK_rightdoublequotemark, XK_apostrophe }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 59, 0, { XK_comma, XK_semicolon, XK_horizconnector, XK_multiply }}, { 60, 0, { XK_period, XK_colon, XK_periodcentered, XK_division }}, { 61, 0, { XK_minus, XK_underscore, XK_dead_belowdot, XK_dead_abovedot }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_bar, XK_brokenbar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Multi_key }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch, XK_Multi_key }}, { 115, Mod4Mask, { XK_Super_L }}, { 116, Mod4Mask, { XK_Super_R }}, { 117, Mod5Mask, { XK_Hyper_R }}, }; xkeycaps-2.47/kbds/xfree86tr-map.h0000644000175000017500000000744310206731451014542 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the default TR keymap used by the XFree86 3.3.2 server. * By Tufan KARADERE . */ static const struct default_keycode_map xfree86tr_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quoteright }}, { 12, 0, { XK_3, XK_asciicircum, XK_numbersign }}, { 13, 0, { XK_4, XK_plus, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, XK_braceright }}, { 20, 0, { XK_asterisk, XK_question, XK_backslash }}, { 21, 0, { XK_minus, XK_underscore }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at}}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_yacute, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_eth, XK_ETH }}, { 35, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_thorn, XK_THORN}}, { 48, 0, { XK_i, XK_Yacute }}, { 49, 0, { XK_eacute, XK_quotedbl }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_comma, XK_semicolon, XK_quoteleft }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 60, 0, { XK_ccedilla, XK_Ccedilla }}, { 61, 0, { XK_period, XK_colon }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, Mod3Mask, { XK_Num_Lock }}, { 78, Mod4Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { 0 }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R }}, { 114, 0, { XK_Break }}, { 115, Mod2Mask, { XK_Meta_L }}, { 116, Mod2Mask, { XK_Meta_R }}, { 117, Mod5Mask, { XK_Mode_switch, XK_Multi_key }} }; xkeycaps-2.47/kbds/rs6k-caps.h0000644000175000017500000000363010206731451013735 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the IBM RS/6000 keyboard. * By Tom McConnell */ static const struct key_strings rs6k_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "SysRq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl/Act", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pc102uk-caps.h0000644000175000017500000000420710206731451014236 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of a UK 102 key PC-style * keyboard. * Changes from pc102: * `~ => `\254 (logicalnot) * 2@ => 2" * 3# => 3\243 (sterling) * '" => '@ * \| => #~ * <> => \| * By Ben Harris */ static const struct key_strings pc102uk_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"\254", "`", 0}, /* \254 = logicalnot */ {"!", "1", 0}, {"\"", "2", 0}, {"\243", "3", 0}, /* \243 = sterling */ {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0 }, {"}", "]", 0 }, {"Enter", 0}, {"Del", 0}, /* "Home" -> "Del" says leguern@inf.enst.fr */ {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"@", "'", 0}, {"~", "#", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"|", "\\", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ortek-geom.h0000644000175000017500000000404410206731451014175 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file contains the keycaps layout of a 107-key Ortek "Enhanced Keyboard" * This is based on the file "pc104-geom.h" * Unfortunately, the extra 3 keys don't work in X. * By Mike Hicks */ static const struct key_geometry ortek_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ortek_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ortek_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ortek_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ortek_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {13, 7}, {7, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ortek_geom_row6 [] = { {11, 7}, {10, 7}, {9, 7}, {36, 7}, {9, 7}, {10, 7}, {10, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry ortek_geom_rows [] = { ROW (ortek_geom_row0, 7), EMPTYROW (5), ROW (ortek_geom_row2, 7), ROW (ortek_geom_row3, 7), ROW (ortek_geom_row4, 7), ROW (ortek_geom_row5, 7), ROW (ortek_geom_row6, 7), }; static const struct keyboard_geometry ortek_geom = { sizeof (ortek_geom_rows) / sizeof (struct keyboard_row_geometry), ortek_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/NeXT-codes.h0000644000175000017500000000124710206731451014037 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NeXTstation non-ADB keyboard * for the co-Xist 3.0 X server. By Eric Benson . */ static const KeyCode NeXT_codes [] = { /* Row 0 */ 81, 82, 83, 84, 85, 88, 87, 86, 38, 39, 40, 37, 36, 35, 46, 47, 48, 45, /* Row 1 */ 73, 74, 75, 76, 77, 80, 79, 78, 14, 15, 16, 13, 12, 11, 41, 42, 43, 44, /* Row 2 */ 126, 65, 66, 67, 68, 69, 72, 71, 70, 53, 52, 51, 50, 26, 32, 27, 29, /* Row 3 */ 127, 57, 58, 59, 60, 61, 63, 62, 54, 55, 56, 131, 30, 25, 31, 28, 21, /* Row 4 */ 128, 129, 64, 130, 132, 17, 23, 24, 19, 20 }; xkeycaps-2.47/kbds/uw102-codes.h0000644000175000017500000000150110206731451014070 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996 * Jamie Zawinski * * This file describes the keycodes of a generic 102 key PC keyboard * on UnixWare 2 with the default X11R5 server. * By Endre Witzo */ static const KeyCode uw102_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 92, 78, 127, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 131, 135, 119, 77, 125, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 129, 130, 134, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 83, 84, 85, /* Row 5 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 128, 87, 88, 89, 124, /* Row 6 */ 37, 64, 65, 122, 123, 118, 93, 133, 90, 91 }; xkeycaps-2.47/kbds/pc101-3-geom.h0000644000175000017500000000407310206731451014037 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the physical layout of a "Maxi-Switch 2192004" * 101 key AT/XT switchable PC-style keyboard. * This differs from the keyboard we know as `pc101' in the placement * of the "\ and |" key. * By Jamie Zawinski */ static const struct key_geometry pc101_3_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_3_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_3_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc101_3_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 0}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_3_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {7, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc101_3_geom_row6 [] = { {11, 7}, {7, 0}, {11, 7}, {48, 7}, {11, 7}, {7, 0}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc101_3_geom_rows [] = { ROW (pc101_3_geom_row0, 7), EMPTYROW (5), ROW (pc101_3_geom_row2, 7), ROW (pc101_3_geom_row3, 7), ROW (pc101_3_geom_row4, 7), ROW (pc101_3_geom_row5, 7), ROW (pc101_3_geom_row6, 7), }; static const struct keyboard_geometry pc101_3_geom = { sizeof (pc101_3_geom_rows) / sizeof (struct keyboard_row_geometry), pc101_3_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/mac-map.h0000644000175000017500000000654010206731451013442 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Apple Extended Keyboard II. * By John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. */ static const struct default_keycode_map mac_map [] = { /* these have keycodes but no keysyms in the default map */ { 121, 0, { 0 }}, /* Pause */ { 143, 0, { 0 }}, /* SS (\247) */ { 8, 0, { XK_A }}, { 9, 0, { XK_S }}, { 10, 0, { XK_D }}, { 11, 0, { XK_F }}, { 12, 0, { XK_H }}, { 13, 0, { XK_G }}, { 14, 0, { XK_Z }}, { 15, 0, { XK_X }}, { 16, 0, { XK_C }}, { 17, 0, { XK_V }}, { 19, 0, { XK_B }}, { 20, 0, { XK_Q }}, { 21, 0, { XK_W }}, { 22, 0, { XK_E }}, { 23, 0, { XK_R }}, { 24, 0, { XK_Y }}, { 25, 0, { XK_T }}, { 26, 0, { XK_1, XK_exclam }}, { 27, 0, { XK_2, XK_at }}, { 28, 0, { XK_3, XK_numbersign }}, { 29, 0, { XK_4, XK_dollar }}, { 30, 0, { XK_6, XK_asciicircum }}, { 31, 0, { XK_5, XK_percent }}, { 32, 0, { XK_equal, XK_plus }}, { 33, 0, { XK_9, XK_parenleft }}, { 34, 0, { XK_7, XK_ampersand }}, { 35, 0, { XK_minus, XK_underscore }}, { 36, 0, { XK_8, XK_asterisk }}, { 37, 0, { XK_0, XK_parenright }}, { 38, 0, { XK_bracketright, XK_braceright }}, { 39, 0, { XK_O }}, { 40, 0, { XK_U }}, { 41, 0, { XK_bracketleft, XK_braceleft }}, { 42, 0, { XK_I }}, { 43, 0, { XK_P }}, { 44, 0, { XK_Return }}, { 45, 0, { XK_L }}, { 46, 0, { XK_J }}, { 47, 0, { XK_apostrophe, XK_quotedbl }}, { 48, 0, { XK_K }}, { 49, 0, { XK_semicolon, XK_colon }}, { 50, 0, { XK_backslash, XK_bar }}, { 51, 0, { XK_comma, XK_less }}, { 52, 0, { XK_slash, XK_question }}, { 53, 0, { XK_N }}, { 54, 0, { XK_M }}, { 55, 0, { XK_period, XK_greater }}, { 56, 0, { XK_Tab }}, { 57, 0, { XK_space }}, { 58, 0, { XK_backslash, XK_asciitilde }}, { 59, 0, { XK_BackSpace }}, { 61, 0, { XK_Escape }}, { 64, ShiftMask, { XK_Shift_L }}, /* { 64, ShiftMask, XK_Shift_R }, */ { 65, LockMask, { XK_Caps_Lock }}, { 67, ControlMask, { XK_Control_L }}, /* { 67, ControlMask, XK_Control_R }, */ { 73, 0, { XK_KP_Decimal }}, { 75, 0, { XK_KP_Multiply }}, { 77, 0, { XK_KP_Add }}, { 79, Mod5Mask, { XK_Num_Lock }}, { 83, 0, { XK_KP_Divide }}, { 84, 0, { XK_KP_Enter }}, { 86, 0, { XK_KP_Subtract }}, { 89, 0, { XK_KP_Equal }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_1 }}, { 92, 0, { XK_KP_2 }}, { 93, 0, { XK_KP_3 }}, { 94, 0, { XK_KP_4 }}, { 95, 0, { XK_KP_5 }}, { 96, 0, { XK_KP_6 }}, { 97, 0, { XK_KP_7 }}, { 99, 0, { XK_KP_8 }}, { 100, 0, { XK_KP_9 }}, { 104, 0, { XK_F5 }}, { 105, 0, { XK_F6 }}, { 106, 0, { XK_F7 }}, { 107, 0, { XK_F3 }}, { 108, 0, { XK_F8 }}, { 109, 0, { XK_F9 }}, { 111, 0, { XK_F11 }}, { 113, 0, { XK_Print }}, { 115, 0, { XK_Scroll_Lock }}, { 117, 0, { XK_F10 }}, { 119, 0, { XK_F12 }}, { 122, 0, { XK_Insert }}, { 123, 0, { XK_Home }}, { 124, 0, { XK_Prior }}, { 125, 0, { XK_Delete }}, { 126, 0, { XK_F4 }}, { 127, 0, { XK_End }}, { 128, 0, { XK_F2 }}, { 129, 0, { XK_Next }}, { 130, 0, { XK_F1 }}, { 131, 0, { XK_Left }}, { 132, 0, { XK_Right }}, { 133, 0, { XK_Down }}, { 134, 0, { XK_Up }} }; xkeycaps-2.47/kbds/explorer-map.h0000644000175000017500000000704310206731451014541 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the TI Explorer keyboard. */ static const struct default_keycode_map explorer_map [] = { { 8, 0, { XK_Help }}, { 10, LockMask, { XK_Caps_Lock }}, { 11, 0, { XK_F21 }}, { 12, 0, { XK_F22 }}, { 13, Mod5Mask, { XK_F23 }}, { 14, Mod3Mask, { XK_Hyper_L }}, { 15, 0, { XK_F24 }}, { 16, 0, { XK_F25 }}, { 17, 0, { XK_F26 }}, { 18, 0, { XK_F27 }}, { 20, 0, { XK_F28 }}, { 21, 0, { XK_Clear }}, { 22, 0, { XK_Undo }}, { 23, 0, { XK_End }}, { 24, 0, { XK_F29 }}, { 25, 0, { XK_F30 }}, { 26, 0, { XK_F31 }}, { 27, 0, { XK_KP_F1 }}, { 28, 0, { XK_KP_F2 }}, { 29, 0, { XK_KP_F3 }}, { 30, 0, { XK_KP_F4 }}, { 33, Mod4Mask, { XK_Super_L }}, { 34, Mod1Mask, { XK_Meta_L }}, { 35, ControlMask, { XK_Control_L }}, { 36, ControlMask, { XK_Control_R }}, { 37, Mod1Mask, { XK_Meta_R }}, { 38, Mod2Mask, { XK_Super_R }}, { 39, Mod3Mask, { XK_Hyper_R }}, { 40, 0, { XK_F32 }}, { 42, 0, { XK_Escape }}, { 43, 0, { XK_1, XK_exclam }}, { 44, 0, { XK_2, XK_at }}, { 45, 0, { XK_3, XK_numbersign }}, { 46, 0, { XK_4, XK_dollar }}, { 47, 0, { XK_5, XK_percent }}, { 48, 0, { XK_6, XK_asciicircum }}, { 49, 0, { XK_7, XK_ampersand }}, { 50, 0, { XK_8, XK_asterisk }}, { 51, 0, { XK_9, XK_parenleft }}, { 52, 0, { XK_0, XK_parenright }}, { 53, 0, { XK_minus, XK_underscore }}, { 54, 0, { XK_equal, XK_plus }}, { 55, 0, { XK_grave, XK_braceleft }}, { 56, 0, { XK_asciitilde, XK_braceright }}, { 57, 0, { XK_KP_Equal }}, { 58, 0, { XK_KP_Add }}, { 59, 0, { XK_KP_Space }}, { 60, 0, { XK_KP_Tab }}, { 61, 0, { XK_Break }}, { 63, 0, { XK_Tab }}, { 64, 0, { XK_Q }}, { 65, 0, { XK_W }}, { 66, 0, { XK_E }}, { 67, 0, { XK_R }}, { 68, 0, { XK_T }}, { 69, 0, { XK_Y }}, { 70, 0, { XK_U }}, { 71, 0, { XK_I }}, { 72, 0, { XK_O }}, { 73, 0, { XK_P }}, { 74, 0, { XK_parenleft, XK_bracketleft }}, { 75, 0, { XK_parenright, XK_bracketright }}, { 77, 0, { XK_backslash, XK_bar }}, { 78, 0, { XK_Up }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_Cancel }}, { 86, 0, { XK_Delete }}, { 87, 0, { XK_A }}, { 88, 0, { XK_S }}, { 89, 0, { XK_D }}, { 90, 0, { XK_F }}, { 91, 0, { XK_G }}, { 92, 0, { XK_H }}, { 93, 0, { XK_J }}, { 94, 0, { XK_K }}, { 95, 0, { XK_L }}, { 96, 0, { XK_semicolon, XK_colon }}, { 97, 0, { XK_apostrophe, XK_quotedbl }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_Linefeed }}, { 100, 0, { XK_Left }}, { 101, 0, { XK_Home }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_KP_4 }}, { 104, 0, { XK_KP_5 }}, { 105, 0, { XK_KP_6 }}, { 106, 0, { XK_KP_Separator }}, { 109, Mod4Mask, { XK_R13 }}, { 110, ShiftMask, { XK_Shift_L }}, { 111, 0, { XK_Z }}, { 112, 0, { XK_X }}, { 113, 0, { XK_C }}, { 114, 0, { XK_V }}, { 115, 0, { XK_B }}, { 116, 0, { XK_N }}, { 117, 0, { XK_M }}, { 118, 0, { XK_comma, XK_less }}, { 119, 0, { XK_period, XK_greater }}, { 120, 0, { XK_slash, XK_question }}, { 121, ShiftMask, { XK_Shift_R }}, { 123, Mod4Mask, { XK_F34 }}, { 124, 0, { XK_Down }}, { 125, 0, { XK_KP_1 }}, { 126, 0, { XK_KP_2 }}, { 127, 0, { XK_KP_3 }}, { 130, 0, { XK_space }}, { 132, 0, { XK_KP_0 }}, { 133, 0, { XK_KP_Decimal }}, { 134, 0, { XK_KP_Enter }} }; xkeycaps-2.47/kbds/tt-geom.h0000644000175000017500000000412110206731451013474 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Atari TT (USA) keyboard * By Mats Wichmann */ static const struct key_geometry tt_geom_row0 [] = { {31, 10}, {31, 10}, {31, 10}, {31, 10}, {31, 10}, {31, 10}, {31, 10}, {31, 10}, {31, 10}, {31, 10} }; static const struct key_geometry tt_geom_row2 [] = { {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {30, 20}, {7, 0}, {30, 20}, {30, 20}, {7, 0}, {20, 20}, {20, 20}, {20, 20}, {20, 20} }; static const struct key_geometry tt_geom_row3 [] = { {30, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 0}, {20, 20}, {7, 0}, {20, 20}, {20, 20}, {20, 20}, {7, 0}, {20, 20}, {20, 20}, {20, 20}, {20, 20} }; static const struct key_geometry tt_geom_row4 [] = { {35, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {35, 20}, {20, 20}, {7, 0}, {20, 20}, {20, 20}, {20, 20}, {7, 0}, {20, 20}, {20, 20}, {20, 20}, {20, 20} }; static const struct key_geometry tt_geom_row5 [] = { #if 0 /* Non-US Atari keyboards have, instead of a wide left-shift key, a narrower left-shift and an additional "standard" key */ {25, 20}, {20, 20}, #else {45, 20}, #endif {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {20, 20}, {30, 20}, {109, 0}, {20, 20}, {20, 20}, {20, 20}, {20, 40} }; static const struct key_geometry tt_geom_row6 [] = { {23, 0}, {30, 20}, {180, 20}, {30, 20}, {121, 0}, {40, 20}, {20, 20} }; static const struct keyboard_row_geometry tt_geom_rows [] = { ROW (tt_geom_row0, 10), EMPTYROW (15), ROW (tt_geom_row2, 20), ROW (tt_geom_row3, 20), ROW (tt_geom_row4, 20), ROW (tt_geom_row5, 20), ROW (tt_geom_row6, 20), }; static const struct keyboard_geometry tt_geom = { sizeof (tt_geom_rows) / sizeof (struct keyboard_row_geometry), tt_geom_rows, 2, 3, 3 }; xkeycaps-2.47/kbds/sun5-xc-map.h0000644000175000017500000001024310206731451014177 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 5 keyboard * as interpreted by X Consortium X11R5 servers. Generated by * Eric Benson . */ static const struct default_keycode_map sun5_xc_map [] = { /* these have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 20, 0, { 0 }}, /* Alt Graph, to right of Compose */ { 22, 0, { 0 }}, /* blank key between Help and F1 */ { 27, 0, { 0 }}, /* UpArrow */ { 31, 0, { 0 }}, /* LeftArrow */ { 34, 0, { 0 }}, /* DownArrow */ { 35, 0, { 0 }}, /* RightArrow */ { 51, 0, { 0 }}, /* Insert */ { 55, 0, { 0 }}, /* Power */ { 59, 0, { 0 }}, /* Home */ { 81, 0, { 0 }}, /* End */ { 103, 0, { 0 }}, /* Page Up */ { 130, 0, { 0 }}, /* Page Down */ { 8, 0, { XK_F11 }}, { 10, 0, { XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, 0, { XK_Alt_L }}, { 28, 0, { XK_F21, XK_Pause }}, { 29, 0, { XK_F22 }}, { 30, 0, { XK_F23 }}, { 32, 0, { XK_F13 }}, { 33, 0, { XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_F24, XK_KP_Equal }}, { 53, 0, { XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15 }}, { 57, 0, { XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_KP_7 }}, { 76, 0, { XK_Up, XK_KP_8 }}, { 77, 0, { XK_F29, XK_KP_9 }}, { 78, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 79, 0, { XK_F17 }}, { 80, 0, { XK_F18 }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter, XK_KP_Enter }}, { 98, 0, { XK_Left, XK_KP_4 }}, { 99, 0, { XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19 }}, { 104, 0, { XK_F20 }}, { 105, 0, { XK_Num_Lock, XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_F33, XK_KP_1 }}, { 120, 0, { XK_Down, XK_KP_2 }}, { 121, 0, { XK_F35, XK_KP_3 }}, { 125, 0, { XK_Help, XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 132, 0, { XK_KP_Add, XK_KP_Add }} }; xkeycaps-2.47/kbds/sun4-geom.h0000644000175000017500000000352310206731451013743 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the pyhsical layout of the Sun type 4 keyboard. */ static const struct key_geometry sun4_geom_row0 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {8, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun4_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun4_geom_row5 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {63, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun4_geom_rows [] = { ROW (sun4_geom_row0, 7), ROW (sun4_geom_row1, 7), ROW (sun4_geom_row2, 7), ROW (sun4_geom_row3, 7), ROW (sun4_geom_row4, 7), ROW (sun4_geom_row5, 7), }; static const struct keyboard_geometry sun4_geom = { sizeof (sun4_geom_rows) / sizeof (struct keyboard_row_geometry), sun4_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/pc107-geom.h0000644000175000017500000000373610206731451013712 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the physical layout of a Brazilian ABNT2 107 key PC * keyboard. This is based on file "pc101-geom.h". * By Andre Gerhard - 05/12/98 */ static const struct key_geometry pc107_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc107_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc107_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {9, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc107_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {38, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc107_geom_row5 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {13, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc107_geom_row6 [] = { {11, 7}, {10, 7}, {9, 7}, {36, 7}, {9, 7}, {10, 7}, {10, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc107_geom_rows [] = { ROW (pc107_geom_row0, 7), EMPTYROW (5), ROW (pc107_geom_row2, 7), ROW (pc107_geom_row3, 7), ROW (pc107_geom_row4, 7), ROW (pc107_geom_row5, 7), ROW (pc107_geom_row6, 7), }; static const struct keyboard_geometry pc107_geom = { sizeof (pc107_geom_rows) / sizeof (struct keyboard_row_geometry), pc107_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tekxn10-geom.h0000644000175000017500000000406510206731451014346 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the physical layout of the * Tektronix XN10/XN11 keyboard. * By Kristian Ejvind (Kristian.Ejvind@sth.frontec.se) */ static const struct key_geometry tekxn10_geom_row0 [] = { {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {8, 0}, {7, 7}, {14, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tekxn10_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tekxn10_geom_row3 [] = { {7, 7}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {7, 14}, {13, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tekxn10_geom_row4 [] = { {2, 0}, {7, 7}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {27, 0}, {6, 6}, {15, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tekxn10_geom_row5 [] = { {2, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {18, 0}, {6, 6}, {6, 0}, {6, 6}, {9, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry tekxn10_geom_row6 [] = { {10, 0}, {14, 7}, {64, 7}, {7, 7}, {35, 0}, {6, 6}, {15, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry tekxn10_geom_rows [] = { ROW (tekxn10_geom_row0, 7), EMPTYROW (2), ROW (tekxn10_geom_row2, 7), ROW (tekxn10_geom_row3, 7), ROW (tekxn10_geom_row4, 7), ROW (tekxn10_geom_row5, 7), ROW (tekxn10_geom_row6, 7), }; static const struct keyboard_geometry tekxn10_geom = { sizeof (tekxn10_geom_rows) / sizeof (struct keyboard_row_geometry), tekxn10_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/lk401-caps.h0000644000175000017500000000050710206731451013703 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the DEC LK401 keyboard, * via kludgy conditionalizations in lk201-caps.h (since the two * keyboards differ only in the last two rows.) */ #define LK401_KLUDGE #include "lk201-caps.h" #undef LK401_KLUDGE xkeycaps-2.47/kbds/sgi6de-r6-map.h0000644000175000017500000001126410206731451014407 0ustar cbcb/* xkeycaps, Copyright (c) 1997 Jamie Zawinski * * This file describes the default keymap of the SGI Iris keyboard. * Generated by jwz on Irix 6.2 (x11r6) */ static const struct default_keycode_map sgi6de_r6_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_dead_circumflex, XK_degree, XK_notsign }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 27, 0, { XK_less, XK_greater, XK_bar, XK_brokenbar }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 30, 0, { XK_1, XK_exclam, XK_onesuperior, XK_exclamdown }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 34, 0, { XK_y, XK_Y, XK_guillemotleft, XK_less }}, { 35, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 36, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 37, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 38, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 42, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 43, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 44, 0, { XK_e, XK_E }}, { 45, 0, { XK_4, XK_dollar, XK_onequarter, XK_currency }}, { 46, 0, { XK_3, XK_section, XK_threesuperior, XK_sterling }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_v, XK_V }}, { 51, 0, { XK_f, XK_F }}, { 52, 0, { XK_t, XK_T }}, { 53, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 54, 0, { XK_5, XK_percent, XK_onehalf }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_b, XK_B }}, { 59, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 60, 0, { XK_g, XK_G }}, { 61, 0, { XK_z, XK_Z }}, { 62, 0, { XK_6, XK_ampersand, XK_threequarters }}, { 63, 0, { XK_F7 }}, { 65, Mod3Mask, { XK_Mode_switch, XK_Multi_key }}, { 66, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 67, 0, { XK_j, XK_J }}, { 68, 0, { XK_u, XK_U }}, { 69, 0, { XK_7, XK_slash, XK_braceleft }}, { 70, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_k, XK_K, XK_k, XK_ampersand }}, { 75, 0, { XK_i, XK_I }}, { 76, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 77, 0, { XK_0, XK_equal, XK_braceright, XK_degree }}, { 78, 0, { XK_9, XK_parenright, XK_bracketright, XK_plusminus }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon, XK_periodcentered, XK_division }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_l, XK_L }}, { 84, 0, { XK_odiaeresis, XK_Odiaeresis, XK_dead_acute }}, { 85, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 86, 0, { XK_ssharp, XK_question, XK_backslash, XK_questiondown }}, { 87, 0, { XK_F10 }}, { 89, 0, { XK_underbar, XK_underscore }}, { 90, 0, { XK_adiaeresis, XK_Adiaeresis, XK_dead_circumflex }}, { 91, 0, { XK_numbersign, XK_apostrophe, XK_dead_grave }}, { 92, 0, { XK_udiaeresis, XK_Udiaeresis, XK_dead_diaeresis }}, { 93, 0, { XK_dead_acute, XK_dead_grave, XK_dead_cedilla }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Print, XK_Execute }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_plus, XK_asterisk, XK_dead_tilde, XK_dead_macron }}, { 100, 0, { XK_numbersign, XK_apostrophe, XK_dead_grave }}, { 101, 0, { XK_backslash, XK_bar }}, { 102, 0, { XK_F12 }}, { 103, Mod3Mask, { XK_Scroll_Lock, XK_SGI_Long_Compose }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { XK_Pause, XK_Break }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_End, XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_Left, XK_KP_4 }}, { 116, 0, { XK_KP_Home, XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_Insert, XK_KP_0 }}, { 121, 0, { XK_KP_Delete, XK_KP_Separator }}, { 122, 0, { XK_KP_Down, XK_KP_2 }}, { 123, 0, { XK_KP_Begin, XK_KP_5 }}, { 124, 0, { XK_KP_Right, XK_KP_6 }}, { 125, 0, { XK_KP_Up, XK_KP_8 }}, { 126, Mod2Mask, { XK_Num_Lock }}, { 127, 0, { XK_KP_Divide }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_Next, XK_KP_3 }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_Prior, XK_KP_9 }}, { 134, 0, { XK_KP_Multiply }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/lk421-caps.h0000644000175000017500000000526210206731451013710 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the DEC LK421 keyboard. * By Tom Ivar Helbekkmo * * The LK421 is really an LK401 that has been shrunk by removing the keypads, * and having them doubled on normal keys through the use of a new "Extend" * modifier that's local to the keyboard; it is not "visible" to the X clients. * * This file displays two images of the keyboard, the "normal" one on top, and * one containing only the "extended" keyboard at the bottom. This is * necessary because each key has two keycodes... * * The key with ">", "<", and "~" should have "`" in the lower right corner. * * The keys for brackets and braces look like they're wrong, since the "[" * and "]" symbols aren't on them, but this is the way the keyboard is made. */ static const struct key_strings lk421_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"UpArrow", 0}, {"RightArrow", 0}, /* Row 1 */ {"~", "`", "ESC"}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"", "<", "~"}, /* Row 3 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, /* Row 4 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, /* Row 5 */ {"Com-", "pose", 0}, {"Alt", "Function", 0}, {" ", 0}, {"Alt", "Function", 0}, {"Compose", "Character", 0}, /* Row 6 */ /* Row 7 */ {"F11", 0}, {"F12", 0}, {"F13", 0}, {"F14", 0}, {"Help", 0}, {"Do", 0}, {"F17", 0}, {"F18", 0}, {"F19", 0}, {"F20", 0}, /* Row 8 */ {"PF1", 0}, {"PF2", 0}, {"PF3", 0}, {"PF4", 0}, {"Find", 0}, {"Insert", 0}, {"Remove", 0}, /* Row 9 */ {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, {"Select", 0}, {"Prev", 0}, {"Next", 0}, /* Row 10 */ {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, {"Enter", 0}, /* Row 11 */ {"1", 0}, {"2", 0}, {"3", 0}, {".", 0}, {"Lock", 0}, /* Row 12 */ {"Ext-", "end", 0}, {"0", 0} }; xkeycaps-2.47/kbds/pc102-2de-caps.h0000644000175000017500000000366310206731451014353 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992 Jamie Zawinski * * This file describes the key surfaces of a "JETYO EBK-1024" 102 key * PC-style keyboard, german layout. * By Volker Bosch . */ static const struct key_strings pc102_2de_caps [] = { {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", "S-Abf", 0}, {"Rollen", 0}, {"Pause", "Untbr", 0}, /* Row 2 */ {"\260", "^", 0}, {"!", "1 \271", 0}, {"\"", "2 \262", 0}, {"\247","3 \263", 0}, {"$", "4 \243", 0}, {"%", "5 \254", 0}, {"&", "6 \251", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"=", "0 }", 0}, {"\337","? \\", 0}, {"'", "`", 0}, {"Backspace", 0}, {"Einfg", 0}, {"Pos1", 0}, {"Bild", "UpArrow", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", " @", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+ ~", 0}, {"Entf", 0}, {"Ende", 0}, {"Bild", "DownArrow", 0}, {"7", "Pos1", 0}, {"8", "UpArrow", 0}, {"9", "Bild ^", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"Enter", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", " \265", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "Ende", 0}, {"2", "DownArrow", 0}, {"3", "Bild v", 0}, {"Enter", 0}, /* Row 6 */ {"Strg", 0}, {">", "< |", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"'", "#", 0}, {"Strg", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Einfg", 0}, {",", "Entf", 0} }; xkeycaps-2.47/kbds/pcxal-map.h0000644000175000017500000000737310206731451014016 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the default keymap of the DEC PCXAL keyboard. * By Aleksandar Milivojevic . */ static const struct default_keycode_map pcxal_map [] = { { 8, 0, { XK_Escape }}, { 9, 0, { XK_F1 }}, { 10, 0, { XK_F14 }}, { 11, 0, { XK_Help }}, { 12, 0, { XK_Menu }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_grave, XK_asciitilde, XK_grave, XK_asciitilde }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F17 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_backslash, XK_bar }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 24, 0, { XK_F13 }}, { 25, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 40, 0, { XK_Meta_L }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 57, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 81, 0, { XK_backslash, XK_underscore }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 83, 0, { XK_numbersign, XK_asciitilde }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Print, XK_Sys_Req }}, { 88, ControlMask, { XK_Control_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 92, 0, { XK_backslash, XK_bar }}, { 93, 0, { XK_backslash, XK_bar }}, { 94, 0, { XK_F12 }}, { 95, 0, { XK_Scroll_Lock }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 98, 0, { XK_Pause, XK_Break }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_End, XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_Left, XK_KP_4 }}, { 108, 0, { XK_KP_Home, XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_Insert, XK_KP_0 }}, { 113, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 114, 0, { XK_KP_Down, XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_Right, XK_KP_6 }}, { 117, 0, { XK_KP_Up, XK_KP_8 }}, { 118, Mod4Mask, { XK_Num_Lock }}, { 119, 0, { XK_KP_Divide }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_Next, XK_KP_3 }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_KP_Prior, XK_KP_9 }}, { 126, 0, { XK_KP_Multiply }}, { 132, 0, { XK_KP_Subtract }}, }; xkeycaps-2.47/kbds/xmint-caps.h0000644000175000017500000000254110206731451014207 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the key surfaces of the Takaoka Xmint X Terminal. * By Christian Goetze */ static const struct key_strings xmint_caps [] = { /* Row 0 */ {"","F1",0}, {"","F2",0}, {"","F3",0}, {"","F4",0}, {"","F5",0}, {"","F6",0}, {"","F7",0}, {"","F8",0}, {"","F9",0}, {"","F10",0}, {"LeftArrow", "F11",0}, {"DownArrow", "F12",0}, {"UpArrow", "F13",0}, {"RightArrow","F14",0}, {"Back", "Space",0}, /* Row 2 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"`", "~", 0}, /* Row 3 */ {"Tab",0},{"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", 0}, {"}", 0}, {"Del",0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, /*"*/ {"Return", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"Line", "Feed", 0}, /* Row 6 */ {"Caps", 0}, {"Star", 0}, {"L-Meta", 0}, { " ", 0}, {"R-Meta", 0}, {"Alt", 0}, {"Kana", 0} }; xkeycaps-2.47/kbds/hppcuk-codes.h0000644000175000017500000000150610206731451014511 0ustar cbcb/*xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the HP PC keyboard (UK version). * By Chris Paulson-Ellis */ static const KeyCode hppcuk_codes [] = { /* Row 0 */ 39, 84, 83, 82, 81, 89, 90, 91, 92, 45, 41, 43, 47, 80, 86, 15, /* Row 2 */ 71, 70, 69, 68, 67, 66, 65, 64, 96, 97, 98, 99, 100, 101, 110, 118, 119, 88, 25, 29, 31, /* Row 3 */ 63, 62, 61, 60, 59, 58, 57, 56, 104, 105, 106, 107, 108, 117, 111, 125, 127, 21, 17, 19, 27, /* Row 4 */ 55, 53, 52, 51, 50, 49, 48, 112, 113, 114, 115, 116, 124, 16, 18, 20, /* Row 5 */ 13, 126, 36, 35, 34, 33, 32, 128, 120, 121, 122, 123, 12, 134, 24, 26, 28, 23, /* Row 6 */ 14, 11, 129, 10, 8, 132, 133, 135, 30, 44 }; xkeycaps-2.47/kbds/elite-geom.h0000644000175000017500000000341010206731451014147 0ustar cbcb/* xkeycaps, Copyright (c) 1997 Jamie Zawinski * * This file describes the physical layout of the Midwest Micro * Elite soundbook multimedia notebook keyboard layout. * By Garst R. Reese */ static const struct key_geometry elite_geom_row1 [] = { {16, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8} }; static const struct key_geometry elite_geom_row2 [] = { {13, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {13, 10}, {8, 10} }; static const struct key_geometry elite_geom_row3 [] = { {8, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {8, 10}, {8, 10} }; static const struct key_geometry elite_geom_row4 [] = { {12, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {14, 10}, {8, 10} }; static const struct key_geometry elite_geom_row5 [] = { {16, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {12, 10}, {8, 10}, {8,10} }; static const struct key_geometry elite_geom_row6 [] = { {10, 10}, {10, 10}, {10, 10}, {10, 10}, {50, 10}, {10, 10}, {10, 10}, {10, 10}, {8, 10}, {8, 10}, {8, 10} }; static const struct keyboard_row_geometry elite_geom_rows [] = { ROW (elite_geom_row1, 8), ROW (elite_geom_row2, 10), ROW (elite_geom_row3, 10), ROW (elite_geom_row4, 10), ROW (elite_geom_row5, 10), ROW (elite_geom_row6, 10) }; static const struct keyboard_geometry elite_geom = { sizeof (elite_geom_rows) / sizeof (struct keyboard_row_geometry), elite_geom_rows, 6, 4, 4 }; xkeycaps-2.47/kbds/sun4-ow-map.h0000644000175000017500000000773610206731451014226 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Sun type 4 keyboard * as interpreted by OpenWindows. */ static const struct default_keycode_map sun4_ow_map [] = { { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 28, 0, { XK_F21, XK_F21, XK_Pause }}, { 29, 0, { XK_F22, XK_F22, XK_Print }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock, XK_Break }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_F24, XK_F24, XK_KP_Equal }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter, XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help, XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 132, 0, { XK_KP_Add, XK_KP_Add }} }; xkeycaps-2.47/kbds/macext2-geom.h0000644000175000017500000000374710206731451014425 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Apple Extended Keyboard II. * By John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. */ static const struct key_geometry macext2_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry macext2_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry macext2_geom_row3 [] = { {11, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry macext2_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry macext2_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry macext2_geom_row6 [] = { {10, 7}, {8, 7}, {11, 7}, {48, 7}, {11, 7}, {8, 7}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry macext2_geom_rows [] = { ROW (macext2_geom_row0, 7), EMPTYROW (5), ROW (macext2_geom_row2, 7), ROW (macext2_geom_row3, 7), ROW (macext2_geom_row4, 7), ROW (macext2_geom_row5, 7), ROW (macext2_geom_row6, 7), }; static const struct keyboard_geometry macext2_geom = { sizeof (macext2_geom_rows) / sizeof (struct keyboard_row_geometry), macext2_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tek101-geom.h0000644000175000017500000000373410206731451014063 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Tektronix XP20 keyboard, * _TEK_KEYBOARD_TYPE = "ibm101" (101-key North American Keyboard) * * By Joe English . */ static const struct key_geometry tek101_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek101_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek101_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry tek101_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {43, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek101_geom_row5 [] = { {15, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {10, 0}, {7, 7}, {10, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry tek101_geom_row6 [] = { {12, 7}, {7, 0}, {11, 7}, {47, 7}, {11, 7}, {7, 0}, {10, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry tek101_geom_rows [] = { ROW (tek101_geom_row0, 7), EMPTYROW (5), ROW (tek101_geom_row2, 7), ROW (tek101_geom_row3, 7), ROW (tek101_geom_row4, 7), ROW (tek101_geom_row5, 7), ROW (tek101_geom_row6, 7), }; static const struct keyboard_geometry tek101_geom = { sizeof (tek101_geom_rows) / sizeof (struct keyboard_row_geometry), tek101_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/rtsw-codes.h0000644000175000017500000000141510206731451014215 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the keycodes of the IBM PC/RT keyboard. * By Torbj|rn Lindgren */ static const KeyCode rtsw_codes [] = { /* Row 0 */ 8, 7, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 0, 98, /* Row 2 */ 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 103, 110, 111, 118, 119, 126, 132, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 90, 100, 101, 109, 108, 117, 125, 124, /* Row 4 */ 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 83, 107, 115, 116, /* Row 5 */ 18, 19, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 99, 105, 114, 122, 121, /* Row 6 */ 17, 25, 41, 57, 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/xfree86sf-map.h0000644000175000017500000000750310206731451014522 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the default SF keymap used by the XFree86 X server. * Generated by Tony Lindstrom * and Tor Lillqvist . */ static const struct default_keycode_map xfree86sf_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl, XK_at }}, { 12, 0, { XK_3, XK_numbersign, XK_sterling }}, { 13, 0, { XK_4, XK_currency, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, XK_braceright }}, { 20, 0, { XK_plus, XK_question, XK_backslash }}, { 21, 0, { XK_apostrophe, XK_grave }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_aring, XK_Aring}}, { 35, 0, { XK_diaeresis, XK_asciicircum, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_odiaeresis, XK_Odiaeresis}}, { 48, 0, { XK_adiaeresis, XK_Adiaeresis}}, { 49, 0, { XK_section, XK_onehalf }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_apostrophe, XK_asterisk }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, Mod3Mask, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, Mod3Mask, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, Mod3Mask, { XK_F10, XK_F20 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, Mod5Mask, { XK_Mode_switch }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Separator }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, 0, { XK_Multi_key }}, { 110, 0, { XK_Pause }}, { 111, 0, { XK_Print }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, 0, { XK_Multi_key }}, { 117, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/tek200u-ka-map.h0000644000175000017500000000674610206731451014475 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "katakana" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_ka_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/tecra500-map.h0000664000175000017500000000740310351127224014224 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keymap of a Toshiba Tecra 500CDT laptop. * Generated by Cesar Augusto Rorato Crusius * Modified for Toshiba Portege 34xxCT laptop. * By Antony Pavloff */ static const struct default_keycode_map tecra500_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 115, Mod4Mask, { XK_Meta_L }}, { 117, 0, { XK_Menu }}, }; xkeycaps-2.47/kbds/hpitf-geom.h0000644000175000017500000000365510206731451014172 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992 Jamie Zawinski * * This file describes the physical layout of the HP 300, 400, and 700 * series keyboards. By Dave Brooks . */ static const struct key_geometry hpitf_geom_row0 [] = { {8, 7}, {8, 7}, {2, 0}, {9, 7}, {9, 7}, {9, 7}, {9, 7}, {7, 7}, {7, 7}, {9, 7}, {9, 7}, {9, 7}, {9, 7}, {2, 0}, {8, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hpitf_geom_row2 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {2, 0}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hpitf_geom_row3 [] = { {14, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hpitf_geom_row4 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {2, 0}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hpitf_geom_row5 [] = { {7, 7}, {11, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {1, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry hpitf_geom_row6 [] = { {7, 7}, {11, 0}, {7, 7}, {56, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry hpitf_geom_rows [] = { ROW (hpitf_geom_row0, 7), EMPTYROW (3), ROW (hpitf_geom_row2, 7), ROW (hpitf_geom_row3, 7), ROW (hpitf_geom_row4, 7), ROW (hpitf_geom_row5, 7), ROW (hpitf_geom_row6, 7), }; static const struct keyboard_geometry hpitf_geom = { sizeof (hpitf_geom_rows) / sizeof (struct keyboard_row_geometry), hpitf_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tek101-c-map.h0000644000175000017500000000735310206731451014132 0ustar cbcb/* xkeycaps, Copyright (c) 1991-1997 Jamie Zawinski * * This file describes the default keymap of the Tektronix XP217C keyboard, *_TEK_KEYBOARD_TYPE = "ibm101" (101-key North American Keyboard). * Generated by Dan Glastonbury * * Note: _TEK_KEYBOARD_TYPE = "ibm101"is also specified for Tektronix XP20 * keyboard. See tek101-map.h */ static const struct default_keycode_map tek101_c_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 27, 0, { XK_backslash, XK_bar }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 65, 0, { XK_Alt_R }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_less }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_greater }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Print, XK_Linefeed }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 100, 0, { XK_backslash, XK_bar }}, { 101, 0, { XK_backslash, XK_bar }}, { 102, 0, { XK_F12 }}, { 103, 0, { XK_Cancel }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_SetUp, XK_Pause }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1, XK_End }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4, XK_Left }}, { 116, 0, { XK_KP_7, XK_Home }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0, XK_Insert }}, { 121, 0, { XK_KP_Decimal, XK_Delete }}, { 122, 0, { XK_KP_2, XK_Down }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6, XK_Right }}, { 125, 0, { XK_KP_8, XK_Up }}, { 126, 0, { XK_Num_Lock }}, { 127, 0, { XK_KP_Divide }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3, XK_Next }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_9, XK_Prior }}, { 134, 0, { XK_KP_Multiply }}, { 140, 0, { XK_KP_Subtract }}, { 147, 0, { XK_Meta_L }}, { 148, 0, { XK_Meta_R }}, { 149, 0, { XK_Menu }}, { 247, 0, { XK_Break }}, }; xkeycaps-2.47/kbds/cc107-geom.h0000644000175000017500000000371410206731451013671 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of a "Linux CoolKeyboard" 107 key * AT PC-style keyboard. * By John Gotts */ static const struct key_geometry cc107_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry cc107_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry cc107_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry cc107_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 0}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4,0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry cc107_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {7, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry cc107_geom_row6 [] = { {9, 7}, {9, 7}, {9, 7}, {42, 7}, {9, 7}, {9, 7}, {9, 7}, {9, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry cc107_geom_rows [] = { ROW (cc107_geom_row0, 7), EMPTYROW (5), ROW (cc107_geom_row2, 7), ROW (cc107_geom_row3, 7), ROW (cc107_geom_row4, 7), ROW (cc107_geom_row5, 7), ROW (cc107_geom_row6, 7), }; static const struct keyboard_geometry cc107_geom = { sizeof (cc107_geom_rows) / sizeof (struct keyboard_row_geometry), cc107_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tt-map.h0000644000175000017500000000717310206731451013334 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Atari TT (USA) keyboard. * By Mats Wichmann . */ static const struct default_keycode_map tt_map [] = { { 9, 0, { XK_Escape, XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace, XK_BackSpace }}, { 23, 0, { XK_Tab, XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return, XK_Return }}, { 37, ControlMask, { XK_Control_L, XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L, XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R, XK_Shift_R }}, { 64, Mod1Mask, { XK_Mode_switch, XK_Meta_L }}, { 65, 0, { XK_space, XK_space }}, { 66, LockMask, { XK_Caps_Lock, XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F1 }}, { 68, 0, { XK_F2, XK_F2 }}, { 69, 0, { XK_F3, XK_F3 }}, { 70, 0, { XK_F4, XK_F4 }}, { 71, 0, { XK_F5, XK_F5 }}, { 72, 0, { XK_F6, XK_F6 }}, { 73, 0, { XK_F7, XK_F7 }}, { 74, 0, { XK_F8, XK_F8 }}, { 75, 0, { XK_F9, XK_F9 }}, { 76, 0, { XK_F10, XK_F10 }}, { 79, 0, { XK_Home, XK_Clear }}, { 80, 0, { XK_Up, XK_Up }}, { 82, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 83, 0, { XK_Left, XK_Left }}, { 85, 0, { XK_Right, XK_Right }}, { 86, 0, { XK_KP_Add, XK_KP_Add }}, { 88, 0, { XK_Down, XK_Down }}, { 90, 0, { XK_Insert, XK_Insert }}, { 91, 0, { XK_Delete, XK_Delete }}, { 105, 0, { XK_Undo, XK_Undo }}, { 106, 0, { XK_Help, XK_Help }}, { 107, 0, { XK_parenleft, XK_parenleft }}, { 108, 0, { XK_parenright, XK_parenright }}, { 109, 0, { XK_KP_Divide, XK_KP_Divide }}, { 110, 0, { XK_KP_Multiply, XK_KP_Multiply }}, { 111, 0, { XK_KP_7, XK_KP_7 }}, { 112, 0, { XK_KP_8, XK_KP_8 }}, { 113, 0, { XK_KP_9, XK_KP_9 }}, { 114, 0, { XK_KP_4, XK_KP_4 }}, { 115, 0, { XK_KP_5, XK_KP_5 }}, { 116, 0, { XK_KP_6, XK_KP_6 }}, { 117, 0, { XK_KP_1, XK_KP_1 }}, { 118, 0, { XK_KP_2, XK_KP_2 }}, { 119, 0, { XK_KP_3, XK_KP_3 }}, { 120, 0, { XK_KP_0, XK_KP_0 }}, { 121, 0, { XK_KP_Decimal, XK_KP_Decimal }}, { 122, 0, { XK_KP_Enter, XK_KP_Enter }} }; xkeycaps-2.47/kbds/kinesis-sparc-map.h0000644000175000017500000001133410206731451015452 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keymap of the Kinesis "Classic" keyboard (KB133PC) * with Solaris 2.5.1/OpenWindows 3.5.25 running on a SparcStation * via the Sun Interface Converter (part # 370-2068-01). * * Note that this is subtlely different than ms104-sparc-map.h in the modifier * map. * * Submitted by Yair Zadik (yair@alumni.caltech.edu) */ const struct default_keycode_map kinesis_sparc_map [] = { { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 9, 0, { SunXK_AudioLowerVolume, SunXK_VideoLowerBrightness }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 11, 0, { SunXK_AudioRaiseVolume, SunXK_VideoRaiseBrightness }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod1Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, 0, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { SunXK_AudioMute, SunXK_VideoDegauss }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 55, 0, { SunXK_PowerSwitch, SunXK_PowerSwitchShift }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, 0, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_KP_Insert, XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, 0, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod4Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod4Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add }}, }; xkeycaps-2.47/kbds/sun5jp-xc-map.h0000644000175000017500000002367010206731451014541 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Sun type 5 Japanese keyboard * as interpreted by MIT X11R5 after having applied the UNOFFICIAL patch found * in "ftp.x.org:/pub/sunkbd.930314.tar.Z". * Generated by Kazutaka Yokota (yokota@zodiac.mech.utsunomiya-u.ac.jp). */ static const struct default_keycode_map sun5jp_xc_map [] = { /* these have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 22, 0, { 0 }}, /* non-existent? */ { 52, 0, { 0 }}, /* DeGause, SoundOff */ { 55, 0, { 0 }}, /* Power */ { 82, 0, { 0 }}, /* non-existent? */ { 131, 0, { 0 }}, /* non-existent? */ { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, 0, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam, XK_kana_NU }}, { 38, 0, { XK_2, XK_quotedbl, XK_kana_FU }}, { 39, 0, { XK_3, XK_numbersign, XK_kana_A, XK_kana_a }}, { 40, 0, { XK_4, XK_dollar, XK_kana_U, XK_kana_u }}, { 41, 0, { XK_5, XK_percent, XK_kana_E, XK_kana_e }}, { 42, 0, { XK_6, XK_ampersand, XK_kana_O, XK_kana_o }}, { 43, 0, { XK_7, XK_apostrophe, XK_kana_YA, XK_kana_ya }}, { 44, 0, { XK_8, XK_parenleft, XK_kana_YU, XK_kana_yu }}, { 45, 0, { XK_9, XK_parenright, XK_kana_YO, XK_kana_yo }}, { 46, 0, { XK_0, XK_0, XK_kana_WA, XK_kana_WO }}, { 47, 0, { XK_minus, XK_equal, XK_kana_HO }}, { 48, 0, { XK_asciicircum, XK_asciitilde, XK_kana_HE }}, { 49, 0, { XK_backslash, XK_bar, XK_prolongedsound }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_q, XK_Q, XK_kana_TA }}, { 62, 0, { XK_w, XK_W, XK_kana_TE }}, { 63, 0, { XK_e, XK_E, XK_kana_I, XK_kana_i }}, { 64, 0, { XK_r, XK_R, XK_kana_SU }}, { 65, 0, { XK_t, XK_T, XK_kana_KA }}, { 66, 0, { XK_y, XK_Y, XK_kana_N }}, { 67, 0, { XK_u, XK_U, XK_kana_NA }}, { 68, 0, { XK_i, XK_I, XK_kana_NI }}, { 69, 0, { XK_o, XK_O, XK_kana_RA }}, { 70, 0, { XK_p, XK_P, XK_kana_SE }}, { 71, 0, { XK_at, XK_grave, XK_voicedsound }}, { 72, 0, { XK_bracketleft, XK_braceleft, XK_semivoicedsound, XK_kana_openingbracket }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, 0, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_a, XK_A, XK_kana_CHI }}, { 85, 0, { XK_s, XK_S, XK_kana_TO }}, { 86, 0, { XK_d, XK_D, XK_kana_SHI }}, { 87, 0, { XK_f, XK_F, XK_kana_HA }}, { 88, 0, { XK_g, XK_G, XK_kana_KI }}, { 89, 0, { XK_h, XK_H, XK_kana_KU }}, { 90, 0, { XK_j, XK_J, XK_kana_MA }}, { 91, 0, { XK_k, XK_K, XK_kana_NO }}, { 92, 0, { XK_l, XK_L, XK_kana_RI }}, { 93, 0, { XK_semicolon, XK_plus, XK_kana_RE }}, { 94, 0, { XK_colon, XK_asterisk, XK_kana_KE }}, { 95, 0, { XK_bracketright, XK_braceright, XK_kana_MU, XK_kana_closingbracket }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, 0, { XK_F20, XK_F20, SunXK_Cut }}, { 105, 0, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_z, XK_Z, XK_kana_TSU, XK_kana_tsu }}, { 108, 0, { XK_x, XK_X, XK_kana_SA }}, { 109, 0, { XK_c, XK_C, XK_kana_SO }}, { 110, 0, { XK_v, XK_V, XK_kana_HI }}, { 111, 0, { XK_b, XK_B, XK_kana_KO }}, { 112, 0, { XK_n, XK_N, XK_kana_MI }}, { 113, 0, { XK_m, XK_M, XK_kana_MO }}, { 114, 0, { XK_comma, XK_less, XK_kana_NE, XK_kana_comma }}, { 115, 0, { XK_period, XK_greater, XK_kana_RU, XK_kana_fullstop }}, { 116, 0, { XK_slash, XK_question, XK_kana_ME, XK_kana_conjunctive }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_backslash, XK_underscore, XK_kana_RO }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 122, 0, { XK_Execute }}, { 123, 0, { XK_Kanji }}, { 124, 0, { XK_Henkan_Mode }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_Divide }}, { 134, 0, { XK_KP_Multiply }}, { 135, 0, { XK_KP_Decimal }}, { 136, 0, { XK_KP_7 }}, { 137, 0, { XK_KP_8 }}, { 138, 0, { XK_KP_9 }}, { 139, 0, { XK_KP_Subtract }}, { 140, 0, { XK_KP_Enter }}, { 141, 0, { XK_KP_4 }}, { 142, 0, { XK_KP_5 }}, { 143, 0, { XK_KP_6 }}, { 144, 0, { XK_KP_0 }}, { 145, 0, { XK_KP_1 }}, { 146, 0, { XK_KP_2 }}, { 147, 0, { XK_KP_3 }}, { 148, 0, { XK_KP_Add }}, { 149, 0, { XK_nobreakspace }}, { 150, 0, { XK_exclamdown }}, { 151, 0, { XK_cent }}, { 152, 0, { XK_sterling }}, { 153, 0, { XK_currency }}, { 154, 0, { XK_yen }}, { 155, 0, { XK_brokenbar }}, { 156, 0, { XK_section }}, { 157, 0, { XK_diaeresis }}, { 158, 0, { XK_copyright }}, { 159, 0, { XK_ordfeminine }}, { 160, 0, { XK_guillemotleft }}, { 161, 0, { XK_notsign }}, { 162, 0, { XK_hyphen }}, { 163, 0, { XK_registered }}, { 164, 0, { XK_macron }}, { 165, 0, { XK_degree }}, { 166, 0, { XK_plusminus }}, { 167, 0, { XK_twosuperior }}, { 168, 0, { XK_threesuperior }}, { 169, 0, { XK_acute }}, { 170, 0, { XK_mu }}, { 171, 0, { XK_paragraph }}, { 172, 0, { XK_periodcentered }}, { 173, 0, { XK_cedilla }}, { 174, 0, { XK_onesuperior }}, { 175, 0, { XK_masculine }}, { 176, 0, { XK_guillemotright }}, { 177, 0, { XK_onequarter }}, { 178, 0, { XK_onehalf }}, { 179, 0, { XK_threequarters }}, { 180, 0, { XK_questiondown }}, { 181, 0, { XK_Agrave, XK_Agrave }}, { 182, 0, { XK_Aacute, XK_Aacute }}, { 183, 0, { XK_Acircumflex, XK_Acircumflex }}, { 184, 0, { XK_Atilde, XK_Atilde }}, { 185, 0, { XK_Adiaeresis, XK_Adiaeresis }}, { 186, 0, { XK_Aring, XK_Aring }}, { 187, 0, { XK_AE, XK_AE }}, { 188, 0, { XK_Ccedilla, XK_Ccedilla }}, { 189, 0, { XK_Egrave, XK_Egrave }}, { 190, 0, { XK_Eacute, XK_Eacute }}, { 191, 0, { XK_Ecircumflex, XK_Ecircumflex }}, { 192, 0, { XK_Ediaeresis, XK_Ediaeresis }}, { 193, 0, { XK_Igrave, XK_Igrave }}, { 194, 0, { XK_Iacute, XK_Iacute }}, { 195, 0, { XK_Icircumflex, XK_Icircumflex }}, { 196, 0, { XK_Idiaeresis, XK_Idiaeresis }}, { 197, 0, { XK_ETH, XK_ETH }}, { 198, 0, { XK_Ntilde, XK_Ntilde }}, { 199, 0, { XK_Ograve, XK_Ograve }}, { 200, 0, { XK_Oacute, XK_Oacute }}, { 201, 0, { XK_Ocircumflex, XK_Ocircumflex }}, { 202, 0, { XK_Otilde, XK_Otilde }}, { 203, 0, { XK_Odiaeresis, XK_Odiaeresis }}, { 204, 0, { XK_multiply }}, { 205, 0, { XK_Ooblique, XK_Ooblique }}, { 206, 0, { XK_Ugrave, XK_Ugrave }}, { 207, 0, { XK_Uacute, XK_Uacute }}, { 208, 0, { XK_Ucircumflex, XK_Ucircumflex }}, { 209, 0, { XK_Udiaeresis, XK_Udiaeresis }}, { 210, 0, { XK_Yacute, XK_Yacute }}, { 211, 0, { XK_THORN, XK_THORN }}, { 212, 0, { XK_ssharp }}, { 213, 0, { XK_agrave, XK_agrave }}, { 214, 0, { XK_aacute, XK_aacute }}, { 215, 0, { XK_acircumflex, XK_acircumflex }}, { 216, 0, { XK_atilde, XK_atilde }}, { 217, 0, { XK_adiaeresis, XK_adiaeresis }}, { 218, 0, { XK_aring, XK_aring }}, { 219, 0, { XK_ae, XK_ae }}, { 220, 0, { XK_ccedilla, XK_ccedilla }}, { 221, 0, { XK_egrave, XK_egrave }}, { 222, 0, { XK_eacute, XK_eacute }}, { 223, 0, { XK_ecircumflex, XK_ecircumflex }}, { 224, 0, { XK_ediaeresis, XK_ediaeresis }}, { 225, 0, { XK_igrave, XK_igrave }}, { 226, 0, { XK_iacute, XK_iacute }}, { 227, 0, { XK_icircumflex, XK_icircumflex }}, { 228, 0, { XK_idiaeresis, XK_idiaeresis }}, { 229, 0, { XK_eth, XK_eth }}, { 230, 0, { XK_ntilde, XK_ntilde }}, { 231, 0, { XK_ograve, XK_ograve }}, { 232, 0, { XK_oacute, XK_oacute }}, { 233, 0, { XK_ocircumflex, XK_ocircumflex }}, { 234, 0, { XK_otilde, XK_otilde }}, { 235, 0, { XK_odiaeresis, XK_odiaeresis }}, { 236, 0, { XK_division }}, { 237, 0, { XK_oslash, XK_oslash }}, { 238, 0, { XK_ugrave, XK_ugrave }}, { 239, 0, { XK_uacute, XK_uacute }}, { 240, 0, { XK_ucircumflex, XK_ucircumflex }}, { 241, 0, { XK_udiaeresis, XK_udiaeresis }}, { 242, 0, { XK_yacute, XK_yacute }}, { 243, 0, { XK_thorn, XK_thorn }}, { 244, 0, { XK_ydiaeresis }}, }; xkeycaps-2.47/kbds/sun5es-geom.h0000644000175000017500000000413410206731451014273 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the physical layout of the Sun type 5 keyboards with * Spanish layout. By anonymous. * */ static const struct key_geometry sun5es_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5es_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5es_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {8, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5es_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {37, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5es_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {9, 7}, {7,7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5es_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {57, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun5es_geom_rows [] = { ROW (sun5es_geom_row0, 7), EMPTYROW (7), ROW (sun5es_geom_row1, 7), ROW (sun5es_geom_row2, 7), ROW (sun5es_geom_row3, 7), ROW (sun5es_geom_row4, 7), ROW (sun5es_geom_row5, 7), }; static const struct keyboard_geometry sun5es_geom = { sizeof (sun5es_geom_rows) / sizeof (struct keyboard_row_geometry), sun5es_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/lk401sf-caps.h0000644000175000017500000000371210206731451014235 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the key surfaces of the Swedish DEC LK401 keyboard, * By Torbj|rn Lindgren */ static const struct key_strings lk401sf_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"F13", 0}, {"F14", 0}, {"Hjdlp", 0}, {"Utfvr", 0}, {"F17", 0}, {"F18", 0}, {"F19", 0}, {"F20", 0}, /* Row 2 */ {"0", "~", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"'", "3", "@"}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "+", 0}, {"`", "^", 0}, {"", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Kombinera", "tecken", 0}, {"Alternativ", "funktion", 0}, {" ", 0}, {"Alternativ", "Funktion", 0}, {"Kombinera", "tecken", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/pc101-caps.h0000644000175000017500000000363410206731451013700 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of your basic 101 key PC-style * keyboard. Lots of vendors' keyboards are shaped like this. */ static const struct key_strings pc101_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pc84-codes.h0000644000175000017500000000132510206731451013774 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996, 1999 * Jamie Zawinski * * This file describes the keycodes of a classic 84 key PC/AT keyboard * on Red Hat 6.0 Linux running the XFree86. * by Ken Rose */ static const KeyCode pc84_codes [] = { /* Row 1 */ 67, 68, 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 51, 22, 9, 77, 78, 92, /* Row 2 */ 69, 70, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 79, 80, 81, 63, /* Row 3 */ 71, 72, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 83, 84, 85, 82, /* Row 4 */ 73, 74, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 87, 88, 89, 86, /* Row 6 */ 75, 76, 64, 65, 66, 90, 91 }; xkeycaps-2.47/kbds/nws1250-codes.h0000644000175000017500000000221510206731451014334 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the SONY NWS1250 keyboard. * By Pavel Rosendorf * * The blank key between "?" and "Shift_R" is physically disabled (you have to * open up the keyboard and remove a piece of plastic to enable it) but once * you do that it generates keycode 72. * * The blank key between "Alt" and "Caps" is also physically disabled, and is * rather strange once you enable it: it generates the keycodes 79 and 80 * alternately; that is, it will generate the sequence * 79 KeyPress, 79 KeyRelease, 80 KeyPress, 80 KeyRelease * if pressed and released twice. */ static const KeyCode nws1250_codes [] = { /* Row 0 */ 0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, /* Row 2 */ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, /* Row 3 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 60, /* Row 4 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, /* Row 5 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, /* Row 6 */ 74, 79, 75, 76, 77, 78, 98, 99, 95, 100, 81 }; xkeycaps-2.47/kbds/sun5pc-ow-map.h0000644000175000017500000001100110206731451014526 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 5 PC-style keyboard * as interpreted by OpenWindows R4 servers. * By Carl Witty and Sylvain Meunier . */ static const struct default_keycode_map sun5pc_ow_map [] = { /* these keys have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 52, 0, { 0 }}, /* Degauss, Mute */ { 55, 0, { 0 }}, /* Power */ { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter, XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock, XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help, XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add, XK_KP_Add }} }; xkeycaps-2.47/kbds/xfree86de-map.h0000644000175000017500000001011510206731451014473 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the default DE keymap used by the XFree86 3.1.1 server. * Generated by Matthias Rabe . */ static const struct default_keycode_map xfree86de_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 12, 0, { XK_3, XK_section, XK_threesuperior }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, XK_braceright }}, { 20, 0, { XK_ssharp, XK_question, XK_backslash }}, { 21, 0, { XK_apostrophe, XK_grave }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at }}, { 25, 0, { XK_w, XK_W, XK_w }}, { 26, 0, { XK_e, XK_E, XK_e }}, { 27, 0, { XK_r, XK_R, XK_r }}, { 28, 0, { XK_t, XK_T, XK_t }}, { 29, 0, { XK_z, XK_Z, XK_z }}, { 30, 0, { XK_u, XK_U, XK_u }}, { 31, 0, { XK_i, XK_I, XK_i }}, { 32, 0, { XK_o, XK_O, XK_o }}, { 33, 0, { XK_p, XK_P, XK_p }}, { 34, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 35, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A, XK_a }}, { 39, 0, { XK_s, XK_S, XK_s }}, { 40, 0, { XK_d, XK_D, XK_d }}, { 41, 0, { XK_f, XK_F, XK_f }}, { 42, 0, { XK_g, XK_G, XK_g }}, { 43, 0, { XK_h, XK_H, XK_h }}, { 44, 0, { XK_j, XK_J, XK_j }}, { 45, 0, { XK_k, XK_K, XK_k }}, { 46, 0, { XK_l, XK_L, XK_l }}, { 47, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 48, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 49, 0, { XK_asciicircum, XK_degree }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_numbersign, XK_apostrophe }}, { 52, 0, { XK_y, XK_Y, XK_y }}, { 53, 0, { XK_x, XK_X, XK_x }}, { 54, 0, { XK_c, XK_C, XK_c }}, { 55, 0, { XK_v, XK_V, XK_v }}, { 56, 0, { XK_b, XK_B, XK_b }}, { 57, 0, { XK_n, XK_N, XK_n }}, { 58, 0, { XK_m, XK_M, XK_mu }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, Mod5Mask, { XK_Mode_switch, 0x1007FF01 }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Separator }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 101, 0, { XK_Begin }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, 0, { XK_Multi_key }}, { 110, 0, { XK_Pause }}, { 111, 0, { XK_Print }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod5Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }}, { 115, 0, { 0 }}, { 116, 0, { 0 }}, { 117, 0, { 0 }} }; xkeycaps-2.47/kbds/ncd102sf-codes.h0000644000175000017500000000155210206731451014540 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD N102 Swedish/Finnish * keyboard. By Pekka Nikander */ static const KeyCode ncd102sf_codes [] = { /* Row 0 */ 8, 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 95, 98, /* Row 2 */ 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 103, 110, 111, 118, 119, 126, 123, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 90, 100, 101, 109, 108, 117, 125, 124, /* Row 4 */ 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 83, 107, 115, 116, /* Row 5 */ 18, 19, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 99, 105, 114, 122, 121, /* Row 6 */ 17, 25, 41, 0, /* "Alt Gr" key generates no keycode (should be 57?) */ 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/pc101-2-codes.h0000644000175000017500000000170210206731451014200 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of a "MITSUMI KPQ-E99YC" 101 key * AT/XT switchable PC-style keyboard under Linux with XFree86 2.0. * This differs from the keyboard we know as `pc101' in the placement * of the "\ and |" key. * By Gord Vreugdenhil */ static const KeyCode pc101_2_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 51, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 64, 65, 113, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/pc102sr-caps.h0000644000175000017500000000405010206731451014237 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999 * Jamie Zawinski * * This file describes the key surfaces of a swiss french (qwertz) 102 keys * PC-style keyboard. * By Martin Ouwehand */ static const struct key_strings pc102sr_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtSc", "", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, /* Row 2 */ {"\260", "\247", 0}, {"+", "1", "\246"}, {"\"", "2", "@"}, {"*", "3", "#"}, {"\347", "4", 0}, {"%", "5", 0}, {"&", "6", "\254"}, {"/", "7", "|"}, {"(", "8", "\242"}, {")", "9", 0}, {"=", "0", 0}, {"?", "'", "\264"}, {"`", "^", "~"}, {"BackSpace", 0}, {"Insert", 0}, {"Home", 0}, {"PgUp", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\374", "\350", "[" }, {"!", "\250", "]" }, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"PgDn", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\366", "\351", 0}, {"\344", "\340", "{"}, {"\243", "$", "}"}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", "\\"}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/openwin104-map.h0000644000175000017500000000737510206731451014615 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996, 1997 * Jamie Zawinski * * This file describes the default map of a 101 or 104 key keyboard for * Solaris 5.5.1/Intel and OpenWindows. * By Dave Carrigan . */ static const struct default_keycode_map openwin104_map [] = { { 8, 0, { XK_grave, XK_asciitilde }}, { 9, 0, { XK_1, XK_exclam }}, { 10, 0, { XK_2, XK_at }}, { 11, 0, { XK_3, XK_numbersign }}, { 12, 0, { XK_4, XK_dollar }}, { 13, 0, { XK_5, XK_percent }}, { 14, 0, { XK_6, XK_asciicircum }}, { 15, 0, { XK_7, XK_ampersand }}, { 16, 0, { XK_8, XK_asterisk }}, { 17, 0, { XK_9, XK_parenleft }}, { 18, 0, { XK_0, XK_parenright }}, { 19, 0, { XK_minus, XK_underscore }}, { 20, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_Q }}, { 25, 0, { XK_W }}, { 26, 0, { XK_E }}, { 27, 0, { XK_R }}, { 28, 0, { XK_T }}, { 29, 0, { XK_Y }}, { 30, 0, { XK_U }}, { 31, 0, { XK_I }}, { 32, 0, { XK_O }}, { 33, 0, { XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 37, LockMask, { XK_Caps_Lock }}, { 38, 0, { XK_A }}, { 39, 0, { XK_S }}, { 40, 0, { XK_D }}, { 41, 0, { XK_F }}, { 42, 0, { XK_G }}, { 43, 0, { XK_H }}, { 44, 0, { XK_J }}, { 45, 0, { XK_K }}, { 46, 0, { XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 50, 0, { XK_Return }}, { 51, ShiftMask, { XK_Shift_L }}, { 53, 0, { XK_Z }}, { 54, 0, { XK_X }}, { 55, 0, { XK_C }}, { 56, 0, { XK_V }}, { 57, 0, { XK_B }}, { 58, 0, { XK_N }}, { 59, 0, { XK_M }}, { 60, 0, { XK_comma, XK_less }}, { 61, 0, { XK_period, XK_greater }}, { 62, 0, { XK_slash, XK_question }}, { 64, ShiftMask, { XK_Shift_R }}, { 65, ControlMask, { XK_Control_L }}, { 66, Mod4Mask, { XK_Meta_L }}, { 67, Mod1Mask, { XK_Alt_L }}, { 68, 0, { XK_space }}, { 69, Mod1Mask, { XK_Alt_R }}, { 70, Mod4Mask, { XK_Meta_R }}, { 71, ControlMask, { XK_Control_R }}, { 72, 0, { XK_Menu }}, { 82, 0, { XK_Insert }}, { 83, 0, { XK_Delete }}, { 86, 0, { XK_Left }}, { 87, 0, { XK_Home }}, { 88, 0, { XK_End }}, { 90, 0, { XK_Up }}, { 91, 0, { XK_Down }}, { 92, 0, { XK_Prior }}, { 93, 0, { XK_Next }}, { 96, 0, { XK_Right }}, { 97, Mod3Mask, { XK_Num_Lock }}, { 98, 0, { XK_Home, XK_KP_7, XK_KP_7 }}, { 99, 0, { XK_Left, XK_KP_4, XK_KP_4 }}, { 100, 0, { XK_End, XK_KP_1, XK_KP_1 }}, { 102, 0, { XK_KP_Divide }}, { 103, 0, { XK_Up, XK_KP_8, XK_KP_8 }}, { 104, 0, { XK_KP_5, XK_KP_5, XK_KP_5 }}, { 105, 0, { XK_Down, XK_KP_2, XK_KP_2 }}, { 106, 0, { XK_KP_Insert, XK_KP_0, XK_KP_0 }}, { 107, 0, { XK_KP_Multiply }}, { 108, 0, { XK_Prior, XK_KP_9, XK_KP_9 }}, { 109, 0, { XK_Right, XK_KP_6, XK_KP_6 }}, { 110, 0, { XK_Next, XK_KP_3, XK_KP_3 }}, { 111, 0, { XK_Delete, XK_KP_Decimal, XK_KP_Decimal }}, { 112, 0, { XK_KP_Subtract }}, { 113, 0, { XK_KP_Add }}, { 115, 0, { XK_KP_Enter }}, { 117, 0, { XK_Escape }}, { 119, 0, { XK_F1 }}, { 120, 0, { XK_F2 }}, { 121, 0, { XK_F3 }}, { 122, 0, { XK_F4 }}, { 123, 0, { XK_F5 }}, { 124, 0, { XK_F6 }}, { 125, 0, { XK_F7 }}, { 126, 0, { XK_F8 }}, { 127, 0, { XK_F9 }}, { 128, 0, { XK_F10 }}, { 129, 0, { SunXK_F36 }}, { 130, 0, { SunXK_F37 }}, { 131, 0, { XK_Print, SunXK_Sys_Req }}, { 132, 0, { XK_Scroll_Lock }}, { 133, 0, { XK_Pause, XK_Break }}, { 135, 0, { XK_Multi_key }}, { 136, 0, { XK_Mode_switch }} }; xkeycaps-2.47/kbds/ncd107-caps.h0000644000175000017500000000407510206731451014050 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the key surfaces of the NCD 107 keyboard. * By Ronan Waide */ static const struct key_strings ncd107_caps [] = { /* Row 0 */ {"Stop", "L1", 0}, {"Again", "L2", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"|", "\\", 0}, {"Delete", 0}, {"Pause", "R1", 0}, {"PrSc", "R2", 0}, {"Scroll", "Lock", 0}, {"Num", "Lock", 0}, /* Row 1 */ {"Props", "L3", 0}, {"Undo", "L4", 0}, {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"=", "R4", 0}, {"/", "R5", 0}, {"*", "R6", 0}, {"-", 0}, /* Row 2 */ {"Front", "L5", 0}, {"Copy", "L6", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Return", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Open", "L7", 0}, {"Paste", "L8", 0}, {"Control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"~", "`", 0}, {"4", "LeftArrow", 0}, {"5", "R11", 0}, {"6", "RightArrow", 0}, /* Row 4 */ {"Find", "L9", 0}, {"Cut", "L10", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"Line ", "Feed", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Help", 0}, {"Caps", "Lock", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com ", "pose", 0}, {"Alt", "Graph", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ms105sf-caps.h0000644000175000017500000000423210206731451014245 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1999 * Jamie Zawinski * * This file describes the key surfaces of the Microsoft "Natural" keyboard * with Swedish/Finnish layout. * It's pretty much the same as pc102sf-caps.h, except for the additional * modifier keys in the bottom row. * By Tor Lillqvist . */ static const struct key_strings ms105sf_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtScr", "SysRq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\275", "$", 0}, {"!", "1", 0}, {"\"", "2 @", 0}, {"#", "3 \243", 0}, {"\244","4 $", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"=", "0 }", 0}, {"?", "+ \\", 0}, {"`", "'", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0, 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"^", "\250 ~", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"*", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "< |", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/lk450-caps.h0000644000175000017500000000056010206731451013706 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the key surfaces of the DEC LK450 keyboard. * It uses conditionalisations in lk201-caps.h, since the keyboards are * physically quite similar. * * Robin Stephenson 1998 * */ #define LK450_KLUDGE #include "lk201-caps.h" #undef LK450_KLUDGE xkeycaps-2.47/kbds/lk201-codes.h0000644000175000017500000000204510206731451014047 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the DEC LK201 and LK401 keyboards. * By Tom Ivar Helbekkmo and jwz. */ #ifdef LK401_KLUDGE # define lk201_codes lk401_codes #endif static const KeyCode lk201_codes [] = { /* Row 0 */ 86, 87, 88, 89, 90, 100, 101, 102, 103, 104, 113, 114, 115, 116, 124, 125, 128, 129, 130, 131, /* Row 2 */ 191, 192, 197, 203, 208, 214, 219, 224, 229, 234, 239, 249, 245, 188, 138, 139, 140, 161, 162, 163, 164, /* Row 3 */ 190, 193, 198, 204, 209, 215, 220, 225, 230, 235, 240, 250, 246, 189, 141, 142, 143, 157, 158, 159, 160, /* Row 4 */ 175, 176, 194, 199, 205, 210, 216, 221, 226, 231, 236, 242, 251, 247, 170, 153, 154, 155, 156, /* Row 5 */ 174, 201, 195, 200, 206, 211, 217, 222, 227, 232, 237, 243, 171, 167, 169, 168, 150, 151, 152, 149, /* Row 6 */ #ifdef LK401_KLUDGE 177, 172, 212, 178, 173, #else /* LK201 */ 177, 212, #endif 146, 148 }; #undef lk201_codes xkeycaps-2.47/kbds/labtam-caps.h0000644000175000017500000000413210206731451014306 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Labtam MT200 keyboard * (Australian layout), which is really a Honeywell-101RXd keyboard, * also used with some IBM PCs. By Anthony Thyssen . */ static const struct key_strings labtam_caps [] = { /* Row 0 */ {0, "Esc", 0}, {0, "F1", 0}, {0, "F2", 0}, {0, "F3", 0}, {0, "F4", 0}, {0, "F5", 0}, {0, "F6", 0}, {0, "F7", 0}, {0, "F8", 0}, {0, "F9", 0}, {0, "F10", 0}, {0, "F11", 0}, {0, "F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {0, "Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {0, "LeftArrow", 0}, {0, "Insert", 0}, {0, "Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {0, "/", 0}, {0, "*", 0}, {0, "-", 0}, /* Row 3 */ {0, "Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {0, "Delete", 0}, {0, "End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"", "+", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {0, "Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {0, "Shift", 0}, {0, "UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {0, "Enter", 0}, /* Row 6 */ {0, "Ctrl", 0}, {0, "Alt", 0}, {" ", 0}, {0, "Alt", 0}, {0, "Ctrl", 0}, {0, "LeftArrow", 0}, {0, "DownArrow", 0}, {0, "RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/xfree86br-map.h0000644000175000017500000000751010206731451014513 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the default BR keymap used by the XFree86 3.x server. * By Andre Gerhard - 05/12/98 */ static const struct default_keycode_map xfree86br_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_dead_diaeresis }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_dead_acute, XK_dead_grave }}, { 35, 0, { XK_bracketleft, XK_braceleft }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_ccedilla, XK_Ccedilla }}, { 48, 0, { XK_dead_tilde, XK_dead_circumflex }}, { 49, 0, { XK_apostrophe, XK_quotedbl }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_bracketright, XK_braceright }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_semicolon, XK_colon }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 94, 0, { XK_backslash, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, Mod4Mask, { XK_Meta_R }}, { 117, 0, { XK_Menu }}, { 123, 0, { XK_slash, XK_question }}, { 134, 0, { XK_KP_Separator }} }; xkeycaps-2.47/kbds/tek200u-swde-map.h0000644000175000017500000000700310206731451015027 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "swiss-german" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_swde_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_exclam, XK_degree }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_plus }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Y }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_ccedilla }}, { 46, 0, { XK_3, XK_asterisk }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Z }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_odiaeresis, XK_eacute }}, { 85, 0, { XK_P }}, { 86, 0, { XK_apostrophe, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_adiaeresis, XK_agrave }}, { 91, 0, { XK_dollar, XK_sterling }}, { 92, 0, { XK_udiaeresis, XK_egrave }}, { 93, 0, { XK_asciicircum, XK_grave }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_diaeresis, XK_asciitilde }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/sun5de-caps.h0000644000175000017500000000450410206731451014254 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of the Sun type 5 keyboard with German * layout. * By Carl Witty , Sylvain Meunier , * and Andreas Schuch . */ static const struct key_strings sun5de_caps [] = { /* Row 0 */ {"Help", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Degauss", "Mute", 0}, {"Dim", "Quiet", 0}, {"Bright", "Loud", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"°", "^", 0}, {"!", "1", 0}, {"\"", "2", "²"}, {"§", "3", "³"}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "ß", "\\"}, /**/ {0}, {"Back ", "Space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"÷", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", "", "@"}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"Ü", 0}, {"*", "+", "~"}, {"Enter", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"Ö", 0}, {"Ä", 0}, {"'", "#", "`"}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {">", "<", "|"}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", "", "µ"}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"upArrow", 0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/shine106-codes.h0000644000175000017500000000221110206731451014546 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Microsoft "Natural" keyboard * (part 58221) with XFree86 3.1. It is basically the same as * linux101-2-codes.h, except for the differences in geometry. * By Matthias Rabe * * Unfortunately, the new modifier keys in the bottom row (the "Microsoft" * and "Menu" keys) do not generate keycodes on some versions of XFree86, * and thus cannot be bound. */ static const KeyCode shine106_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 83, 84, 85, /* Row 5 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 65, 113, 116, 117, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/ms105se-codes.h0000644000175000017500000000155210206731451014415 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keycodes of the Microsoft "Natural" keyboard * with Swedish layout via the Sun Interface Converter (part # 370-2068-01). * By Leif Nixon . * */ static const KeyCode ms105se_codes [] = { /* Row 0 */ 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, /* Row 1 */ 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, /* Row 4 */ 106, 131, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ 83, 0, 26, 128, 20, 0, 0, 129, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/amiga-de-caps.h0000644000175000017500000000343610206731451014520 0ustar cbcb/* xkeycaps, Copyright (c) 1991-1998 Jamie Zawinski * * This file describes the key labeling of a german amiga keyboard (non-A1000). * By Peter Remmers */ static const struct key_strings amiga_de_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"\247", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "\337", 0}, {"`", "'", 0}, {"\\", "|", 0}, {"<-", 0}, {"Del", 0}, {"Help", 0}, {"{", "[", 0}, {"}", "]", 0}, {"/", 0}, {"*", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0 }, {"*", "+", 0 }, {"Return", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"-", 0}, /* Row 4 */ {"Ctrl", 0}, {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"^", "#", 0}, {"UpArrow", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, {"+", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Alt", 0}, {"Amiga", 0}, {" ", 0}, {"Amiga", 0}, {"Alt", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ms105-geom.h0000644000175000017500000000371210206731451013717 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the physical layout of the Microsoft "Natural" keyboard (part 58221). */ static const struct key_geometry ms105_geom_row0 [] = { {3, 0}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {17, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ms105_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 7}, {10, 0}, {11, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ms105_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {13, 7}, {10, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {7, 14}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ms105_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {10, 0}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {39, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ms105_geom_row5 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 0}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {16, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ms105_geom_row6 [] = { {12, 7}, {12, 7}, {12, 7}, {38, 7}, {10, 7}, {10, 7}, {10, 7}, {11, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry ms105_geom_rows [] = { ROW (ms105_geom_row0, 7), EMPTYROW (5), ROW (ms105_geom_row2, 7), ROW (ms105_geom_row3, 7), ROW (ms105_geom_row4, 7), ROW (ms105_geom_row5, 7), ROW (ms105_geom_row6, 7), }; static const struct keyboard_geometry ms105_geom = { sizeof (ms105_geom_rows) / sizeof (struct keyboard_row_geometry), ms105_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/chergo-geom.h0000644000175000017500000000363710206731451014327 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * This file describes the physical layout of the Cherry ErgoPlus keyboards * with German layout. * By Berthold Gunreben * */ static const struct key_geometry chergo_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry chergo_geom_row1 [] = { {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {13, 7}, {3, 0}, {7, 7}, {7, 7} }; static const struct key_geometry chergo_geom_row2 [] = { {7, 7}, {3, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {8, 14}, {3, 0}, {7, 7}, {7, 7} }; static const struct key_geometry chergo_geom_row3 [] = { {7, 7}, {3, 0}, {11, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7} }; static const struct key_geometry chergo_geom_row4 [] = { {7, 7}, {3, 0}, {8, 7}, {7,7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {11, 0}, {7, 7} }; static const struct key_geometry chergo_geom_row5 [] = { {7, 7}, {3, 0}, {10, 7}, {3, 0}, {10, 7}, {24, 7}, {2, 0}, {24, 7}, {10, 7}, {3, 0}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct keyboard_row_geometry chergo_geom_rows [] = { ROW (chergo_geom_row0, 7), EMPTYROW (7), ROW (chergo_geom_row1, 7), ROW (chergo_geom_row2, 7), ROW (chergo_geom_row3, 7), ROW (chergo_geom_row4, 7), ROW (chergo_geom_row5, 7), }; static const struct keyboard_geometry chergo_geom = { sizeof (chergo_geom_rows) / sizeof (struct keyboard_row_geometry), chergo_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/ms105be-caps.h0000644000175000017500000000420510206731451014223 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * Key surface description file of the 105 keys PC-style keyboard, belgian * layout (azerty) with the additional modifier keys in the bottom row. * By Bart Van Cutsem */ static const struct key_strings ms105be_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Scrn", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, /* Row 2 */ {"\263", "\262", 0}, {"1", "& |", 0}, {"2", "\351 @", 0}, {"3", "\" #", 0}, {"4", "'", 0}, {"5", "(", 0}, {"6", "\247 ^", 0}, {"7", "\350", 0}, {"8", "!", 0}, {"9", "\347 {", 0}, {"0", "\340 }", 0}, {"\260", ")", 0}, {"_", "-", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"A", 0}, {"Z", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\250", "^ [", 0}, {"*", "$ ]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"Q", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"M", 0}, {"%", "\371 '", 0}, {"\243", "\265 `", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "< \\", 0}, {"W", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"?", ",", 0}, {".", ";", 0}, {"/", ":", 0}, {"+", "= ~", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"AltGr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ms105de-caps.h0000644000175000017500000000434310206731451014230 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Microsoft "Natural" keyboard * with German layout (part# 60289). * By Matthias Rabe . * It's pretty much the same as pc102de-caps.h, except for the additional * modifier keys in the bottom row. */ static const struct key_strings ms105de_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", "", "S-Abf"}, {"Rollen", "DownArrow", 0}, {"Pause", "", "Untbr"}, /* Row 2 */ {"\260", "^", 0}, {"!", "1", 0}, {"\"", "2 \262", 0}, {"\247", "3 \263", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"=", "0 }", 0}, {"?", "\337 \\", 0}, {"`", "'", 0}, {"Backspace", 0}, {"Einfg", 0}, {"Pos1", 0}, {"Bild", "UpArrow", 0}, {"Num", "DownArrow", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", " @", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+ ~", 0}, {"Enter", 0}, {"Entf", 0}, {"Ende", 0}, {"Bild", "DownArrow", 0}, {"7", "Pos1", 0}, {"8", "UpArrow", 0}, {"9", "Bild UpArrow", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"'", "#", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "< |", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", " \265", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "Ende", 0}, {"2", "DownArrow", 0}, {"3", "Bild DownArrow", 0}, {"Enter", 0}, /* Row 6 */ {"Strg", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Strg", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Einfg", 0}, {",", "Entf", 0} }; xkeycaps-2.47/kbds/hp4032x-codes.h0000644000175000017500000000163110206731451014326 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the HP 4032 X terminal (aka Aptrex) keyboard. * By Mark Borges */ static const KeyCode hp4032x_codes [] = { /* Row 0 */ 18, 17, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 95, 103, 96, 104, 107, 0, 0, 0, 0, /* 89, 90, 92, 102, */ /* Row 1 */ 19, 20, 23, 31, 39, 47, 46, 55, 63, 70, 71, 79, 78, 87, 94, 111, 112, 119, 120, 127, 128, 135, 141, /* Row 2 */ 21, 25, 22, 30, 38, 45, 54, 53, 62, 69, 76, 77, 86, 93, 100, 101, 109, 110, 118, 117, 126, 134, 133, /* Row 3 */ 28, 33, 29, 37, 36, 44, 52, 61, 60, 68, 75, 84, 85, 91, 99, 116, 124, 125, /* Row 4 */ 41, 49, 27, 35, 43, 42, 51, 59, 58, 67, 74, 82, 83, 98, 108, 114, 123, 131, 130, /* Row 5 */ 57, 65, 26, 34, 73, 50, 81, 66, 97, 106, 105, 115, 121, 122 }; xkeycaps-2.47/kbds/tp560-geom.h0000644000175000017500000000375410206731451013736 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the physical layout of the IBM ThinkPad 560 keyboard. * By Lucien Saviot */ static const struct key_geometry tp560_geom_row0 [] = { {13, 10},{114, 0},{13, 10},{13, 10},{13, 10},{5, 0}, {13, 10},{13, 10},{13, 10} }; static const struct key_geometry tp560_geom_row1 [] = { {13, 10},{13, 10},{13, 10},{13, 10},{5, 0}, {13, 10},{13, 10},{13, 10},{13, 10},{5, 0}, {13, 10},{13, 10},{13, 10},{13, 10},{5, 0}, {13, 10},{13, 10},{13, 10}, }; static const struct key_geometry tp560_geom_row2 [] = { {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{28, 14} }; static const struct key_geometry tp560_geom_row3 [] = { {20, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{5, 0},{17, 28} }; static const struct key_geometry tp560_geom_row4 [] = { {25, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14} }; static const struct key_geometry tp560_geom_row5 [] = { {18, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{38, 14} }; static const struct key_geometry tp560_geom_row6 [] = { {14, 14},{22, 14},{22, 14},{71, 14},{22, 14},{22, 14},{13, 0},{12, 10} }; static const struct key_geometry tp560_geom_row7 [] = { {174, 0},{12, 10},{12, 10},{12, 10} }; static const struct keyboard_row_geometry tp560_geom_rows [] = { ROW (tp560_geom_row0, 10), ROW (tp560_geom_row1, 10), EMPTYROW (3), ROW (tp560_geom_row2, 14), ROW (tp560_geom_row3, 14), ROW (tp560_geom_row4, 14), ROW (tp560_geom_row5, 14), ROW (tp560_geom_row6, 10), ROW (tp560_geom_row7, 10), }; static const struct keyboard_geometry tp560_geom = { sizeof (tp560_geom_rows) / sizeof (struct keyboard_row_geometry), tp560_geom_rows, 3, 3, 3 }; xkeycaps-2.47/kbds/lk201-map.h0000644000175000017500000000661610206731451013537 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the DEC LK201 keyboard. * This is very similar to the LK401, and possibly should be shared. * Note that under WreckWindows, the right-shift key generates Shift_L. */ static const struct default_keycode_map lk201_map [] = { { 86, 0, { XK_F1 }}, { 87, 0, { XK_F2 }}, { 88, 0, { XK_F3 }}, { 89, 0, { XK_F4 }}, { 90, 0, { XK_F5 }}, { 100, 0, { XK_F6 }}, { 101, 0, { XK_F7 }}, { 102, 0, { XK_F8 }}, { 103, 0, { XK_F9 }}, { 104, 0, { XK_F10 }}, { 113, 0, { XK_Escape, XK_F11 }}, { 114, 0, { XK_F12 }}, { 115, 0, { XK_F13 }}, { 116, 0, { XK_F14 }}, { 124, 0, { XK_Help }}, { 125, 0, { XK_Menu }}, { 128, 0, { XK_F17 }}, { 129, 0, { XK_F18 }}, { 130, 0, { XK_F19 }}, { 131, 0, { XK_F20 }}, { 138, 0, { XK_Find }}, { 139, 0, { XK_Insert }}, { 140, 0, { DXK_Remove }}, { 141, 0, { XK_Select }}, { 142, 0, { XK_Prior }}, { 143, 0, { XK_Next }}, { 146, 0, { XK_KP_0 }}, { 148, 0, { XK_KP_Decimal }}, { 149, 0, { XK_KP_Enter }}, { 150, 0, { XK_KP_1 }}, { 151, 0, { XK_KP_2 }}, { 152, 0, { XK_KP_3 }}, { 153, 0, { XK_KP_4 }}, { 154, 0, { XK_KP_5 }}, { 155, 0, { XK_KP_6 }}, { 156, 0, { XK_KP_Separator }}, { 157, 0, { XK_KP_7 }}, { 158, 0, { XK_KP_8 }}, { 159, 0, { XK_KP_9 }}, { 160, 0, { XK_KP_Subtract }}, { 161, 0, { XK_KP_F1 }}, { 162, 0, { XK_KP_F2 }}, { 163, 0, { XK_KP_F3 }}, { 164, 0, { XK_KP_F4 }}, { 167, 0, { XK_Left }}, { 168, 0, { XK_Right }}, { 169, 0, { XK_Down }}, { 170, 0, { XK_Up }}, { 171, ShiftMask, { XK_Shift_R }}, { 174, ShiftMask, { XK_Shift_L }}, { 175, ControlMask, { XK_Control_L }}, { 176, LockMask, { XK_Caps_Lock }}, { 177, Mod1Mask, { XK_Multi_key }}, { 188, 0, { XK_Delete }}, { 189, 0, { XK_Return }}, { 190, 0, { XK_Tab }}, { 191, 0, { XK_grave, XK_asciitilde }}, { 192, 0, { XK_1, XK_exclam }}, { 193, 0, { XK_Q }}, { 194, 0, { XK_A }}, { 195, 0, { XK_Z }}, { 197, 0, { XK_2, XK_at }}, { 198, 0, { XK_W }}, { 199, 0, { XK_S }}, { 200, 0, { XK_X }}, { 201, 0, { XK_less, XK_greater }}, { 203, 0, { XK_3, XK_numbersign }}, { 204, 0, { XK_E }}, { 205, 0, { XK_D }}, { 206, 0, { XK_C }}, { 208, 0, { XK_4, XK_dollar }}, { 209, 0, { XK_R }}, { 210, 0, { XK_F }}, { 211, 0, { XK_V }}, { 212, 0, { XK_space }}, { 214, 0, { XK_5, XK_percent }}, { 215, 0, { XK_T }}, { 216, 0, { XK_G }}, { 217, 0, { XK_B }}, { 219, 0, { XK_6, XK_asciicircum }}, { 220, 0, { XK_Y }}, { 221, 0, { XK_H }}, { 222, 0, { XK_N }}, { 224, 0, { XK_7, XK_ampersand }}, { 225, 0, { XK_U }}, { 226, 0, { XK_J }}, { 227, 0, { XK_M }}, { 229, 0, { XK_8, XK_asterisk }}, { 230, 0, { XK_I }}, { 231, 0, { XK_K }}, { 232, 0, { XK_comma, XK_comma }}, { 234, 0, { XK_9, XK_parenleft }}, { 235, 0, { XK_O }}, { 236, 0, { XK_L }}, { 237, 0, { XK_period, XK_period }}, { 239, 0, { XK_0, XK_parenright }}, { 240, 0, { XK_P }}, { 242, 0, { XK_semicolon, XK_colon }}, { 243, 0, { XK_slash, XK_question }}, { 245, 0, { XK_equal, XK_plus }}, { 246, 0, { XK_bracketright, XK_braceright }}, { 247, 0, { XK_backslash, XK_bar }}, { 249, 0, { XK_minus, XK_underscore }}, { 250, 0, { XK_bracketleft, XK_braceleft }}, { 251, 0, { XK_apostrophe, XK_quotedbl }} }; xkeycaps-2.47/kbds/pc102-2-geom.h0000644000175000017500000000366210206731451014042 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the layout of a "JETYO EBK-1024" 102 key PC-style * keyboard. By Volker Bosch . */ static const struct key_geometry pc102_2_geom_row0 [] = { {8, 7}, {0, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_2_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_2_geom_row3 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc102_2_geom_row4 [] = { {14, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {27, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_2_geom_row5 [] = { {17, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {18, 7}, {10, 0}, {7, 7}, {10, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc102_2_geom_row6 [] = { {10, 7}, {7, 7}, {9, 7}, {53, 7}, {9, 7}, {7, 7}, {10, 7}, {3, 0}, {7,7}, {7,7}, {7, 7}, {3, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc102_2_geom_rows [] = { ROW (pc102_2_geom_row0, 7), EMPTYROW (5), ROW (pc102_2_geom_row2, 7), ROW (pc102_2_geom_row3, 7), ROW (pc102_2_geom_row4, 7), ROW (pc102_2_geom_row5, 7), ROW (pc102_2_geom_row6, 7) }; static const struct keyboard_geometry pc102_2_geom = { sizeof (pc102_2_geom_rows) / sizeof (struct keyboard_row_geometry), pc102_2_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/lk401-map.h0000644000175000017500000000707410206731451013540 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the DEC LK401 keyboard. * This is very similar to the LK201, and possibly should be shared. * Note that under WreckWindows, the right-shift key generates Shift_L. * By Tom Ivar Helbekkmo */ static const struct default_keycode_map lk401_map [] = { { 86, 0, { XK_F1 }}, { 87, 0, { XK_F2 }}, { 88, 0, { XK_F3 }}, { 89, 0, { XK_F4 }}, { 90, 0, { XK_F5 }}, { 100, 0, { XK_F6 }}, { 101, 0, { XK_F7 }}, { 102, 0, { XK_F8 }}, { 103, 0, { XK_F9 }}, { 104, 0, { XK_F10 }}, { 113, 0, { XK_Escape, XK_F11 }}, { 114, 0, { XK_F12 }}, { 115, 0, { XK_F13 }}, { 116, 0, { XK_F14 }}, { 124, 0, { XK_Help }}, { 125, 0, { XK_Menu }}, { 128, 0, { XK_F17 }}, { 129, 0, { XK_F18 }}, { 130, 0, { XK_F19 }}, { 131, 0, { XK_F20 }}, { 138, 0, { XK_Find }}, { 139, 0, { XK_Insert }}, { 140, 0, { DXK_Remove }}, { 141, 0, { XK_Select }}, { 142, 0, { XK_Prior }}, { 143, 0, { XK_Next }}, { 146, 0, { XK_KP_0 }}, { 148, 0, { XK_KP_Decimal }}, { 149, 0, { XK_KP_Enter }}, { 150, 0, { XK_KP_1 }}, { 151, 0, { XK_KP_2 }}, { 152, 0, { XK_KP_3 }}, { 153, 0, { XK_KP_4 }}, { 154, 0, { XK_KP_5 }}, { 155, 0, { XK_KP_6 }}, { 156, 0, { XK_KP_Separator }}, { 157, 0, { XK_KP_7 }}, { 158, 0, { XK_KP_8 }}, { 159, 0, { XK_KP_9 }}, { 160, 0, { XK_KP_Subtract }}, { 161, 0, { XK_KP_F1 }}, { 162, 0, { XK_KP_F2 }}, { 163, 0, { XK_KP_F3 }}, { 164, 0, { XK_KP_F4 }}, { 167, 0, { XK_Left }}, { 168, 0, { XK_Right }}, { 169, 0, { XK_Down }}, { 170, 0, { XK_Up }}, { 171, ShiftMask, { XK_Shift_R }}, { 172, Mod2Mask, { XK_Alt_L }}, { 173, Mod1Mask, { XK_Multi_key, XK_Meta_R }}, { 174, ShiftMask, { XK_Shift_L }}, { 175, ControlMask, { XK_Control_L }}, { 176, LockMask, { XK_Caps_Lock }}, { 177, Mod1Mask, { XK_Multi_key, XK_Meta_L }}, { 178, Mod2Mask, { XK_Alt_R }}, { 188, 0, { XK_Delete }}, { 189, 0, { XK_Return }}, { 190, 0, { XK_Tab }}, { 191, 0, { XK_grave, XK_asciitilde }}, { 192, 0, { XK_1, XK_exclam }}, { 193, 0, { XK_Q }}, { 194, 0, { XK_A }}, { 195, 0, { XK_Z }}, { 197, 0, { XK_2, XK_at }}, { 198, 0, { XK_W }}, { 199, 0, { XK_S }}, { 200, 0, { XK_X }}, { 201, 0, { XK_less, XK_greater }}, { 203, 0, { XK_3, XK_numbersign }}, { 204, 0, { XK_E }}, { 205, 0, { XK_D }}, { 206, 0, { XK_C }}, { 208, 0, { XK_4, XK_dollar }}, { 209, 0, { XK_R }}, { 210, 0, { XK_F }}, { 211, 0, { XK_V }}, { 212, 0, { XK_space }}, { 214, 0, { XK_5, XK_percent }}, { 215, 0, { XK_T }}, { 216, 0, { XK_G }}, { 217, 0, { XK_B }}, { 219, 0, { XK_6, XK_asciicircum }}, { 220, 0, { XK_Y }}, { 221, 0, { XK_H }}, { 222, 0, { XK_N }}, { 224, 0, { XK_7, XK_ampersand }}, { 225, 0, { XK_U }}, { 226, 0, { XK_J }}, { 227, 0, { XK_M }}, { 229, 0, { XK_8, XK_asterisk }}, { 230, 0, { XK_I }}, { 231, 0, { XK_K }}, { 232, 0, { XK_comma, XK_less }}, { 234, 0, { XK_9, XK_parenleft }}, { 235, 0, { XK_O }}, { 236, 0, { XK_L }}, { 237, 0, { XK_period, XK_greater }}, { 239, 0, { XK_0, XK_parenright }}, { 240, 0, { XK_P }}, { 242, 0, { XK_semicolon, XK_colon }}, { 243, 0, { XK_slash, XK_question }}, { 245, 0, { XK_equal, XK_plus }}, { 246, 0, { XK_bracketright, XK_braceright }}, { 247, 0, { XK_backslash, XK_bar }}, { 249, 0, { XK_minus, XK_underscore }}, { 250, 0, { XK_bracketleft, XK_braceleft }}, { 251, 0, { XK_apostrophe, XK_quotedbl }} }; xkeycaps-2.47/kbds/ncd107-map.h0000644000175000017500000001001510206731451013666 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the default map of the NCD 107 keyboard * Generated by Ronan Waide */ static const struct default_keycode_map ncd107_map [] = { { 8, 0, { XK_F12, XK_F12, XK_Redo }}, { 9, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_Escape }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_Help }}, { 17, LockMask, { XK_Caps_Lock }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, ShiftMask, { XK_Shift_R }}, { 20, ControlMask, { XK_Control_L }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Meta_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 32, 0, { XK_Multi_key }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 40, 0, { XK_F14, XK_F14, XK_Undo }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 48, Mod2Mask, { XK_Mode_switch }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 57, Mod1Mask, { XK_Meta_R }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 72, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 81, 0, { XK_backslash, XK_bar }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 86, 0, { SunXK_F36 }}, { 87, 0, { XK_F21, XK_F21, XK_Pause }}, { 88, Mod4Mask, { XK_Alt_L }}, { 89, 0, { XK_Linefeed }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 92, 0, { XK_Delete }}, { 93, 0, { XK_F23, XK_F23, XK_Scroll_Lock, XK_Break }}, { 94, 0, { SunXK_F37 }}, { 95, 0, { XK_F22, XK_F22, XK_Print }}, { 102, 0, { XK_grave, XK_asciitilde }}, { 103, 0, { XK_F24, XK_F24, XK_KP_Equal }}, { 104, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 105, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 107, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 108, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 112, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 113, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 114, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 115, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 116, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 117, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 118, Mod3Mask, { XK_Num_Lock }}, { 119, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 123, 0, { XK_BackSpace }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 126, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 129, 0, { XK_F15, XK_F15, SunXK_Front }}, { 130, 0, { XK_F11, XK_F11, XK_Cancel }}, { 131, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 132, 0, { XK_KP_Subtract }}, { 133, 0, { XK_F17, XK_F17, SunXK_Open }}, { 134, 0, { XK_F19, XK_F19, XK_Find }}, { 135, 0, { XK_F1 }} }; xkeycaps-2.47/kbds/tek200xesc-us-map.h0000644000175000017500000000705610206731451015222 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "x_esc" * _TEK_KEYBOARD_NATIONALITY(STRING) = "usascii" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200xesc_us_map [] = { { 15, 0, { XK_F1, XK_Pause }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape, XK_F11 }}, { 19, 0, { XK_BackSpace, XK_F12 }}, { 20, 0, { XK_Linefeed, XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2, XK_Print }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, Mod1Mask, { XK_Alt_L, XK_Multi_key }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5, XK_Break }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/tp770-codes.h0000644000175000017500000000150410206731451014076 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the keycodes of the IBM ThinkPad 770Z keyboard * under XFree86 3.3.3 on Linux 2.2.7. * By Paul Phillips * * Note: The "Fn" key apparently doesn't deliver events to the X server. */ static const KeyCode tp770_codes [] = { /* Row 0 */ 9, 111, 78, 110, 106, 97, 99, /* Row 1 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 107, 103, 105, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, /* Row 6 */ 0, 37, 64, 65, 113, 109, 98, /* ROW 7 */ 100, 104, 102 }; xkeycaps-2.47/kbds/sun2-geom.h0000644000175000017500000000333710206731451013744 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Sun type 2 keyboard. */ static const struct key_geometry sun2_geom_row0 [] = { {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {14, 7}, {14, 7}, {14, 7}, {14, 7}, {14, 7}, {7, 7}, {7, 7}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun2_geom_row1 [] = { {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun2_geom_row2 [] = { {7, 7}, {14, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun2_geom_row3 [] = { {7, 7}, {14, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun2_geom_row4 [] = { {7, 7}, {14, 7}, {4, 0}, {17, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun2_geom_row5 [] = { {35, 0}, {9, 7}, {64, 7}, {9, 7} }; static const struct keyboard_row_geometry sun2_geom_rows [] = { ROW (sun2_geom_row0, 7), ROW (sun2_geom_row1, 7), ROW (sun2_geom_row2, 7), ROW (sun2_geom_row3, 7), ROW (sun2_geom_row4, 7), ROW (sun2_geom_row5, 7), }; static const struct keyboard_geometry sun2_geom = { sizeof (sun2_geom_rows) / sizeof (struct keyboard_row_geometry), sun2_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/pc105-geom.h0000644000175000017500000000374510206731451013710 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the physical layout of a generic 105 key PC keyboard, * like all of those Taiwan Win95 enhanced keyboards * by Lorenzo Maria Catucci */ static const struct key_geometry pc105_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc105_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc105_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {9, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc105_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {38, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc105_geom_row5 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc105_geom_row6 [] = { {9, 7}, {9, 7}, {9, 7}, {43, 7}, {9, 7}, {9, 7}, {9, 7}, {9, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc105_geom_rows [] = { ROW (pc105_geom_row0, 7), EMPTYROW (5), ROW (pc105_geom_row2, 7), ROW (pc105_geom_row3, 7), ROW (pc105_geom_row4, 7), ROW (pc105_geom_row5, 7), ROW (pc105_geom_row6, 7), }; static const struct keyboard_geometry pc105_geom = { sizeof (pc105_geom_rows) / sizeof (struct keyboard_row_geometry), pc105_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/sun5-caps.h0000644000175000017500000000431110206731451013737 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * This file describes the key surfaces of the Sun type 5 keyboard. * By Carl Witty . */ static const struct key_strings sun5_caps [] = { /* Row 0 */ {"Help", 0}, {0, 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Degauss", "Mute", 0}, {"Dim", "Quiet", 0}, {"Bright", "Loud", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"~", "`", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Back ", "Space", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"upArrow", 0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Caps Lock", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/sun101a-codes.h0000644000175000017500000000142410206731451014406 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Sun 101-A keyboard. * By Christopher Davis */ static const KeyCode sun101a_codes [] = { /* Row 0 */ 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 8, /* Row 2 */ 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 73, 32, 104, 58, 105, 53, 54, 78, /* Row 3 */ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 95, 125, 33, 80, 75, 76, 77, 132, /* Row 4 */ 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 100, /* Row 5 */ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 6 */ 83, 127, 128, 129, 26, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/hclpc-codes.h0000644000175000017500000000213510206731451014307 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the HCL eXceed PC X-server keyboard. * By Grant McDorman * * MAJOR PROBLEM: The server has DIFFERENT keycodes for the keypad, depending * on whether it's in NumLock state or not. (Strange but true.) This file * does not deal with that. */ static const KeyCode hclpc_codes [] = { /* Row 0 */ 8, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 94, 95, 108, 77, 109, /* Row 2 */ 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 97, 100, 104, 0, 107, 62, 81, /* Row 3 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 50, 98, 101, 105, 110, 113, 117, 85, /* Row 4 */ 65, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 35, 111, 114, 118, /* Row 5 */ 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 102, 112, 115, 119, 96, /* Row 6 */ 36, 63, 64, 91, 92, 99, 103, 106, 116, 120, /* Row 8 */ 78, 79, 80, 85, /* Row 9 */ 82, 83, 84, /* Row 10 */ 86, 87, 88, 96, /* Row 11 */ 89, 90 }; xkeycaps-2.47/kbds/kinesis-sparc-codes.h0000644000175000017500000000167410206731452016001 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keycodes of the Kinesis Model 133PC Keyboard * when used with a Sun Interface Converter box on a Sparcstation. * By Yair Zadik * * Tested on: SunOS 5.5.1 with an UltraSparc 170 * and Sun Interface Converter (Sun P/N 370-2068-01) */ static const KeyCode kinesis_sparc_codes [] = { /* Row 0 */ 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 0, 0, /* Row 2 */ 48, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, /* Row 3 */ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 95, /* Row 4 */ 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, /* Row 5 */ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, /* Row 6 */ 49, 51, 31, 35, 27, 34, 71, 72, /* Row 7 */ 83, 26, 20, 129, /* Row 8 */ 50, 73, 59, 103, 96, 128, /* Row 9 */ 81, 130 }; xkeycaps-2.47/kbds/sun5swfr-ow-map.h0000644000175000017500000003145010206731451015117 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Sun Swiss-French type 5 keyboard. * By Philippe A. Kipfer (Philippe.Kipfer@di.epfl.ch), dec.1993. * This keyboard meet the TUV standard. * Defined from Sun document "Notes claviers Sun type 5" ref. #800-6803-10 * */ static const struct default_keycode_map sun5swfr_ow_map [] = { { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 9, 0, { XK_KP_Divide }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 11, 0, { XK_KP_Multiply }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 22, 0, { XK_KP_Decimal }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_plus, XK_bar }}, { 38, 0, { XK_2, XK_quotedbl, XK_at }}, { 39, 0, { XK_3, XK_asterisk, XK_numbersign }}, { 40, 0, { XK_4, XK_ccedilla, XK_asciicircum }}, { 41, 0, { XK_5, XK_percent, XK_asciitilde }}, { 42, 0, { XK_6, XK_ampersand }}, { 43, 0, { XK_7, XK_slash }}, { 44, 0, { XK_8, XK_parenleft }}, { 45, 0, { XK_9, XK_parenright }}, { 46, 0, { XK_0, XK_equal, XK_grave }}, { 47, 0, { XK_apostrophe, XK_question, SunXK_FA_Acute }}, { 48, 0, { SunXK_Dead_Circum, SunXK_Dead_Grave, SunXK_Dead_Tilde }}, { 49, 0, { XK_section, XK_degree }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { XK_KP_7, XK_Home }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 55, 0, { XK_KP_8 }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Z }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_egrave, XK_udiaeresis, XK_bracketleft }}, { 72, 0, { SunXK_FA_Diaeresis, XK_exclam, XK_bracketright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 82, 0, { XK_KP_9, XK_Prior }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_eacute, XK_odiaeresis }}, { 94, 0, { XK_agrave, XK_adiaeresis, XK_braceleft }}, { 95, 0, { XK_dollar, XK_sterling, XK_braceright }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Y }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_KP_Subtract }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 122, 0, { XK_KP_4 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 131, 0, { XK_less, XK_greater, XK_backslash }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_0 }}, { 134, 0, { XK_KP_1, XK_End }}, { 135, 0, { XK_KP_2 }}, { 136, 0, { XK_KP_3, XK_Next }}, { 137, 0, { XK_nobreakspace, XK_nobreakspace, XK_nobreakspace, XK_nobreakspace }}, { 138, 0, { XK_exclamdown, XK_exclamdown, XK_exclamdown, XK_exclamdown }}, { 139, 0, { XK_brokenbar, XK_brokenbar, XK_brokenbar, XK_brokenbar }}, { 140, 0, { XK_section, XK_section, XK_section, XK_section }}, { 141, 0, { XK_section, XK_section, XK_section, XK_section }}, { 142, 0, { XK_diaeresis, XK_diaeresis, XK_diaeresis, XK_diaeresis }}, { 143, 0, { XK_copyright, XK_copyright, XK_copyright, XK_copyright }}, { 144, 0, { XK_copyright, XK_copyright, XK_copyright, XK_copyright }}, { 145, 0, { XK_ordfeminine, XK_ordfeminine, XK_ordfeminine, XK_ordfeminine }}, { 146, 0, { XK_ordfeminine, XK_ordfeminine, XK_ordfeminine, XK_ordfeminine }}, { 147, 0, { XK_guillemotleft, XK_guillemotleft, XK_guillemotleft, XK_guillemotleft }}, { 148, 0, { XK_notsign, XK_notsign, XK_notsign, XK_notsign }}, { 149, 0, { XK_notsign, XK_notsign, XK_notsign, XK_notsign }}, { 150, 0, { XK_hyphen, XK_hyphen, XK_hyphen, XK_hyphen }}, { 151, 0, { XK_registered, XK_registered, XK_registered, XK_registered }}, { 152, 0, { XK_registered, XK_registered, XK_registered, XK_registered }}, { 153, 0, { XK_macron, XK_macron, XK_macron, XK_macron }}, { 154, 0, { XK_paragraph, XK_paragraph, XK_paragraph, XK_paragraph }}, { 155, 0, { XK_mu, XK_mu, XK_mu, XK_mu }}, { 156, 0, { XK_degree, XK_degree, XK_degree, XK_degree }}, { 157, 0, { XK_periodcentered, XK_periodcentered, XK_periodcentered, XK_periodcentered }}, { 158, 0, { XK_plusminus, XK_plusminus, XK_plusminus, XK_plusminus }}, { 159, 0, { XK_division, XK_division, XK_division, XK_division }}, { 160, 0, { XK_onesuperior, XK_onesuperior, XK_onesuperior, XK_onesuperior }}, { 161, 0, { XK_twosuperior, XK_twosuperior, XK_twosuperior, XK_twosuperior }}, { 162, 0, { XK_threesuperior, XK_threesuperior, XK_threesuperior, XK_threesuperior }}, { 163, 0, { XK_onequarter, XK_onequarter, XK_onequarter, XK_onequarter }}, { 164, 0, { XK_onehalf, XK_onehalf, XK_onehalf, XK_onehalf }}, { 165, 0, { XK_threequarters, XK_threequarters, XK_threequarters, XK_threequarters }}, { 166, 0, { XK_multiply, XK_multiply, XK_multiply, XK_multiply }}, { 167, 0, { XK_acute, XK_acute, XK_acute, XK_acute }}, { 168, 0, { XK_cedilla, XK_cedilla, XK_cedilla, XK_cedilla }}, { 169, 0, { XK_masculine, XK_masculine, XK_masculine, XK_masculine }}, { 170, 0, { XK_masculine, XK_masculine, XK_masculine, XK_masculine }}, { 171, 0, { XK_guillemotright, XK_guillemotright, XK_guillemotright, XK_guillemotright }}, { 172, 0, { XK_questiondown, XK_questiondown, XK_questiondown, XK_questiondown }}, { 173, 0, { XK_aacute, XK_aacute, XK_aacute, XK_aacute }}, { 174, 0, { XK_agrave, XK_agrave, XK_agrave, XK_agrave }}, { 175, 0, { XK_adiaeresis, XK_adiaeresis, XK_adiaeresis, XK_adiaeresis }}, { 176, 0, { XK_acircumflex, XK_acircumflex, XK_acircumflex, XK_acircumflex }}, { 177, 0, { XK_atilde, XK_atilde, XK_atilde, XK_atilde }}, { 178, 0, { XK_aring, XK_aring, XK_aring, XK_aring }}, { 179, 0, { XK_ae, XK_ae, XK_ae, XK_ae }}, { 180, 0, { XK_ccedilla, XK_ccedilla, XK_ccedilla, XK_ccedilla }}, { 181, 0, { XK_eth, XK_eth, XK_eth, XK_eth }}, { 182, 0, { XK_egrave, XK_egrave, XK_egrave, XK_egrave }}, { 183, 0, { XK_eacute, XK_eacute, XK_eacute, XK_eacute }}, { 184, 0, { XK_ecircumflex, XK_ecircumflex, XK_ecircumflex, XK_ecircumflex }}, { 185, 0, { XK_ediaeresis, XK_ediaeresis, XK_ediaeresis, XK_ediaeresis }}, { 186, 0, { XK_igrave, XK_igrave, XK_igrave, XK_igrave }}, { 187, 0, { XK_iacute, XK_iacute, XK_iacute, XK_iacute }}, { 188, 0, { XK_icircumflex, XK_icircumflex, XK_icircumflex, XK_icircumflex }}, { 189, 0, { XK_idiaeresis, XK_idiaeresis, XK_idiaeresis, XK_idiaeresis }}, { 190, 0, { XK_ntilde, XK_ntilde, XK_ntilde, XK_ntilde }}, { 191, 0, { XK_ograve, XK_ograve, XK_ograve, XK_ograve }}, { 192, 0, { XK_oacute, XK_oacute, XK_oacute, XK_oacute }}, { 193, 0, { XK_ocircumflex, XK_ocircumflex, XK_ocircumflex, XK_ocircumflex }}, { 194, 0, { XK_otilde, XK_otilde, XK_otilde, XK_otilde }}, { 195, 0, { XK_odiaeresis, XK_odiaeresis, XK_odiaeresis, XK_odiaeresis }}, { 196, 0, { XK_oslash, XK_oslash, XK_oslash, XK_oslash }}, { 197, 0, { XK_thorn, XK_thorn, XK_thorn, XK_thorn }}, { 198, 0, { XK_thorn, XK_thorn, XK_thorn, XK_thorn }}, { 199, 0, { XK_ssharp, XK_ssharp, XK_ssharp, XK_ssharp }}, { 200, 0, { XK_ugrave, XK_ugrave, XK_ugrave, XK_ugrave }}, { 201, 0, { XK_uacute, XK_uacute, XK_uacute, XK_uacute }}, { 202, 0, { XK_ucircumflex, XK_ucircumflex, XK_ucircumflex, XK_ucircumflex }}, { 203, 0, { XK_udiaeresis, XK_udiaeresis, XK_udiaeresis, XK_udiaeresis }}, { 204, 0, { XK_yacute, XK_yacute, XK_yacute, XK_yacute }}, { 205, 0, { XK_ydiaeresis, XK_ydiaeresis, XK_ydiaeresis, XK_ydiaeresis }}, { 206, 0, { XK_Aacute, XK_Aacute, XK_Aacute, XK_Aacute }}, { 207, 0, { XK_Agrave, XK_Agrave, XK_Agrave, XK_Agrave }}, { 208, 0, { XK_Acircumflex, XK_Acircumflex, XK_Acircumflex, XK_Acircumflex }}, { 209, 0, { XK_Atilde, XK_Atilde, XK_Atilde, XK_Atilde }}, { 210, 0, { XK_Adiaeresis, XK_Adiaeresis, XK_Adiaeresis, XK_Adiaeresis }}, { 211, 0, { XK_Aring, XK_Aring, XK_Aring, XK_Aring }}, { 212, 0, { XK_AE, XK_AE, XK_AE, XK_AE }}, { 213, 0, { XK_Ccedilla, XK_Ccedilla, XK_Ccedilla, XK_Ccedilla }}, { 214, 0, { XK_ETH, XK_ETH, XK_ETH, XK_ETH }}, { 215, 0, { XK_Egrave, XK_Egrave, XK_Egrave, XK_Egrave }}, { 216, 0, { XK_Eacute, XK_Eacute, XK_Eacute, XK_Eacute }}, { 217, 0, { XK_Ecircumflex, XK_Ecircumflex, XK_Ecircumflex, XK_Ecircumflex }}, { 218, 0, { XK_Ediaeresis, XK_Ediaeresis, XK_Ediaeresis, XK_Ediaeresis }}, { 219, 0, { XK_Iacute, XK_Iacute, XK_Iacute, XK_Iacute }}, { 220, 0, { XK_Idiaeresis, XK_Idiaeresis, XK_Idiaeresis, XK_Idiaeresis }}, { 221, 0, { XK_Icircumflex, XK_Icircumflex, XK_Icircumflex, XK_Icircumflex }}, { 222, 0, { XK_Igrave, XK_Igrave, XK_Igrave, XK_Igrave }}, { 223, 0, { XK_Ntilde, XK_Ntilde, XK_Ntilde, XK_Ntilde }}, { 224, 0, { XK_Ograve, XK_Ograve, XK_Ograve, XK_Ograve }}, { 225, 0, { XK_Oacute, XK_Oacute, XK_Oacute, XK_Oacute }}, { 226, 0, { XK_Ocircumflex, XK_Ocircumflex, XK_Ocircumflex, XK_Ocircumflex }}, { 227, 0, { XK_Otilde, XK_Otilde, XK_Otilde, XK_Otilde }}, { 228, 0, { XK_Odiaeresis, XK_Odiaeresis, XK_Odiaeresis, XK_Odiaeresis }}, { 229, 0, { XK_Ooblique, XK_Ooblique, XK_Ooblique, XK_Ooblique }}, { 230, 0, { XK_THORN, XK_THORN, XK_THORN, XK_THORN }}, { 231, 0, { XK_THORN, XK_THORN, XK_THORN, XK_THORN }}, { 232, 0, { XK_Ugrave, XK_Ugrave, XK_Ugrave, XK_Ugrave }}, { 233, 0, { XK_Uacute, XK_Uacute, XK_Uacute, XK_Uacute }}, { 234, 0, { XK_Ucircumflex, XK_Ucircumflex, XK_Ucircumflex, XK_Ucircumflex }}, { 235, 0, { XK_Udiaeresis, XK_Udiaeresis, XK_Udiaeresis, XK_Udiaeresis }}, { 236, 0, { XK_Yacute, XK_Yacute, XK_Yacute, XK_Yacute }}, { 237, 0, { XK_cent, XK_cent, XK_cent, XK_cent }}, { 238, 0, { XK_cent, XK_cent, XK_cent, XK_cent }}, { 239, 0, { XK_sterling, XK_sterling, XK_sterling, XK_sterling }}, { 240, 0, { XK_sterling, XK_sterling, XK_sterling, XK_sterling }}, { 241, 0, { XK_yen, XK_yen, XK_yen, XK_yen }}, { 242, 0, { XK_yen, XK_yen, XK_yen, XK_yen }}, { 243, 0, { XK_currency, XK_currency, XK_currency, XK_currency }}, { 244, 0, { XK_currency, XK_currency, XK_currency, XK_currency }}, { 245, 0, { XK_currency, XK_currency, XK_currency, XK_currency }}, { 246, 0, { XK_currency, XK_currency, XK_currency, XK_currency }} }; xkeycaps-2.47/kbds/tek200-geom.h0000644000175000017500000000370710206731451014063 0ustar cbcb/* xkeycaps, Copyright (c) 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Tektronix VT200 keyboard. * By Juergen Stuber . */ static const struct key_geometry tek200_geom_row0 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {14, 7}, {5, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek200_geom_row2 [] = { {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek200_geom_row3 [] = { {6, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {1, 0}, {7, 14}, {5, 0}, {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek200_geom_row4 [] = { {7, 7}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 0}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek200_geom_row5 [] = { {15, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry tek200_geom_row6 [] = { {6, 0}, {10, 7}, {69, 7}, {54, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry tek200_geom_rows [] = { ROW (tek200_geom_row0, 7), EMPTYROW (4), ROW (tek200_geom_row2, 7), ROW (tek200_geom_row3, 7), ROW (tek200_geom_row4, 7), ROW (tek200_geom_row5, 7), ROW (tek200_geom_row6, 7), }; static const struct keyboard_geometry tek200_geom = { sizeof (tek200_geom_rows) / sizeof (struct keyboard_row_geometry), tek200_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/pck301-codes.h0000644000175000017500000000141210206731451014214 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996 * Jamie Zawinski * * This describes the Adesso PCK 301 keyboard * By Tom Spindler */ static const KeyCode pck301_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111,78,110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 51, 22, /* bs*/ 106, 97,99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107,103,105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 113,116,117, 109, 100,104,102, 90, 91 }; xkeycaps-2.47/kbds/xfree86si-map.h0000644000175000017500000001007310206731451014521 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the default Slovene keymap used by the XFree86 X server. * By Andrej Presern */ static const struct default_keycode_map xfree86si_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_asciitilde }}, { 11, 0, { XK_2, XK_quotedbl, XK_caron }}, { 12, 0, { XK_3, XK_numbersign, XK_asciicircum }}, { 13, 0, { XK_4, XK_dollar, XK_breve }}, { 14, 0, { XK_5, XK_percent, XK_degree }}, { 15, 0, { XK_6, XK_ampersand, XK_ogonek }}, { 16, 0, { XK_7, XK_slash, XK_grave }}, { 17, 0, { XK_8, XK_parenleft, XK_abovedot }}, { 18, 0, { XK_9, XK_parenright, XK_acute }}, { 19, 0, { XK_0, XK_equal, XK_doubleacute }}, { 20, 0, { XK_apostrophe, XK_question, XK_diaeresis }}, { 21, 0, { XK_plus, XK_asterisk, XK_cedilla }}, { 22, 0, { XK_BackSpace, XK_BackSpace }}, { 23, 0, { XK_Tab, XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_backslash }}, { 25, 0, { XK_w, XK_W, XK_bar }}, { 26, 0, { XK_e }}, { 27, 0, { XK_r }}, { 28, 0, { XK_t }}, { 29, 0, { XK_z }}, { 30, 0, { XK_u }}, { 31, 0, { XK_i }}, { 32, 0, { XK_o }}, { 33, 0, { XK_p }}, { 34, 0, { XK_onesuperior, XK_copyright, XK_division }}, { 35, 0, { XK_eth, XK_ETH, XK_multiply }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a }}, { 39, 0, { XK_s }}, { 40, 0, { XK_d }}, { 41, 0, { XK_f, XK_F, XK_bracketleft }}, { 42, 0, { XK_g, XK_G, XK_bracketright }}, { 43, 0, { XK_h }}, { 44, 0, { XK_j }}, { 45, 0, { XK_k, XK_K, XK_threesuperior }}, { 46, 0, { XK_l, XK_L, XK_sterling }}, { 47, 0, { XK_egrave, XK_Egrave }}, { 48, 0, { XK_ae, XK_AE, XK_ssharp }}, { 49, 0, { XK_cedilla, XK_diaeresis }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_threequarters, XK_registered, XK_currency }}, { 52, 0, { XK_y }}, { 53, 0, { XK_x }}, { 54, 0, { XK_c }}, { 55, 0, { XK_v, XK_V, XK_at }}, { 56, 0, { XK_b, XK_B, XK_braceleft }}, { 57, 0, { XK_n, XK_N, XK_braceright }}, { 58, 0, { XK_m, XK_M, XK_section }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space, XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, 0, { XK_Num_Lock }}, { 78, Mod4Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 92, 0, { XK_Sys_Req }}, { 93, 0, { XK_Down }}, { 94, 0, { XK_less, XK_greater }}, { 95, 0, { XK_F11, XK_F11 }}, { 96, 0, { XK_F12, XK_F12 }}, { 118, 0, { XK_Left }}, { 119, 0, { XK_Prior }}, { 120, Mod2Mask, { XK_Meta_L }}, { 121, Mod2Mask, { XK_Meta_R }}, { 122, Mod2Mask, { XK_Mode_switch }}, { 123, ControlMask, { XK_Control_R }}, { 124, 0, { XK_KP_Enter }}, { 125, 0, { XK_KP_Divide }}, { 126, 0, { XK_Menu }}, { 127, 0, { XK_Pause }}, { 128, 0, { XK_Up }}, { 129, 0, { XK_Delete }}, { 130, 0, { XK_End }}, { 131, 0, { XK_Insert }}, { 133, 0, { XK_Right }}, { 134, 0, { XK_Next }}, { 135, 0, { XK_Home }}, { 136, 0, { XK_Break }}, { 137, 0, { XK_Sys_Req }} }; xkeycaps-2.47/kbds/hppcsf-map.h0000644000175000017500000000716010206731451014164 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1999 * Jamie Zawinski * * HP 102-key PC Keyboard (Swedish/Finnish Version) * by Heikki Kantola */ static const struct default_keycode_map hppcsf_map [] = { { 8, ControlMask, { XK_Control_R }}, { 10, Mod1Mask, { XK_Meta_R }}, { 11, Mod1Mask, { XK_Meta_L }}, { 12, ShiftMask, { XK_Shift_R }}, { 13, ShiftMask, { XK_Shift_L }}, { 14, ControlMask, { XK_Control_L }}, { 15, 0, { XK_Break, hpXK_Reset }}, { 16, 0, { XK_KP_4, XK_Left }}, { 17, 0, { XK_KP_8, XK_Up }}, { 18, 0, { XK_KP_5 }}, { 19, 0, { XK_KP_9, XK_Prior }}, { 20, 0, { XK_KP_6, XK_Right }}, { 21, 0, { XK_KP_7, XK_Home }}, { 23, 0, { XK_KP_Enter }}, { 24, 0, { XK_KP_1, XK_End }}, { 25, 0, { XK_KP_Divide }}, { 26, 0, { XK_KP_2, XK_Down }}, { 27, 0, { XK_KP_Add }}, { 28, 0, { XK_KP_3, XK_Next }}, { 29, 0, { XK_KP_Multiply }}, { 30, 0, { XK_KP_0, XK_Insert }}, { 31, 0, { XK_KP_Subtract }}, { 32, 0, { XK_B }}, { 33, 0, { XK_V }}, { 34, 0, { XK_C }}, { 35, 0, { XK_X }}, { 36, 0, { XK_Z }}, { 39, 0, { XK_Escape }}, { 41, 0, { XK_F10, XK_KP_F2 }}, { 43, 0, { XK_F11, XK_KP_F3 }}, { 44, 0, { XK_KP_Decimal, XK_Delete }}, { 45, 0, { XK_F9, XK_KP_F1 }}, { 47, 0, { XK_F12, XK_KP_F4 }}, { 48, 0, { XK_H }}, { 49, 0, { XK_G }}, { 50, 0, { XK_F }}, { 51, 0, { XK_D }}, { 52, 0, { XK_S }}, { 53, 0, { XK_A }}, { 54, Mod1Mask, { XK_Mode_switch, 0, 0, XK_Mode_switch }}, { 55, LockMask, { XK_Caps_Lock }}, { 56, 0, { XK_U }}, { 57, 0, { XK_Y }}, { 58, 0, { XK_T }}, { 59, 0, { XK_R }}, { 60, 0, { XK_E }}, { 61, 0, { XK_W }}, { 62, 0, { XK_Q }}, { 63, 0, { XK_Tab, hpXK_BackTab }}, { 64, 0, { XK_7, XK_slash, XK_braceleft }}, { 65, 0, { XK_6, XK_ampersand }}, { 66, 0, { XK_5, XK_percent }}, { 67, 0, { XK_4, XK_currency, XK_dollar }}, { 68, 0, { XK_3, XK_numbersign, XK_sterling }}, { 69, 0, { XK_2, XK_quotedbl, XK_at }}, { 70, 0, { XK_1, XK_exclam }}, { 71, 0, { XK_section, XK_onehalf }}, { 80, 0, { XK_Menu, 0xFF15 }}, { 81, 0, { XK_F4 }}, { 82, 0, { XK_F3 }}, { 83, 0, { XK_F2 }}, { 84, 0, { XK_F1 }}, { 86, 0, { XK_Cancel }}, { 88, 0, { hpXK_System, hpXK_User }}, { 89, 0, { XK_F5 }}, { 90, 0, { XK_F6 }}, { 91, 0, { XK_F7 }}, { 92, 0, { XK_F8 }}, { 96, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 97, 0, { XK_9, XK_parenright, XK_bracketright }}, { 98, 0, { XK_0, XK_equal, XK_braceright }}, { 99, 0, { XK_plus, XK_question, XK_backslash }}, { 100, 0, { XK_acute, XK_grave }}, { 101, 0, { XK_BackSpace }}, { 104, 0, { XK_I }}, { 105, 0, { XK_O }}, { 106, 0, { XK_P }}, { 107, 0, { XK_aring, XK_Aring }}, { 108, 0, { XK_diaeresis, XK_asciicircum, XK_asciitilde }}, { 110, 0, { hpXK_InsertChar }}, { 111, 0, { hpXK_DeleteChar }}, { 112, 0, { XK_J }}, { 113, 0, { XK_K }}, { 114, 0, { XK_L }}, { 115, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 116, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 117, 0, { XK_Return }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_M }}, { 121, 0, { XK_comma, XK_semicolon }}, { 122, 0, { XK_period, XK_colon }}, { 123, 0, { XK_minus, XK_underscore }}, { 124, 0, { XK_apostrophe, XK_asterisk }}, { 125, 0, { XK_Select }}, { 126, 0, { XK_less, XK_greater, XK_bar }}, { 127, 0, { XK_Next }}, { 128, 0, { XK_N }}, { 129, 0, { XK_space }}, { 132, 0, { XK_Left }}, { 133, 0, { XK_Down }}, { 134, 0, { XK_Up }}, { 135, 0, { XK_Right }} }; xkeycaps-2.47/kbds/ncd97-map.h0000644000175000017500000000634610206731451013632 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD X terminal N97 keyboard. * Generated by jwz and juergen@mpi-sb.mpg.de (NCD19 NCDware 3.0.1). */ static const struct default_keycode_map ncd97_map [] = { { 8, 0, { XK_Escape }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_grave, XK_asciitilde }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F1 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, /* { 25, Mod1Mask, XK_Alt_L }, */ { 25, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, /* NCDware 3.0.1 */ { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, /* { 57, Mod1Mask, XK_Alt_R }, */ { 57, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, /* NCDware 3.0.1 */ { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Linefeed }}, { 88, ControlMask, { XK_Control_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 92, 0, { XK_backslash, XK_bar }}, { 94, 0, { XK_F12 }}, { 95, 0, { XK_Break }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 102, 0, { XK_BackSpace }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_KP_Separator }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Decimal }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, 0, { XK_KP_F1 }}, { 119, 0, { XK_KP_F2 }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 124, 0, { XK_KP_F4 }}, { 125, 0, { XK_KP_9 }}, { 126, 0, { XK_KP_F3 }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/hhkb-caps.h0000644000175000017500000000500610206731451013763 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * This file describes the key surfaces of the Happy Hacking Keyboard. * By Christoph Berg 990821. * Thanks to Carl Witty (the author of sun5-caps.h). * * The keys marked with '*' in the upper right generate a different key code * when pressed with the 'Fn' key. Those key codes are represented by the * upper row and the right block in the window. (These keys do not exist on * the Happy Hacking Keyboard, which consists only of the standard alphanumeric * block.) Also marked are the keys that have other key codes in windows * mode (DIP switch 2 on). * * By Christoph Berg */ static const struct key_strings hhkb_pc_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Ins", 0}, {"Del", 0}, /* Row 1 */ {"Esc", 0}, {"!", "1", "*"}, {"@", "2", "*"}, {"#", "3", "*"}, {"$", "4", "*"}, {"%", "5", "*"}, {"^", "6", "*"}, {"&", "7", "*"}, {"*", "8", "*"}, {"(", "9", "*"}, {")", "0", "*"}, {"_", "-", "*"}, {"+", "=", "*"}, {"|", "\\", "*"}, {"~", "`", "*"}, /* Row 2 */ {"Tab", 0, "*"}, /* different key code only in Windows mode */ {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0, "*"}, {"O", 0, "*"}, {"P", 0, "*"}, {"{", "[", "*"}, {"}", "]", 0}, {"Back ", "Space", 0}, /* Delete if DIP switch 1 off */ {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, {"UpArrow", 0}, /* {"BS", 0} include if DIP switch 1 off */ /* Row 3 */ {"Control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0, "*"}, {"L", 0, "*"}, {":", ";", "*"}, {"\"", "'", "*"}, {"Return", 0}, {"Home", 0}, {"Pg Up", 0}, {"LeftArrow", 0}, {"RightArrow", 0}, /* Row 4 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", "*"}, {">", ".", "*"}, {"?", "/", "*"}, {"Shift", 0}, {"Fn", 0}, {"End", 0}, {"Pg Dn", 0}, {"DownArrow", 0}, /* Row 5 */ {"Alt", 0}, {"<>", 0, "*"}, {" ", 0}, {"<>", 0, "*"}, {"Alt", 0}, /* These keys are available when DIP switch 2 is on */ {"Caps", "Lock", 0}, /* Fn + Tab */ {"Windows", 0}, /* replaces left Meta */ {"Windows", 0} /* replaces right Meta */ }; xkeycaps-2.47/kbds/rt-map.h0000644000175000017500000000750610206731451013332 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the default keymap of the PC/RT US keyboard. * Generated by Torbj|rn Lindgren . */ static const struct default_keycode_map rt_map [] = { { 7, 0, { XK_F1 }}, { 8, 0, { XK_Escape }}, { 9, 0, { 0 }}, { 10, 0, { 0 }}, { 11, 0, { 0 }}, { 12, 0, { 0 }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_grave, XK_asciitilde }}, { 15, 0, { XK_F2 }}, { 16, 0, { 0 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_less, XK_greater }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 24, 0, { 0 }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 32, 0, { XK_space }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 40, 0, { XK_parenleft }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 48, 0, { XK_0 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 56, 0, { XK_8 }}, { 57, Mod1Mask, { XK_Alt_R }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 64, 0, { XK_at }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 72, 0, { XK_H }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 80, 0, { XK_P }}, { 81, 0, { XK_Q }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 83, 0, { XK_apostrophe, XK_asterisk }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Print }}, { 88, 0, { XK_Meta_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 92, 0, { XK_backslash, XK_bar }}, { 93, 0, { XK_bracketright }}, { 94, 0, { XK_F12 }}, { 95, 0, { 0 }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 98, 0, { XK_Pause }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace, XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 104, 0, { XK_h }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Separator }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, LockMask, { XK_Caps_Lock }}, { 119, 0, { XK_KP_Divide }}, { 120, 0, { XK_x }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 123, 0, { XK_braceleft }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_KP_9 }}, { 126, 0, { XK_KP_Multiply }}, { 127, 0, { 0 }}, { 128, 0, { 0 }}, { 129, 0, { 0 }}, { 130, 0, { 0 }}, { 131, 0, { 0 }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/sco110-codes.h0000644000175000017500000000142110206731451014221 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the SCO ODT 110 keyboard. * By Steven W. Orr . */ static const KeyCode sco110_codes [] = { /* Row 0 */ 8, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 94, 95, 150, 77, 149, /* Row 2 */ 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 137, 139, 141, 76, 147, 62, 81, /* Row 3 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 50, 138, 140, 142, 78, 79, 80, 85, /* Row 4 */ 65, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 35, 82, 83, 84, /* Row 5 */ 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 145, 86, 87, 88, 148, /* Row 6 */ 36, 63, 64, 136, 135, 144, 146, 143, 89, 90 }; xkeycaps-2.47/kbds/tek102-codes.h0000644000175000017500000000155610206731451014232 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the keycodes of the Tektronix XP358 keyboard, * _TEK_KEYBOARD_TYPE = "TEK102" (102-key German Keyboard) * By Christoph Tietz . */ static const KeyCode tek102_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, 95, 103, 106, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 111, 118, 119, 126, 127, 134, 140, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 98, 108, 109, 117, 116, 125, 133, 132, /* Row 4 */ 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 91, 115, 123, 124, /* Row 5 */ 26, 27, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 107, 113, 122, 130, 129, /* Row 6 */ 25, 33, 49, 65, 96, 105, 104, 114, 120, 121 }; xkeycaps-2.47/kbds/aviion300-codes.h0000644000175000017500000000152210206731451014725 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the keycodes of a Data General AViiOn PC-style keyboard. * By David Axmark * Tested on a AViiON 300 running dgux 5.4 generic */ static const KeyCode aviion300_codes [] = { /* Row 0 */ 9, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 87, 95, 88, 96, 99, /* Row 2 */ 15, 23, 31, 39, 38, 47, 55, 62, 63, 71, 70, 79, 86, 103, 104, 111, 112, 119, 120, 127, 133, /* Row 3 */ 14, 22, 30, 37, 46, 45, 54, 61, 68, 69, 78, 85, 92, 93, 101, 102, 110, 109, 118, 126, 125, /* Row 4 */ 21, 29, 28, 36, 44, 53, 52, 60, 67, 76, 77, 83, 91, 108, 116, 117, /* Row 5 */ 19, 27, 35, 34, 43, 51, 50, 59, 66, 74, 75, 90, 100, 106, 115, 123, 122, /* Row 6 */ 18, 26, 42, 58, 89, 98, 97, 107, 113, 114 }; xkeycaps-2.47/kbds/nws3410-geom.h0000644000175000017500000000352010206731451014166 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the physical layout of the SONY NET WORK STATION * NWS-3410 keyboard (keyboard model NWP-411A). * By Dirk Jablonowski */ static const struct key_geometry nws3410_geom_row0 [] = { {14, 0}, {9, 8}, {9, 8}, {9, 8}, {9, 8}, {9, 8}, {3, 0}, {9, 8}, {9, 8}, {9, 8}, {9, 8}, {9, 8} }; static const struct key_geometry nws3410_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry nws3410_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {8, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry nws3410_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {13, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry nws3410_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry nws3410_geom_row6 [] = { {12, 7}, {7, 7}, {11, 7}, {42, 7}, {10, 7}, {7, 7}, {7, 7}, {13, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct keyboard_row_geometry nws3410_geom_rows [] = { ROW (nws3410_geom_row0, 7), EMPTYROW (3), ROW (nws3410_geom_row2, 7), ROW (nws3410_geom_row3, 7), ROW (nws3410_geom_row4, 7), ROW (nws3410_geom_row5, 7), ROW (nws3410_geom_row6, 7), }; static const struct keyboard_geometry nws3410_geom = { sizeof (nws3410_geom_rows) / sizeof (struct keyboard_row_geometry), nws3410_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/hclpc-map.h0000644000175000017500000001102410206731451013764 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the HCL eXceed PC X-server * keyboard. By Grant McDorman * * By default, Alt_L, Print and Num_Lock are handled locally (Alt_L goes to * Microsoft Weendoze). The Alt_L and Num_Lock can be changed by editing a * server configuration file, although if you pass both Alt keys to X * applications you may break Weendoze. */ static const struct default_keycode_map hclpc_map [] = { { 8, 0, { XK_Escape, XK_Escape }}, { 9, 0, { XK_1, XK_exclam }}, { 10, 0, { XK_2, XK_at }}, { 11, 0, { XK_3, XK_numbersign }}, { 12, 0, { XK_4, XK_dollar }}, { 13, 0, { XK_5, XK_percent }}, { 14, 0, { XK_6, XK_asciicircum }}, { 15, 0, { XK_7, XK_ampersand }}, { 16, 0, { XK_8, XK_asterisk }}, { 17, 0, { XK_9, XK_parenleft }}, { 18, 0, { XK_0, XK_parenright }}, { 19, 0, { XK_minus, XK_underscore }}, { 20, 0, { XK_equal, XK_plus }}, { 21, 0, { XK_Delete, XK_BackSpace }}, { 22, 0, { XK_Tab, XK_KP_Tab }}, { 23, 0, { XK_q, XK_Q }}, { 24, 0, { XK_w, XK_W }}, { 25, 0, { XK_e, XK_E }}, { 26, 0, { XK_r, XK_R }}, { 27, 0, { XK_t, XK_T }}, { 28, 0, { XK_y, XK_Y }}, { 29, 0, { XK_u, XK_U }}, { 30, 0, { XK_i, XK_I }}, { 31, 0, { XK_o, XK_O }}, { 32, 0, { XK_p, XK_P }}, { 33, 0, { XK_bracketleft, XK_braceleft }}, { 34, 0, { XK_bracketright, XK_braceright }}, { 35, 0, { XK_Return, XK_Return }}, { 36, ControlMask, { XK_Control_L, XK_Control_L }}, { 37, 0, { XK_a, XK_A }}, { 38, 0, { XK_s, XK_S }}, { 39, 0, { XK_d, XK_D }}, { 40, 0, { XK_f, XK_F }}, { 41, 0, { XK_g, XK_G }}, { 42, 0, { XK_h, XK_H }}, { 43, 0, { XK_j, XK_J }}, { 44, 0, { XK_k, XK_K }}, { 45, 0, { XK_l, XK_L }}, { 46, 0, { XK_semicolon, XK_colon }}, { 47, 0, { XK_apostrophe, XK_quotedbl }}, { 48, 0, { XK_grave, XK_asciitilde }}, { 49, ShiftMask, { XK_Shift_L, XK_Shift_L }}, { 50, 0, { XK_backslash, XK_bar }}, { 51, 0, { XK_z, XK_Z }}, { 52, 0, { XK_x, XK_X }}, { 53, 0, { XK_c, XK_C }}, { 54, 0, { XK_v, XK_V }}, { 55, 0, { XK_b, XK_B }}, { 56, 0, { XK_n, XK_N }}, { 57, 0, { XK_m, XK_M }}, { 58, 0, { XK_comma, XK_less }}, { 59, 0, { XK_period, XK_greater }}, { 60, 0, { XK_slash, XK_question }}, { 61, ShiftMask, { XK_Shift_R, XK_Shift_R }}, { 62, 0, { XK_KP_Multiply, XK_Print }}, { 63, Mod1Mask, { XK_Alt_L, XK_Alt_L }}, { 64, 0, { XK_space, XK_space }}, { 65, LockMask, { XK_Caps_Lock, XK_Caps_Lock }}, { 66, 0, { XK_F1, XK_F1 }}, { 67, 0, { XK_F2, XK_F2 }}, { 68, 0, { XK_F3, XK_F3 }}, { 69, 0, { XK_F4, XK_F4 }}, { 70, 0, { XK_F5, XK_F5 }}, { 71, 0, { XK_F6, XK_F6 }}, { 72, 0, { XK_F7, XK_F7 }}, { 73, 0, { XK_F8, XK_F8 }}, { 74, 0, { XK_F9, XK_F9 }}, { 75, 0, { XK_F10, XK_F10 }}, { 77, 0, { XK_Scroll_Lock, XK_Scroll_Lock }}, { 78, 0, { XK_Home, XK_KP_7 }}, { 79, 0, { XK_Up, XK_KP_8 }}, { 80, 0, { XK_Prior, XK_KP_9 }}, { 81, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 82, 0, { XK_Left, XK_KP_4 }}, { 83, 0, { XK_KP_Space, XK_KP_5 }}, { 84, 0, { XK_Right, XK_KP_6 }}, { 85, 0, { XK_KP_Add, XK_KP_Add }}, { 86, 0, { XK_End, XK_KP_1 }}, { 87, 0, { XK_Down, XK_KP_2 }}, { 88, 0, { XK_Next, XK_KP_3 }}, { 89, 0, { XK_Insert, XK_KP_0 }}, { 90, 0, { XK_Delete, XK_KP_Decimal }}, { 91, Mod1Mask, { XK_Alt_R, XK_Alt_R }}, { 92, ControlMask, { XK_Control_R, XK_Control_R }}, { 94, 0, { XK_F11, XK_F11 }}, { 95, 0, { XK_F12, XK_F12 }}, { 96, 0, { XK_KP_Enter, XK_KP_Enter }}, { 97, 0, { XK_Insert, XK_Insert }}, { 98, 0, { XK_Delete, XK_Delete }}, { 99, 0, { XK_Left, XK_Left }}, { 100, 0, { XK_Home, XK_Home }}, { 101, 0, { XK_End, XK_End }}, { 102, 0, { XK_Up, XK_Up }}, { 103, 0, { XK_Down, XK_Down }}, { 104, 0, { XK_Prior, XK_Prior }}, { 105, 0, { XK_Next, XK_Next }}, { 106, 0, { XK_Right, XK_Right }}, { 107, 0, { XK_KP_Divide, XK_KP_Divide }}, { 108, 0, { XK_Print, XK_Print }}, { 109, 0, { XK_Pause, XK_Pause }}, { 110, 0, { XK_KP_7, XK_Home }}, { 111, 0, { XK_KP_4, XK_Left }}, { 112, 0, { XK_KP_1, XK_End }}, { 113, 0, { XK_KP_8, XK_Up }}, { 114, 0, { XK_KP_5, XK_KP_Space }}, { 115, 0, { XK_KP_2, XK_Down }}, { 116, 0, { XK_KP_0, XK_Insert }}, { 117, 0, { XK_KP_9, XK_Prior }}, { 118, 0, { XK_KP_6, XK_Right }}, { 119, 0, { XK_KP_3, XK_Next }}, { 120, 0, { XK_KP_Decimal, XK_Delete }} }; xkeycaps-2.47/kbds/sun4es-caps.h0000644000175000017500000000425310206731451014273 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the key surfaces of the Sun type 4 Catalan and * Spanish keyboard by Antoni Pamies Olive . * */ static const struct key_strings sun4es_caps [] = { /* Row 0 */ {"Stop", "L1", 0}, {"Again", "L2", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"{", "[", "\253"}, {"}", "]", "\273" }, {"Delete", 0}, {"Pause", "R1", 0}, {"PrSc", "R2", 0}, {"Scroll", "Lock", 0}, {"Num", "Lock", 0}, /* Row 1 */ {"Props", "L3", 0}, {"Undo", "L4", 0}, {"Esc", 0}, {"!", "1", 0}, {"\"", "2", "@"}, {"\260", "3", "#"}, {"$", "4", 0}, {"%", "5", "\260"}, {"&", "6", "\254"}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", "\\"}, {"=", "0", "|"}, {"?", "'", "'"}, {"\277", "\241"}, {"Backspace", 0}, {"=", "R4", 0}, {"/", "R5", 0}, {"*", "R6", 0}, {"-", 0}, /* Row 2 */ {"Front", "L5", 0}, {"Copy", "L6", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", "\272"}, {"P", 0}, {"^", "`", "^"}, {"*","+","~"}, {"Return", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Open", "L7", 0}, {"Paste", "L8", 0}, {"Caps", "Lock", 0}, {"A", "\252"}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\321", 0}, {"\250", "'", 0}, {"\307", 0}, {"4", "LeftArrow", 0}, {"5", "R11", 0}, {"6", "RightArrow", 0}, /* Row 4 */ {"Find", "L9", 0}, {"Cut", "L10", 0}, {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", "\251"}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"Line ", "Feed", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Help", 0}, {"Ctrl", 0}, {"Alt", "Defin",0}, {"<>", "Tecl",0}, {" ", 0}, {"<>", "Tecl",0}, {"Com ", "pose", 0}, {"Alt", "Graph", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ncd102f-map.h0000644000175000017500000000670310206731451014040 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD N102 french keyboard. * By Francois Regis Colin */ static const struct default_keycode_map ncd102f_map [] = { /* this key has a keycode but no keysym in the default map */ { 98, 0, { 0 }}, /* Pause */ { 8, 0, { XK_Escape }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_twosuperior }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F1 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_less, XK_greater }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_A }}, { 22, 0, { XK_ampersand, XK_1 }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, 0, { XK_W }}, { 27, 0, { XK_S }}, { 28, 0, { XK_Q }}, { 29, 0, { XK_Z }}, { 30, 0, { XK_eacute, XK_2, XK_asciitilde }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_apostrophe, XK_4, XK_braceleft }}, { 38, 0, { XK_quotedbl, XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_parenleft, XK_5, XK_bracketleft }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_minus, XK_6, XK_bar }}, { 55, 0, { XK_F7 }}, { 58, 0, { XK_comma, XK_question }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_egrave, XK_7, XK_grave }}, { 62, 0, { XK_underscore, XK_8, XK_backslash }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_semicolon, XK_period }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_agrave, XK_0, XK_at }}, { 70, 0, { XK_ccedilla, XK_9, XK_asciicircum }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_colon, XK_slash }}, { 74, 0, { XK_exclam, XK_section }}, { 75, 0, { XK_L }}, { 76, 0, { XK_M }}, { 77, 0, { XK_P }}, { 78, 0, { XK_parenright, XK_degree, XK_bracketright }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_ugrave, XK_percent }}, { 83, 0, { XK_asterisk, XK_mu }}, { 84, 0, { XK_asciicircum, XK_diaeresis }}, { 85, 0, { XK_equal, XK_plus, XK_braceright }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Print }}, { 88, ControlMask, { XK_Control_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_dollar, XK_sterling, XK_currency }}, { 94, 0, { XK_F12 }}, { 95, 0, { XK_Scroll_Lock }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Decimal }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, Mod5Mask, { XK_Num_Lock }}, { 119, 0, { XK_KP_Divide }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_KP_9 }}, { 126, 0, { XK_KP_Multiply }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/cc107-codes.h0000644000175000017500000000150310206731451014031 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of a "Linux CoolKeyboard" 107 key * AT PC-style keyboard. * By John Gotts */ static const KeyCode cc107_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 0, 0, 0, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 111, 78, 110, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 106, 97, 99, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 107, 103, 105, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 51, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 113, 116, 117, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/pc105is-caps.h0000644000175000017500000000404310206731451014233 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the key surfaces of an Icelandic 105 key PC-style * keyboard on XFree86 3.3.3 Linux 2.2.5. * By Jens Pall Hafsteinsson, Axon ehf. Iceland 990711 * */ static const struct key_strings pc105is_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "SysRq",0 }, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\250", "\260", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"\326", 0, "\\"}, {"_", "-", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0, "@"}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\320", 0 }, {"?", "\047", "~" }, {"Enter", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"\053", 0}, /* Row 4 */ {"Caps", " Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\306", 0}, {"'", 0, "^"}, {"*", "+", "\140"}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", "|"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"\336", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Win", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Win", 0}, {"Men", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/xfree86be-map.h0000644000175000017500000001036310206731451014476 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the default BE keymap used by the XFree86 X server. * Created by Bart Van Cutsem against * XFree86 3.3. */ static const struct default_keycode_map xfree86be_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_ampersand, XK_1 }}, { 11, Mod3Mask, { XK_eacute, XK_2, XK_at }}, { 12, Mod3Mask, { XK_quotedbl, XK_3, XK_numbersign }}, { 13, 0, { XK_apostrophe, XK_4 }}, { 14, 0, { XK_parenleft, XK_5 }}, { 15, Mod3Mask, { XK_section, XK_6, XK_asciicircum }}, { 16, 0, { XK_egrave, XK_7 }}, { 17, 0, { XK_exclam, XK_8 }}, { 18, Mod3Mask, { XK_ccedilla, XK_9, XK_braceleft }}, { 19, Mod3Mask, { XK_agrave, XK_0, XK_braceright }}, { 20, 0, { XK_parenright, XK_degree }}, { 21, 0, { XK_minus, XK_underscore }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_a, XK_A }}, { 25, 0, { XK_z, XK_Z }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, Mod3Mask, { XK_dead_circumflex, XK_diaeresis, XK_bracketleft }}, { 35, Mod3Mask, { XK_dollar, XK_asterisk, XK_bracketright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_q, XK_Q }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_m, XK_M }}, { 48, Mod3Mask, { XK_ugrave, XK_percent, XK_apostrophe }}, { 49, 0, { XK_twosuperior, XK_threesuperior }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, Mod3Mask, { XK_asterisk, XK_mu, XK_grave }}, { 52, 0, { XK_w, XK_W }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_comma, XK_question }}, { 59, 0, { XK_semicolon, XK_period }}, { 60, 0, { XK_colon, XK_slash }}, { 61, Mod3Mask, { XK_equal, XK_plus, XK_asciitilde }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F13 }}, { 68, 0, { XK_F2, XK_F14 }}, { 69, 0, { XK_F3, XK_F15 }}, { 70, 0, { XK_F4, XK_F16 }}, { 71, 0, { XK_F5, XK_F17 }}, { 72, 0, { XK_F6, XK_F18 }}, { 73, 0, { XK_F7, XK_F19 }}, { 74, 0, { XK_F8, XK_F20 }}, { 75, 0, { XK_F9, XK_F21 }}, { 76, 0, { XK_F10, XK_F22 }}, { 77, 0, { XK_Num_Lock }}, { 78, 0, { XK_Scroll_Lock }}, { 79, 0, { XK_Home, XK_KP_7, XK_KP_7, XK_Home }}, { 80, 0, { XK_Up, XK_KP_8, XK_KP_8, XK_Up }}, { 81, 0, { XK_Prior, XK_KP_9, XK_KP_9, XK_Prior }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_Left, XK_KP_4, XK_KP_4, XK_Left }}, { 84, 0, { XK_Begin, XK_KP_5, XK_KP_5, XK_Begin }}, { 85, 0, { XK_Right, XK_KP_6, XK_KP_6, XK_Right }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_End, XK_KP_1, XK_KP_1, XK_End }}, { 88, 0, { XK_Down, XK_KP_2, XK_KP_2, XK_Down }}, { 89, 0, { XK_Next, XK_KP_3, XK_KP_3, XK_Next }}, { 90, 0, { XK_Insert, XK_KP_0, XK_KP_0, XK_Insert }}, { 91, 0, { XK_Delete, XK_KP_Decimal, XK_KP_Decimal, XK_Delete }}, { 94, Mod3Mask, { XK_less, XK_greater, XK_backslash }}, { 95, 0, { XK_F11, XK_F23 }}, { 96, 0, { XK_F12, XK_F24 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, 0, { XK_Multi_key }}, { 117, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/apollo-caps.h0000644000175000017500000000371310206731451014340 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the key surfaces of an HP Apollo-thingy type keyboard. * By Mick J Hellstrom */ static const struct key_strings apollo_caps [] = { /* Row 0 */ {"Insert", "Mark", 0}, {"LineDel", 0}, {"CharDel", 0}, {"F0", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"Again", 0}, {"Read", 0}, {"Save", "Edit", 0}, {"Abort", "Exit", 0}, {"Help", "Hold", 0}, /* Row 1 */ {"Cut", "Copy", "0"}, {"Undo", "Paste", 0}, {"Move", "Grow", 0}, {"Escape", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"~", "`", 0}, {"Backspace", 0}, /* Row 2 */ {"Home", "0"}, {"Shell", "Cmd", 0}, {"End", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0 }, {"}", "]", 0 }, {"Delete", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"+", 0}, /* Row 3 */ {"PageLeft", 0}, {"Up", 0}, {"PageRight", 0}, {"Ctrl", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"|", "\\", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {"-", 0}, /* Row 4 */ {"Left", 0}, {"Next", 0}, {"Right", 0}, {"Repeat", 0}, {"LeftShift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"RightShift", 0}, {"Pop", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 5 */ {"PageUp", 0}, {"Down", 0}, {"PageDn", 0}, {" ", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/sn-codes.h0000644000175000017500000000146310206731451013641 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of a generic 102 key PC keyboard * from Siemens/Nixdorf. By Edwin Klement */ static const KeyCode sn_codes [] = { /* Row 0 */ 8, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 120, 90, 91, /* Row 2 */ 127, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 125, 22, 80, 81, 82, 92, 93, 94, 95, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 49, 83, 84, 85, 96, 97, 98, 107, /* Row 4 */ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 99, 100, 101, /* Row 5 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 89, 102, 103, 104, 108, /* Row 6 */ 63, 64, 67, 66, 65, 86, 87, 88, 105, 106 }; xkeycaps-2.47/kbds/pc105cf-map.h0000644000175000017500000001061310206731451014037 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1999 * Jamie Zawinski * * This file describes the keymap of a Keyboard with the useless Microsoft keys * PC 105 key keyboard, CF layout, on Linux with Xfree86 3.1.1 (X11R6) * Generated by Michel Catudal */ static const struct default_keycode_map pc105cf_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_plusminus }}, { 11, 0, { XK_2, XK_quotedbl, XK_at }}, { 12, 0, { XK_3, XK_slash, XK_sterling }}, { 13, 0, { XK_4, XK_dollar, XK_cent }}, { 14, 0, { XK_5, XK_percent, XK_exclamdown }}, { 15, 0, { XK_6, XK_question, XK_questiondown }}, { 16, 0, { XK_7, XK_ampersand, XK_bar }}, { 17, 0, { XK_8, XK_asterisk, XK_twosuperior }}, { 18, 0, { XK_9, XK_parenleft, XK_threesuperior }}, { 19, 0, { XK_0, XK_parenright, XK_onequarter }}, { 20, 0, { XK_minus, XK_underscore, XK_onehalf }}, { 21, 0, { XK_equal, XK_plus, XK_threequarters }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_q }}, { 25, 0, { XK_w, XK_W, XK_w }}, { 26, 0, { XK_e, XK_E, XK_e }}, { 27, 0, { XK_r, XK_R, XK_r }}, { 28, 0, { XK_t, XK_T, XK_t }}, { 29, 0, { XK_y, XK_Y, XK_y }}, { 30, 0, { XK_u, XK_U, XK_u }}, { 31, 0, { XK_i, XK_I, XK_i }}, { 32, 0, { XK_o, XK_O, XK_section }}, { 33, 0, { XK_p, XK_P, XK_paragraph }}, { 34, 0, { XK_dead_circumflex, XK_asciicircum, XK_bracketleft }}, { 35, 0, { XK_dead_cedilla, XK_dead_diaeresis, XK_bracketright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S, XK_s }}, { 40, 0, { XK_d, XK_D, XK_d }}, { 41, 0, { XK_f, XK_F, XK_f }}, { 42, 0, { XK_g, XK_G, XK_g }}, { 43, 0, { XK_h, XK_H, XK_h }}, { 44, 0, { XK_j, XK_J, XK_j }}, { 45, 0, { XK_k, XK_K, XK_k }}, { 46, 0, { XK_l, XK_L, XK_l }}, { 47, 0, { XK_semicolon, XK_colon, XK_asciitilde }}, { 48, 0, { XK_dead_grave, XK_grave, XK_braceleft }}, { 49, 0, { XK_numbersign, XK_bar, XK_backslash }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_less, XK_greater, XK_braceright }}, { 52, 0, { XK_z, XK_Z, XK_z }}, { 53, 0, { XK_x, XK_X, XK_x }}, { 54, 0, { XK_c, XK_C, XK_c }}, { 55, 0, { XK_v, XK_V, XK_v }}, { 56, 0, { XK_b, XK_B, XK_b }}, { 57, 0, { XK_n, XK_N, XK_ntilde, XK_Ntilde }}, { 58, 0, { XK_m, XK_M, XK_mu }}, { 59, 0, { XK_comma, XK_apostrophe, XK_less }}, { 60, 0, { XK_period, XK_quotedbl, XK_greater }}, { 61, 0, { XK_eacute, XK_Eacute, XK_dead_acute }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, Mod5Mask, { XK_Mode_switch, 0x1007FF01 }}, { 79, 0, { XK_Home, XK_KP_7 }}, { 80, 0, { XK_Up, XK_KP_8 }}, { 81, 0, { XK_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_Left, XK_KP_4 }}, { 84, 0, { XK_dead_acute, XK_KP_5 }}, { 85, 0, { XK_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_End, XK_KP_1 }}, { 88, 0, { XK_Down, XK_KP_2 }}, { 89, 0, { XK_Next, XK_KP_3 }}, { 90, 0, { XK_Insert, XK_KP_0 }}, { 91, 0, { XK_Delete, XK_KP_Decimal }}, { 94, 0, { XK_guillemotleft, XK_guillemotright, XK_degree }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, 0, { XK_Multi_key, XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { 0 }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod5Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }}, { 115, 0, { XK_bracketleft, XK_bracketright }}, { 116, 0, { XK_braceleft, XK_less }}, { 117, 0, { XK_braceright, XK_greater }} }; xkeycaps-2.47/kbds/sun4de-map.h0000644000175000017500000000760710206731451014111 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1995, 1996 Jamie Zawinski * * This file describes the default keymap of the Sun type 4 German keyboard * By Johannes Schmidt-Fischer */ static const struct default_keycode_map sun4de_map [] = { { 8, 0, { XK_F11 }}, { 10, 0, { XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 20, Mod1Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 22, 0, { XK_bracketright, XK_braceright, XK_guillemotright }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod1Mask, { XK_Mode_switch }}, { 28, 0, { XK_F21, XK_Pause }}, { 29, 0, { XK_F22 }}, { 30, 0, { XK_F23 }}, { 32, 0, { XK_F13 }}, { 33, 0, { XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 39, 0, { XK_3, XK_section, XK_threesuperior }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_ampersand }}, { 43, 0, { XK_7, XK_slash, XK_degree }}, { 44, 0, { XK_8, XK_parenleft, XK_grave }}, { 45, 0, { XK_9, XK_parenright, XK_apostrophe }}, { 46, 0, { XK_0, XK_equal, XK_bar }}, { 47, 0, { XK_ssharp, XK_question, XK_backslash }}, { 48, 0, { XK_apostrophe, XK_grave }}, { 49, 0, { XK_numbersign, XK_asciicircum, XK_at }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_F24, XK_KP_Equal }}, { 53, 0, { XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15 }}, { 57, 0, { XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_z, XK_Z }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 72, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_KP_7 }}, { 76, 0, { XK_Up, XK_KP_8 }}, { 77, 0, { XK_F29, XK_KP_9 }}, { 78, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 79, 0, { XK_F17 }}, { 80, 0, { XK_F18 }}, { 83, LockMask, { XK_Caps_Lock }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 94, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 95, 0, { XK_bracketleft, XK_braceleft, XK_guillemotleft }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter, XK_KP_Enter }}, { 98, 0, { XK_Left, XK_KP_4 }}, { 99, 0, { XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19 }}, { 104, 0, { XK_F20 }}, { 105, 0, { XK_Num_Lock, XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_y, XK_Y }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_m, XK_M, XK_mu }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_F33, XK_KP_1 }}, { 120, 0, { XK_Down, XK_KP_2 }}, { 121, 0, { XK_F35, XK_KP_3 }}, { 125, 0, { XK_Help, XK_Help }}, { 126, ControlMask, { XK_Control_L }}, { 127, Mod2Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod2Mask, { XK_Meta_R }}, { 131, 0, { XK_less, XK_greater }}, { 132, 0, { XK_KP_Add, XK_KP_Add }}, }; xkeycaps-2.47/kbds/hppcde-map.h0000644000175000017500000000745010206731451014146 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the keymap of a "Cherry" 102 key PC-style * keyboard, german layout, on HP 300/400/700. * Generated by Todd E. Richmond . */ static const struct default_keycode_map hppcde_map [] = { { 8, ControlMask, { XK_Control_R }}, { 10, Mod1Mask, { XK_Meta_R }}, { 11, Mod1Mask, { XK_Meta_L }}, { 12, Mod5Mask, { XK_Shift_R }}, { 13, Mod4Mask, { XK_Shift_L }}, { 14, ControlMask, { XK_Control_L }}, { 15, 0, { XK_Break, hpXK_Reset }}, { 16, 0, { XK_KP_4, XK_Left }}, { 17, 0, { XK_KP_8, XK_Up }}, { 18, 0, { XK_KP_5 }}, { 19, 0, { XK_KP_9, XK_Prior }}, { 20, 0, { XK_KP_6, XK_Right }}, { 21, 0, { XK_KP_7, XK_Home }}, { 23, 0, { XK_KP_Enter }}, { 24, 0, { XK_KP_1, XK_End }}, { 25, 0, { XK_KP_Divide }}, { 26, 0, { XK_KP_2, XK_Down }}, { 27, 0, { XK_KP_Add }}, { 28, 0, { XK_KP_3, XK_Next }}, { 29, 0, { XK_KP_Multiply }}, { 30, 0, { XK_KP_0, XK_Insert }}, { 31, 0, { XK_KP_Subtract }}, { 32, 0, { XK_B }}, { 33, 0, { XK_V }}, { 34, 0, { XK_C }}, { 35, 0, { XK_X }}, { 36, 0, { XK_y, XK_Y }}, { 39, 0, { XK_Escape }}, { 41, 0, { XK_F10, XK_KP_F2 }}, { 43, 0, { XK_F11, XK_KP_F3 }}, { 44, 0, { XK_KP_Separator, XK_Delete }}, { 45, 0, { XK_F9, XK_KP_F1 }}, { 47, 0, { XK_F12, XK_KP_F4 }}, { 48, 0, { XK_H }}, { 49, 0, { XK_G }}, { 50, 0, { XK_F }}, { 51, 0, { XK_D }}, { 52, 0, { XK_S }}, { 53, 0, { XK_A }}, { 54, Mod1Mask, { XK_Mode_switch, 0, 0, XK_Mode_switch }}, { 55, LockMask, { XK_Caps_Lock }}, { 56, 0, { XK_U }}, { 57, 0, { XK_z, XK_Z, hpXK_mute_asciicircum, hpXK_mute_asciicircum }}, { 58, 0, { XK_T }}, { 59, 0, { XK_R }}, { 60, 0, { XK_E }}, { 61, 0, { XK_W }}, { 62, 0, { XK_q, XK_Q, XK_at }}, { 63, 0, { XK_Tab, hpXK_BackTab }}, { 64, 0, { XK_7, XK_slash, XK_braceleft }}, { 65, 0, { XK_6, XK_ampersand }}, { 66, 0, { XK_5, XK_percent }}, { 67, 0, { XK_4, XK_dollar }}, { 68, 0, { XK_3, XK_section, XK_threesuperior }}, { 69, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 70, 0, { XK_1, XK_exclam }}, { 71, 0, { XK_asciicircum, XK_degree }}, { 80, 0, { XK_Menu, XK_Sys_Req }}, { 81, 0, { XK_F4 }}, { 82, 0, { XK_F3 }}, { 83, 0, { XK_F2 }}, { 84, 0, { XK_F1 }}, { 86, 0, { XK_Cancel }}, { 88, 0, { hpXK_System, hpXK_User }}, { 89, 0, { XK_F5 }}, { 90, 0, { XK_F6 }}, { 91, 0, { XK_F7 }}, { 92, 0, { XK_F8 }}, { 96, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 97, 0, { XK_9, XK_parenright, XK_bracketright }}, { 98, 0, { XK_0, XK_equal, XK_braceright }}, { 99, 0, { XK_ssharp, XK_question, XK_backslash }}, { 100, 0, { XK_apostrophe, XK_grave }}, { 101, 0, { XK_BackSpace }}, { 104, 0, { XK_I }}, { 105, 0, { XK_O }}, { 106, 0, { XK_P }}, { 107, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 108, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 110, 0, { hpXK_InsertChar }}, { 111, 0, { hpXK_DeleteChar }}, { 112, 0, { XK_J }}, { 113, 0, { XK_K }}, { 114, 0, { XK_L }}, { 115, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 116, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 117, 0, { XK_Return }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_m, XK_M, XK_mu }}, { 121, 0, { XK_comma, XK_semicolon }}, { 122, 0, { XK_period, XK_colon }}, { 123, 0, { XK_minus, XK_underscore }}, { 124, 0, { XK_numbersign, XK_apostrophe }}, { 125, 0, { XK_Select }}, { 126, 0, { XK_less, XK_greater, XK_bar }}, { 127, 0, { XK_Next }}, { 128, 0, { XK_N }}, { 129, 0, { XK_space }}, { 132, 0, { XK_Left }}, { 133, 0, { XK_Down }}, { 134, 0, { XK_Up }}, { 135, 0, { XK_Right }} }; xkeycaps-2.47/kbds/lk201-geom.h0000644000175000017500000000503610206731451013704 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the DEC LK201 and LK401 * keyboards. By Tom Ivar Helbekkmo and jwz. * These two keyboards differ only in the last row. */ static const struct key_geometry lk201_geom_row0 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {8, 7}, {16, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk201_geom_row2 [] = { {5, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {12, 0}, {8, 7}, {8, 7}, {8, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk201_geom_row3 [] = { {5, 0}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {8, 14}, {8, 0}, {8, 7}, {8, 7}, {8, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk201_geom_row4 [] = { {7, 7}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {24, 0}, {8, 7}, {15, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk201_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {10, 0}, {8, 7}, {8, 7}, {8, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry lk201_geom_row6 [] = { {9, 0}, {16, 7}, {64, 7}, {61, 0}, {14, 7}, {7, 7} }; static const struct key_geometry lk401_geom_row6 [] = { {9, 0}, {12, 7}, {12, 7}, {48, 7}, {12, 7}, {12, 7}, {45, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry lk201_geom_rows [] = { ROW (lk201_geom_row0, 7), EMPTYROW (7), ROW (lk201_geom_row2, 7), ROW (lk201_geom_row3, 7), ROW (lk201_geom_row4, 7), ROW (lk201_geom_row5, 7), ROW (lk201_geom_row6, 7), }; static const struct keyboard_row_geometry lk401_geom_rows [] = { ROW (lk201_geom_row0, 7), EMPTYROW (7), ROW (lk201_geom_row2, 7), ROW (lk201_geom_row3, 7), ROW (lk201_geom_row4, 7), ROW (lk201_geom_row5, 7), ROW (lk401_geom_row6, 7), }; static const struct keyboard_geometry lk201_geom = { sizeof (lk201_geom_rows) / sizeof (struct keyboard_row_geometry), lk201_geom_rows, 6, 3, 3 }; static const struct keyboard_geometry lk401_geom = { sizeof (lk401_geom_rows) / sizeof (struct keyboard_row_geometry), lk401_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/sgide-caps.h0000644000175000017500000000401210206731451014136 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the SGI Iris keyboard. * Generated by Benedikt Kessler on Irix 5.2 (x11r5). */ static const struct key_strings sgide_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", "S-Abf", 0}, {"Rollen", "DownArrow", 0}, {"Pause", "Untbr", 0}, /* Row 2 */ {"\260", "^", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"\247", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"=", "0 }", 0}, {"?", "\337 \\", 0}, {"`", "\264", 0}, {"Backspace", 0}, {"Einfg", 0}, {"Pos 1", 0}, {"Bild", "UpArrow", 0}, {"Num", "DownArrow", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", " @", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+ ~", 0}, {"Enter", 0}, {"Entf", 0}, {"Ende", 0}, {"Bild", "DownArrow", 0}, {"7", "Pos 1", 0}, {"8", "UpArrow", 0}, {"9", "Bild ^", 0}, {"+", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"'", "#", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">","< |", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "Ende", 0}, {"2", "DownArrow", 0}, {"3", "Bild v", 0}, {"Enter", 0}, /* Row 6 */ {"Strg", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Strg", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Einfg", 0}, {",", "Entf", 0} }; xkeycaps-2.47/kbds/omni102-codes.h0000644000175000017500000000174610206731451014412 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the keycodes of the Northgate OmniKey 102P * keyboard model (part number: KYBD102P; vendor code: 20017; rev 1.0.) * By Jeffrey Templon . */ static const KeyCode omni102_codes [] = { /* Row 0 */ 95, 96, 9, 111, 78, 110, /* Row 2 */ 67, 68, 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 69, 70, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 71, 72, 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 83, 84, 85, 21, /* Row 5 */ 73, 74, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 51, 98, 87, 88, 89, 108, /* Row 6 */ 75, 76, 37, 0, 64, 65, 113, 0, 0, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/tek101-map.h0000644000175000017500000000726110206731451013710 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Tektronix XP20 keyboard, *_TEK_KEYBOARD_TYPE = "ibm101" (101-key North American Keyboard) * for X11R5. Generated by Joe English . * * The default keymap changed between R4 and R5. The R4 bindings should work * on an R5 server, but the reverse does not hold: as of release 5, the * TekSetup function is invoked by any key bound to the (new) TekXK_Setup * keysym, whereas before it was invoked by a specific keycode. */ static const struct default_keycode_map tek101_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, LockMask, { XK_Caps_Lock }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, ControlMask, { XK_Control_L }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 65, 0, { XK_Alt_R }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_less }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_greater }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Linefeed }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 100, 0, { XK_backslash, XK_bar }}, { 102, 0, { XK_F12 }}, { 103, 0, { XK_Break }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_Pause }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1, XK_End }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4, XK_Left }}, { 116, 0, { XK_KP_7, XK_Home }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0, XK_Insert }}, { 121, 0, { XK_KP_Decimal, XK_Delete }}, { 122, 0, { XK_KP_2, XK_Down }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6, XK_Right }}, { 125, 0, { XK_KP_8, XK_Up }}, { 126, 0, { XK_Num_Lock }}, { 127, 0, { XK_KP_Divide }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3, XK_Next }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_9, XK_Prior }}, { 134, 0, { XK_KP_Multiply }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/sun5es-ow-map.h0000644000175000017500000001132610206731451014545 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1995 * Jamie Zawinski * * This file describes the default keymap of the Sun type 5 keyboard with * Spanish layout. By anonymous. */ static const struct default_keycode_map sun5es_ow_map [] = { { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 9, 0, { SunXK_AudioLowerVolume, SunXK_VideoLowerBrightness }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 11, 0, { SunXK_AudioRaiseVolume, SunXK_VideoRaiseBrightness }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam, XK_bar }}, { 38, 0, { XK_2, XK_quotedbl, XK_at }}, { 39, 0, { XK_3, XK_periodcentered, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar, XK_asciicircum }}, { 41, 0, { XK_5, XK_percent, XK_asciitilde }}, { 42, 0, { XK_6, XK_ampersand, XK_notsign }}, { 43, 0, { XK_7, XK_slash }}, { 44, 0, { XK_8, XK_parenleft }}, { 45, 0, { XK_9, XK_parenright }}, { 46, 0, { XK_0, XK_equal }}, { 47, 0, { XK_apostrophe, XK_question, XK_grave }}, { 48, 0, { XK_exclamdown, XK_questiondown }}, { 49, 0, { XK_masculine, XK_ordfeminine, XK_backslash }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { SunXK_AudioMute, SunXK_VideoDegauss }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 55, 0, { SunXK_PowerSwitch, SunXK_PowerSwitchShift }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { SunXK_FA_Grave, SunXK_FA_Circum, XK_bracketleft }}, { 72, 0, { XK_plus, XK_asterisk, XK_bracketright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_Ntilde }}, { 94, 0, { SunXK_FA_Acute, SunXK_FA_Diaeresis, XK_braceleft }}, { 95, 0, { XK_ccedilla, XK_Ccedilla, XK_braceright }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_KP_Insert, XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 131, 0, { XK_less, XK_greater }}, { 132, 0, { XK_KP_Add }}, }; xkeycaps-2.47/kbds/pc102-3-codes.h0000644000175000017500000000162510206731451014206 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of a "Chicony KB-5312" * 102 key PC-style keyboard. * This differs from 'pc101-2' in a new key in the bottom-left corner * (next to left shift) * By Ben Harris */ static const KeyCode pc102_3_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 51, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 83, 84, 85, /* Row 5 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 64, 65, 113, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/ncd102n-map.h0000644000175000017500000000642610206731451014052 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD N102 Norwegian keyboard. * By Bj|rn Wennberg */ static const struct default_keycode_map ncd102n_map [] = { /* this key has a keycode but no keysym in the default map */ { 109, 0, { 0 }}, /* Setup */ { 8, 0, { XK_Escape }}, { 9, 0, { XK_1, XK_exclam }}, { 10, 0, { XK_2, XK_quotedbl }}, { 11, 0, { XK_3, XK_numbersign }}, { 12, 0, { XK_4 }}, { 13, 0, { XK_5, XK_percent }}, { 14, 0, { XK_6, XK_ampersand }}, { 15, 0, { XK_7, XK_slash }}, { 16, 0, { XK_8, XK_parenleft }}, { 17, 0, { XK_9, XK_parenright }}, { 18, 0, { XK_0, XK_equal }}, { 19, 0, { XK_plus, XK_question }}, { 20, 0, { XK_backslash, XK_grave }}, { 21, 0, { XK_BackSpace }}, { 22, 0, { XK_Tab }}, { 23, 0, { XK_Q }}, { 24, 0, { XK_W }}, { 25, 0, { XK_E }}, { 26, 0, { XK_R }}, { 27, 0, { XK_T }}, { 28, 0, { XK_Y }}, { 29, 0, { XK_U }}, { 30, 0, { XK_I }}, { 31, 0, { XK_O }}, { 32, 0, { XK_P }}, { 33, 0, { XK_Adiaeresis }}, { 34, 0, { XK_diaeresis, XK_asciicircum }}, { 35, 0, { XK_Return }}, { 36, ControlMask, { XK_Control_L }}, { 37, 0, { XK_A }}, { 38, 0, { XK_S }}, { 39, 0, { XK_D }}, { 40, 0, { XK_F }}, { 41, 0, { XK_G }}, { 42, 0, { XK_H }}, { 43, 0, { XK_J }}, { 44, 0, { XK_K }}, { 45, 0, { XK_L }}, { 46, 0, { XK_Odiaeresis }}, { 47, 0, { XK_Adiaeresis }}, { 48, 0, { XK_bar }}, { 49, ShiftMask, { XK_Shift_L }}, { 50, 0, { XK_asterisk, XK_apostrophe }}, { 51, 0, { XK_Z }}, { 52, 0, { XK_X }}, { 53, 0, { XK_C }}, { 54, 0, { XK_V }}, { 55, 0, { XK_B }}, { 56, 0, { XK_N }}, { 57, 0, { XK_M }}, { 58, 0, { XK_comma, XK_semicolon }}, { 59, 0, { XK_period, XK_colon }}, { 60, 0, { XK_underscore, XK_hyphen }}, { 61, ShiftMask, { XK_Shift_R }}, { 62, 0, { XK_KP_Multiply }}, { 63, Mod1Mask, { XK_Alt_L }}, { 64, 0, { XK_space }}, { 65, LockMask, { XK_Caps_Lock }}, { 66, 0, { XK_F1 }}, { 67, 0, { XK_F2 }}, { 68, 0, { XK_F3 }}, { 69, 0, { XK_F4 }}, { 70, 0, { XK_F5 }}, { 71, 0, { XK_F6 }}, { 72, 0, { XK_F7 }}, { 73, 0, { XK_F8 }}, { 74, 0, { XK_F9 }}, { 75, 0, { XK_F10 }}, { 76, Mod5Mask, { XK_Num_Lock }}, { 77, 0, { XK_Scroll_Lock }}, { 78, 0, { XK_KP_7 }}, { 79, 0, { XK_KP_8 }}, { 80, 0, { XK_KP_9 }}, { 81, 0, { XK_KP_Subtract }}, { 82, 0, { XK_KP_4 }}, { 83, 0, { XK_KP_5 }}, { 84, 0, { XK_KP_6 }}, { 85, 0, { XK_KP_Add }}, { 86, 0, { XK_KP_1 }}, { 87, 0, { XK_KP_2 }}, { 88, 0, { XK_KP_3 }}, { 89, 0, { XK_KP_0 }}, { 90, 0, { XK_KP_Decimal }}, { 93, 0, { XK_less, XK_greater }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_F12 }}, { 96, 0, { XK_Home }}, { 97, 0, { XK_Up }}, { 98, 0, { XK_Prior }}, { 99, 0, { XK_Left }}, { 101, 0, { XK_Right }}, { 102, 0, { XK_End }}, { 103, 0, { XK_Down }}, { 104, 0, { XK_Next }}, { 105, 0, { XK_Insert }}, { 106, 0, { XK_Delete }}, { 107, 0, { XK_KP_Enter }}, { 108, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Print }}, { 111, 0, { XK_KP_Divide }}, { 112, Mod1Mask, { XK_Alt_R }} }; xkeycaps-2.47/kbds/ncd102f-caps.h0000644000175000017500000000361610206731451014211 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD N102 french keyboard. * By Francois Regis Colin */ static const struct key_strings ncd102f_caps [] = { /* Row 0 */ {"Echap", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Impr ", "icran", 0}, {"Arr\352t", "d\351fil", 0}, {"Pause", 0}, /* Row 2 */ {0, "\262", 0}, {"1", "&", 0}, {"2", "\351", 0}, {"3", "\"", 0}, {"4", "'", 0}, {"5", "(", 0}, {"6", "-", 0}, {"7", "\350", 0}, {"8", "_", 0}, {"9", "\347", 0}, {"0", "\340", 0}, {"\260", ")", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Inser", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Verr", "num", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"A", 0}, {"Z", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\250", "^", 0}, {"\243", "$", 0}, {"Entre\351", 0}, {"Suppr", 0}, {"Fin", 0}, {"Page", "Down", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"+", 0}, /* Row 4 */ {"Caps", "lock", 0}, {"Q", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"M", 0}, {"%", "\371", 0}, {"\265", "*", 0}, {"4", 0}, {"5", 0}, {"6", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"W", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"?", ",", 0}, {".", ";", 0}, {"/", ":", 0}, {"\247", "!", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "Fin", 0}, {"2", 0}, {"3", 0}, {"Entr", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Inser", 0}, {".", "Suppr", 0} }; xkeycaps-2.47/kbds/apollo-codes.h0000644000175000017500000000152210206731451014503 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the keycodes of an HP Apollo-thingy type keyboard. * By Mick J Hellstrom */ static const KeyCode apollo_codes [] = { /* Row 0 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, /* Row 1 */ 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, /* Row 2 */ 47, 48, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 68, 69, 70, 71, /* Row 3 */ 72, 73, 74, 75, 134, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 90, 91, 93, 94, 95, 96, /* Row 4 */ 97, 98, 99, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 118, 119, 120, 132, /* Row 5 */ 122, 123, 124, 126, 129, 131 }; xkeycaps-2.47/kbds/tek200u-uk-map.h0000644000175000017500000000673610206731451014520 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "uk" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_uk_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_sterling }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/sun5pc-owde-map.h0000644000175000017500000001073410206731451015053 0ustar cbcb/* xkeycaps, Copyright (c) 1993 Jamie Zawinski * * This file describes the default keymap of the Sun type 5 PC-style keyboard * when running the XNews DE OW 3.0 server. * By Sylvain Meunier . */ static const struct default_keycode_map sun5pc_owde_map [] = { /* these keys have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 52, 0, { 0 }}, /* Degauss, Mute */ { 55, 0, { 0 }}, /* Power */ { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/explorer-caps.h0000644000175000017500000000376310206731451014717 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the TI Explorer Lisp Machine * keyboard. */ static const struct key_strings explorer_caps [] = { /* Row 0 */ {"Help", 0}, {"System", 0}, {"Network", 0}, {"Status", 0}, {"Term", 0}, {"Caps", "Lock", 0}, {"Bold", "Lock", 0}, {"Italic", "Lock", 0}, {"Mode", "Lock", 0}, {"Clear", "Screen", 0}, {"Clear", "Input", 0}, {"Undo", 0}, {"End", 0}, {"Left", 0}, {"Middle", 0}, {"Right", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, /* Row 2 */ {"Resume", 0}, {"Escape", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"{", "`", 0}, {"}", "~", 0}, {"=", 0}, {"+", 0}, {"Space", 0}, {"Tab", 0}, /* Row 3 */ {"Break", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"[", "(", 0}, {"]", ")", 0}, {"|", "\\", 0}, {"UpArrow", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 4 */ {"Abort", 0}, {"Rubout", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"Line ", "Feed", 0}, {"LeftArrow", 0}, {"Purge", "Disk", 0}, {"RightArrow", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, /* Row 5 */ {"Sym-", "bol", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"Symbol", 0}, {"DownArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Hyper", 0}, {"Super", 0}, {"Meta", 0}, {"Ctrl", 0}, {" ", 0}, {"Ctrl", 0}, {"Meta", 0}, {"Super", 0}, {"Hyper", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/mac-caps.h0000644000175000017500000000371010206731451013607 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Apple Extended Keyboard II. * By John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. */ static const struct key_strings mac_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "lock", 0}, {"Pause", 0}, /* Row 2 */ {"\247", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Prior", 0}, {"Num ", "Lock", 0}, {"=", 0}, {"/", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Return", 0}, {"Delete", 0}, {"End", 0}, {"Next", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 4 */ {"Caps", "lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"|", "\\", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {"+", 0}, /* Row 5 */ {"Shift", 0}, {"~", "\\", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"alt", 0}, {"%", 0}, /* that silly clover symbol */ {" ", 0}, {"%", 0}, /* that silly clover symbol */ {"alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/ms104-sparc-map.h0000644000175000017500000001170410206731451014652 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keymap of the Microsoft "Natural" keyboard * (part 58221) with Solaris 2.5/OpenWindows 3.5 running on a SparcStation * via the Sun Interface Converter (part # 370-2068-01). * * Contributed by Barry Warsaw * * Unfortunately, the new modifier keys in the bottom row (the "Microsoft" * and "Menu" keys) do not generate keycodes on a SparcStation, and thus * cannot be bound. They do however generate keycodes on an x86 system. */ static const struct default_keycode_map ms104_sparc_map [] = { /* this key has a keycode but no keysyms in the default map */ { 131, 0, { 0 }}, { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 9, 0, { SunXK_AudioLowerVolume, SunXK_VideoLowerBrightness }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 11, 0, { SunXK_AudioRaiseVolume, SunXK_VideoRaiseBrightness }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { SunXK_AudioMute, SunXK_VideoDegauss }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 55, 0, { SunXK_PowerSwitch, SunXK_PowerSwitchShift }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_KP_Insert, XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add }}, }; xkeycaps-2.47/kbds/tek200u-sp-map.h0000644000175000017500000000701010206731451014505 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "spanish" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_sp_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_questiondown, XK_exclamdown }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_ntilde, XK_Ntilde }}, { 85, 0, { XK_P }}, { 86, 0, { XK_apostrophe, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_apostrophe, XK_diaeresis }}, { 91, 0, { XK_ccedilla, XK_asciitilde }}, { 92, 0, { XK_grave, XK_asciicircum }}, { 93, 0, { XK_masculine, XK_ordfeminine }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_plus, XK_asterisk }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/mag3k-caps.h0000644000175000017500000000346610206731451014061 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the MIPS Magnum 3000 keyboard. * By Cliff Marcellus . */ static const struct key_strings mag3k_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Break", 0}, {"Setup", 0}, /* Row 2 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"~", "`", 0}, {"Backspace", 0}, {"PF1", 0}, {"PF2", 0}, {"PF3", 0}, {"PF4", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Del", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"-", 0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"Line ", "Feed", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, {",", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"Option", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Caps", "Lock", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/sun5pc-xc6-map.h0000644000175000017500000001050310206731451014607 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 5 PC-style keyboard * as interpreted by X Consortium X11R6 servers. Generated by * Alon Albert using build-map.sh */ static const struct default_keycode_map sun5pc_xc6_map [] = { { 8, 0, { XK_Cancel, 0, XK_F11 }}, { 9, 0, { SunXK_AudioLowerVolume, SunXK_VideoLowerBrightness }}, { 10, 0, { XK_Redo, 0, XK_F12 }}, { 11, 0, { SunXK_AudioRaiseVolume, SunXK_VideoRaiseBrightness }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11, 0, SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12, 0, SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_Pause, 0, XK_Break }}, { 29, 0, { XK_Print, 0, XK_Sys_Req, SunXK_Sys_Req }}, { 30, 0, { XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { SunXK_Props, 0, XK_F13 }}, { 33, 0, { XK_Undo, 0, XK_F14 }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde, XK_acute }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { SunXK_AudioMute, SunXK_VideoDegauss }}, { 53, 0, { XK_KP_Divide }}, { 54, 0, { XK_KP_Multiply }}, { 55, 0, { SunXK_PowerSwitch, SunXK_PowerSwitchShift }}, { 56, 0, { SunXK_Front, 0, XK_F15 }}, { 57, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 58, 0, { SunXK_Copy, 0, XK_F16 }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_KP_Home, XK_KP_7 }}, { 76, 0, { XK_KP_Up, XK_KP_8 }}, { 77, 0, { XK_KP_Prior, XK_KP_9 }}, { 78, 0, { XK_KP_Subtract }}, { 79, 0, { SunXK_Open, 0, XK_F17 }}, { 80, Mod5Mask, { SunXK_Paste, 0, XK_F18 }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl, XK_acute }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_KP_Left, XK_KP_4 }}, { 99, 0, { 0, XK_KP_5 }}, { 100, 0, { XK_KP_Right, XK_KP_6 }}, { 101, 0, { XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_Find, 0, XK_F19 }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { SunXK_Cut, 0, XK_F20 }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_KP_End, XK_KP_1 }}, { 120, 0, { XK_KP_Down, XK_KP_2 }}, { 121, 0, { XK_KP_Next, XK_KP_3 }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/ms105it-caps.h0000644000175000017500000000427710206731451014262 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * modified by Lorenzo Maria Catucci * This file describes the key surfaces of the italian Microsoft "Natural" * keyboard. It's pretty much the same as pc101-caps.h, * except for the additional modifier keys in the bottom row. */ static const struct key_strings ms105it_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Stamp", "R Sist", 0}, {"Bloc", "Scorr", 0}, {"Pausa", "Interr", 0}, /* Row 2 */ {"|", "\\", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"\243", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "'", 0}, {"^", "\354", 0}, {"LeftArrow", 0}, {"Ins", 0}, {"Inizio", 0}, {"Pag", "UpArrow", 0}, {"Bloc", "Num", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"LeftArrow","RightArrow"}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\351", "\350", "["}, {"*", "+", "]"}, {"Invio", 0}, {"Canc", 0}, {"Fine", 0}, {"Pag", "DownArrow", 0}, {"7", "Inizio", 0}, {"8", "UpArrow", 0}, {"9", "Pag Su", 0}, {"+", 0}, /* Row 4 */ {"Bloc", "Maius"}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\347", "\362", "@" }, {"\260", "\340", "#" }, {"\247", "\372", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "Fine", 0}, {"2", "DownArrow", 0}, {"3", "Pag Giu", 0}, {"Invio", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Canc", 0} }; xkeycaps-2.47/kbds/kinesis-geom.h0000644000175000017500000000472310206731451014522 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the physical layout of the Kinesis Model 120 Keyboard. */ static const struct key_geometry kinesis_geom_row0 [] = { { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 35, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 }, { 1, 0 }, { 4, 6 } }; static const struct key_geometry kinesis_geom_row2 [] = { { 9, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 35, 0 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 9, 7 } }; static const struct key_geometry kinesis_geom_row3 [] = { { 9, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 35, 0 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 9, 7 } }; static const struct key_geometry kinesis_geom_row4 [] = { { 9, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 35, 0 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 9, 7 } }; static const struct key_geometry kinesis_geom_row5 [] = { { 9, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 35, 0 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 9, 7 } }; static const struct key_geometry kinesis_geom_row6 [] = { { 9, 0 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 0 }, { 35, 0 }, { 7, 0 }, { 7, 7 }, { 7, 7 }, { 7, 7 }, { 7, 7 } }; static const struct key_geometry kinesis_geom_row7 [] = { { 35, 0 }, { 7, 0 }, { 7, 7 }, { 7, 7 }, { 11, 0 }, { 7, 7 }, { 7, 7 } }; static const struct key_geometry kinesis_geom_row8 [] = { { 35, 0 }, { 7, 14 }, { 7, 14 }, { 7, 7 }, { 11, 0 }, { 7, 7 }, { 7, 14 }, { 7, 14 } }; static const struct key_geometry kinesis_geom_row9 [] = { { 35, 0 }, { 7, 0 }, { 7, 0 }, { 7, 7 }, { 11, 0 }, { 7, 7 } }; static const struct keyboard_row_geometry kinesis_geom_rows [] = { ROW (kinesis_geom_row0, 7), EMPTYROW (2), ROW (kinesis_geom_row2, 7), ROW (kinesis_geom_row3, 7), ROW (kinesis_geom_row4, 7), ROW (kinesis_geom_row5, 7), ROW (kinesis_geom_row6, 7), ROW (kinesis_geom_row7, 7), ROW (kinesis_geom_row8, 7), ROW (kinesis_geom_row9, 7), }; static const struct keyboard_geometry kinesis_geom = { sizeof (kinesis_geom_rows) / sizeof (struct keyboard_row_geometry), kinesis_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tek200u-us-map.h0000644000175000017500000000675310206731451014527 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "usascii" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_us_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, Mod1Mask, { XK_Alt_L, XK_Multi_key }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/gvc-map.h0000644000175000017500000001017510206731451013460 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * file defining the default keymaps of the GVC Win '95 keyboard (I think * they use it for all models) in the U.S. sold as ARM notebooks (model ARM * 753CD was used for creating these files) * * by R.Back * */ static const struct default_keycode_map gvc_map [] = { /* the following keys have keycodes but no keysyms in the default map */ { 111, 0, { 0 }}, /* PrintScreen/SysReq key */ { 115, 0, { 0 }}, /* Windows '95 key */ { 117, 0, { 0 }}, /* the key right next to the space bar, showing a menu (hence the caps Menu) and a mousepointer */ /* I've never figured out what this key was meant for, not even in Windows... */ /* now the stuff generated by build-map */ { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, 0, { XK_Multi_key }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 114, 0, { XK_Break }} }; xkeycaps-2.47/kbds/ncd102sf-map.h0000644000175000017500000000642410206731451014223 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD N102 Swedish/Finnish * keyboard. By Pekka Nikander */ static const struct default_keycode_map ncd102sf_map [] = { /* this key has a keycode but no keysym in the default map */ { 98, 0, { 0 }}, /* Setup */ { 8, 0, { XK_Escape }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_section, XK_onehalf }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F1 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_less, XK_greater }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_quotedbl }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_ampersand }}, { 55, 0, { XK_F7 }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_slash }}, { 62, 0, { XK_8, XK_parenleft }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_semicolon }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_equal }}, { 70, 0, { XK_9, XK_parenright }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_colon }}, { 74, 0, { XK_underscore, XK_hyphen }}, { 75, 0, { XK_L }}, { 76, 0, { XK_Odiaeresis }}, { 77, 0, { XK_P }}, { 78, 0, { XK_plus, XK_question }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_Adiaeresis }}, { 83, 0, { XK_asterisk, XK_apostrophe }}, { 84, 0, { XK_Aring }}, { 85, 0, { XK_acute, XK_grave }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Print }}, { 88, ControlMask, { XK_Control_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_diaeresis, XK_asciicircum }}, { 94, 0, { XK_F12 }}, { 95, 0, { XK_Scroll_Lock }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Decimal }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, Mod5Mask, { XK_Num_Lock }}, { 119, 0, { XK_KP_Divide }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 123, 0, { XK_KP_Subtract }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_KP_9 }}, { 126, 0, { XK_KP_Multiply }} }; xkeycaps-2.47/kbds/xfree86th-map.h0000644000175000017500000001154110206731451014522 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the default TH keymap used by the XFree86 X server. * Generated by Gord Vreugdenhil * Modified by Poonlap Veeratanabutr * Map Thai Kedmanee keyboard on US keyboard layout. * 27 May 1997 */ static struct default_keycode_map xfree86th_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_aring, XK_plus }}, { 11, 0, { XK_2, XK_at, XK_slash, XK_ntilde }}, { 12, 0, { XK_3, XK_numbersign, XK_underscore, XK_ograve }}, { 13, 0, { XK_4, XK_dollar, XK_Agrave, XK_oacute }}, { 14, 0, { XK_5, XK_percent, XK_paragraph, XK_ocircumflex}}, { 15, 0, { XK_6, XK_asciicircum, XK_Ooblique, XK_Ugrave }}, { 16, 0, { XK_7, XK_ampersand, XK_Odiaeresis, XK_ssharp }}, { 17, 0, { XK_8, XK_asterisk, XK_currency, XK_otilde }}, { 18, 0, { XK_9, XK_parenleft, XK_mu, XK_odiaeresis }}, { 19, 0, { XK_0, XK_parenright, XK_diaeresis, XK_division }}, { 20, 0, { XK_minus, XK_underscore, XK_cent, XK_oslash }}, { 21, 0, { XK_equal, XK_plus, XK_ordfeminine, XK_ugrave }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_ae, XK_eth }}, { 25, 0, { XK_w, XK_W, XK_adiaeresis, XK_quotedbl }}, { 26, 0, { XK_e, XK_E, XK_Oacute, XK_registered }}, { 27, 0, { XK_r, XK_R, XK_threequarters, XK_plusminus }}, { 28, 0, { XK_t, XK_T, XK_ETH, XK_cedilla }}, { 29, 0, { XK_y, XK_Y, XK_Ntilde, XK_iacute }}, { 30, 0, { XK_u, XK_U, XK_Otilde, XK_ecircumflex }}, { 31, 0, { XK_i, XK_I, XK_Atilde, XK_threesuperior }}, { 32, 0, { XK_o, XK_O, XK_onesuperior, XK_Idiaeresis }}, { 33, 0, { XK_p, XK_P, XK_Acircumflex, XK_hyphen }}, { 34, 0, { XK_bracketleft, XK_braceleft, XK_masculine, XK_degree }}, { 35, 0, { XK_bracketright, XK_braceright, XK_Aring, XK_comma }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A, XK_questiondown, XK_Adiaeresis }}, { 39, 0, { XK_s, XK_S, XK_Ediaeresis, XK_brokenbar }}, { 40, 0, { XK_d, XK_D, XK_exclamdown, XK_macron }}, { 41, 0, { XK_f, XK_F, XK_acute, XK_acircumflex }}, { 42, 0, { XK_g, XK_G, XK_agrave, XK_notsign }}, { 43, 0, { XK_h, XK_H, XK_eacute, XK_ccedilla }}, { 44, 0, { XK_j, XK_J, XK_egrave, XK_ediaeresis }}, { 45, 0, { XK_k, XK_K, XK_Ograve, XK_Eacute }}, { 46, 0, { XK_l, XK_L, XK_Ecircumflex, XK_Egrave }}, { 47, 0, { XK_semicolon, XK_colon, XK_Ccedilla, XK_guillemotleft }}, { 48, 0, { XK_apostrophe, XK_quotedbl, XK_section, XK_period }}, { 49, 0, { XK_grave, XK_asciitilde, XK_minus, XK_percent }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar, XK_sterling, XK_yen }}, { 52, 0, { XK_z, XK_Z, XK_onequarter, XK_parenleft }}, { 53, 0, { XK_x, XK_X, XK_guillemotright, XK_parenright }}, { 54, 0, { XK_c, XK_C, XK_aacute, XK_copyright }}, { 55, 0, { XK_v, XK_V, XK_Iacute, XK_Icircumflex }}, { 56, 0, { XK_b, XK_B, XK_Ocircumflex, XK_Uacute }}, { 57, 0, { XK_n, XK_N, XK_multiply, XK_igrave }}, { 58, 0, { XK_m, XK_M, XK_periodcentered, XK_question }}, { 59, 0, { XK_comma, XK_less, XK_Aacute, XK_twosuperior }}, { 60, 0, { XK_period, XK_greater, XK_atilde, XK_Igrave }}, { 61, 0, { XK_slash, XK_question, XK_onehalf, XK_AE }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, 0, { XK_Num_Lock }}, { 78, Mod2Mask, { XK_Mode_switch, XK_XF86ModeLock }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 101, 0, { XK_Begin }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { XK_Print }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 114, 0, { XK_Break }} }; xkeycaps-2.47/kbds/xfree86no-map.h0000644000175000017500000001225410206731451014525 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 * Jamie Zawinski * * This describes the default keymap for XFree86 3.3.3.1 with Norwegian layout * Generated by Håvard Kvålen 16. August 1999 */ static const struct default_keycode_map xfree86no_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_onesuperior, XK_exclamdown }}, { 11, 0, { XK_2, XK_quotedbl, XK_at, XK_oneeighth }}, { 12, 0, { XK_3, XK_numbersign, XK_sterling, XK_sterling }}, { 13, 0, { XK_4, XK_currency, XK_dollar, XK_dollar }}, { 14, 0, { XK_5, XK_percent, XK_onehalf, XK_threeeighths }}, { 15, 0, { XK_6, XK_ampersand, XK_threequarters, XK_fiveeighths }}, { 16, 0, { XK_7, XK_slash, XK_braceleft, XK_seveneighths }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft, XK_trademark }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright, XK_plusminus }}, { 19, 0, { XK_0, XK_equal, XK_braceright, XK_degree }}, { 20, 0, { XK_plus, XK_question, XK_backslash, XK_questiondown }}, { 21, 0, { XK_backslash, XK_grave, XK_acute, XK_dead_ogonek }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 25, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 28, 0, { XK_t, XK_T, XK_tslash, XK_Tslash }}, { 29, 0, { XK_y, XK_Y, XK_leftarrow, XK_yen }}, { 30, 0, { XK_u, XK_U, XK_downarrow, XK_uparrow }}, { 31, 0, { XK_i, XK_I, XK_rightarrow, XK_idotless }}, { 32, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 33, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 34, 0, { XK_aring, XK_Aring, XK_dead_diaeresis, XK_dead_abovering }}, { 35, 0, { XK_diaeresis, XK_asciicircum, XK_asciitilde, XK_dead_macron }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 39, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 40, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 41, 0, { XK_f, XK_F, XK_dstroke, XK_ordfeminine }}, { 42, 0, { XK_g, XK_G, XK_eng, XK_ENG }}, { 43, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K, XK_kra, XK_ampersand }}, { 46, 0, { XK_l, XK_L, XK_lstroke, XK_Lstroke }}, { 47, 0, { XK_oslash, XK_Ooblique, XK_dead_acute, XK_dead_doubleacute }}, { 48, 0, { XK_ae, XK_AE, XK_dead_circumflex, XK_dead_caron }}, { 49, 0, { XK_bar, XK_section, XK_notsign }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_apostrophe, XK_asterisk, XK_dead_grave, XK_dead_breve }}, { 52, 0, { XK_z, XK_Z, XK_guillemotleft, XK_less }}, { 53, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 54, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 55, 0, { XK_v, XK_V, XK_leftdoublequotemark, XK_grave }}, { 56, 0, { XK_b, XK_B, XK_rightdoublequotemark, XK_apostrophe }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 59, 0, { XK_comma, XK_semicolon, XK_horizconnector, XK_multiply }}, { 60, 0, { XK_period, XK_colon, XK_periodcentered, XK_division }}, { 61, 0, { XK_minus, XK_underscore, XK_dead_belowdot, XK_dead_abovedot }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_bar, XK_brokenbar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch, XK_Multi_key }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, 0, { XK_Multi_key }}, { 117, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/ms104-codes.h0000644000175000017500000000205010206731451014056 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Microsoft "Natural" keyboard * (part 58221) with XFree86 3.1. It is basically the same as * linux101-2-codes.h, except for the differences in geometry. * * Unfortunately, the new modifier keys in the bottom row (the "Microsoft" * and "Menu" keys) do not generate keycodes, and thus cannot be bound. */ static const KeyCode ms104_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 113, 116, 117, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/trek-codes.h0000644000175000017500000000127610206731451014170 0ustar cbcb/* xkeycaps, Copyright (c) 1997, 1999 Jamie Zawinski * * This file describes keycodes generated by the Micron * Transport Trek2 notebook keyboard interface. * By Alan Ho */ static const KeyCode trek_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 127, 92, 131, 129, /* Row 2 */ 49,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 135, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 119, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 134, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 128, 130, /* Row 6 */ 0, 37, 120, 64, 65, 122, 121, 126, 118, 93, 133 }; xkeycaps-2.47/kbds/tek401sfdp-map.h0000644000175000017500000000670610206731451014573 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the swedish/finnish keymap of the Tektronix * LK401 data-processing keyboard. * By Torbj|rn Lindgren */ static const struct default_keycode_map tek401sfdp_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_asciitilde, XK_degree }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, Mod2Mask, { XK_Multi_key }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 40, Mod1Mask, { XK_Alt_L }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_at }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 56, Mod1Mask, { XK_Alt_R }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 65, Mod2Mask, { XK_Multi_key }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_braceright, XK_braceleft }}, { 85, 0, { XK_P }}, { 86, 0, { XK_plus, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, 0, { XK_Help }}, { 90, 0, { XK_bar }}, { 91, 0, { XK_apostrophe, XK_asterisk }}, { 92, 0, { XK_bracketright, XK_bracketleft }}, { 93, 0, { XK_asciicircum, XK_grave }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_numbersign, XK_backslash }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { 0x1000ff17, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/sun5pc-caps.h0000644000175000017500000000435510206731451014272 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of the Sun type 5 PC-style keyboard. * By Carl Witty and Sylvain Meunier . */ static const struct key_strings sun5pc_caps [] = { /* Row 0 */ {"Help", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Degauss", "Mute", 0}, {"Dim", "Quiet", 0}, {"Bright", "Loud", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Back ", "Space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"upArrow", 0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/sun5sw-ow-map.h0000644000175000017500000001111210206731451014560 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Sun type 5 Swedish keyboard * as interpreted by OpenWindows 3.0. By Magnus Hammerin */ static const struct default_keycode_map sun5sw_ow_map [] = { /* these have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 52, 0, { 0 }}, /* DeGauss, SoundOff */ { 55, 0, { 0 }}, /* Power */ { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_quotedbl, XK_at }}, { 39, 0, { XK_3, XK_numbersign, XK_sterling }}, { 40, 0, { XK_4, XK_currency, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_ampersand }}, { 43, 0, { XK_7, XK_slash, XK_braceleft }}, { 44, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 45, 0, { XK_9, XK_parenright, XK_bracketright }}, { 46, 0, { XK_0, XK_equal, XK_braceright }}, { 47, 0, { XK_plus, XK_question, XK_backslash}}, { 48, 0, { SunXK_FA_Acute, SunXK_Dead_Grave }}, { 49, 0, { XK_section, XK_onehalf }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Separator }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy}}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_Aring }}, { 72, 0, { SunXK_FA_Diaeresis, XK_asciicircum, XK_asciitilde }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_Odiaeresis }}, { 94, 0, { XK_Adiaeresis }}, { 95, 0, { XK_apostrophe, XK_asterisk, XK_grave }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter, XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock, XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help, XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 131, 0, { XK_less, XK_greater, XK_bar }}, { 132, 0, { XK_KP_Add, XK_KP_Add }} }; xkeycaps-2.47/kbds/ncd102-map.h0000644000175000017500000000644610206731451013676 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD X terminal N102 keyboard. */ static const struct default_keycode_map ncd102_map [] = { /* this key has a keycode but no keysym in the default map */ { 98, 0, { 0 }}, /* Setup */ { 8, 0, { XK_Escape }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_grave, XK_asciitilde }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F1 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_backslash, XK_bar }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 57, Mod1Mask, { XK_Alt_R }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 83, 0, { XK_backslash, XK_bar }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Print }}, { 88, ControlMask, { XK_Control_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 94, 0, { XK_F12 }}, { 95, 0, { XK_Scroll_Lock }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Decimal }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, Mod5Mask, { XK_Num_Lock }}, { 119, 0, { XK_KP_Divide }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 123, 0, { XK_KP_Subtract }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_KP_9 }}, { 126, 0, { XK_KP_Multiply }} }; xkeycaps-2.47/kbds/pc105fr-caps.h0000644000175000017500000000412110206731451014224 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the key surfaces of the PC 105 key keyboard * with FR layout. Created from ms105-caps.h and pc102fr-caps.h * * Generated by Gaël Roualland */ static const struct key_strings pc105fr_caps [] = { /* Row 0 */ {"Echap", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Impr", "\351cran", 0}, {"Arr\352t", "d\351fil", 0}, {"Pause", 0}, /* Row 2 */ {"\262", 0}, {"1", "&", 0}, {"2", "\351 ~", 0}, {"3", "\" #", 0}, {"4", "' {", 0}, {"5", "( [", 0}, {"6", "- |",0}, {"7", "\350 `", 0}, {"8", "_ \\", 0}, {"9", "\347 ^", 0}, {"0", "\340 @", 0}, {"\260", ") ]", 0}, {"+", "= }", 0}, {"Retour", 0}, {"Inser", 0}, {"D\351but", 0}, {"Pr\351c", 0}, {"Verr", "num", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"A", 0}, {"Z", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\250", "^", 0 }, {"\243", "$ \244", 0 }, {"Entr\351e", 0}, {"Suppr", 0}, {"Fin", 0}, {"Suiv", 0}, {"7", "D\351but", 0}, {"8", "UpArrow", 0}, {"9", "Pr\351c", 0}, {"+", 0}, /* Row 4 */ {"Verr Maj", 0}, {"Q", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"M", 0}, {"%", "\371", 0}, {"\265", "*", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Maj", 0}, {">", "<", 0}, {"W", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"?", ",", 0}, {".", ";", 0}, {"/", ":", 0}, {"\247", "!", 0}, {"Maj", 0}, {"UpArrow", 0}, {"1", "Fin", 0}, {"2", "DownArrow", 0}, {"3", "Suiv", 0}, {"Entr\351e", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Inser", 0}, {".", "Suppr", 0} }; xkeycaps-2.47/kbds/tek200xf11-us-map.h0000644000175000017500000000706110206731451015033 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "x_f11" * _TEK_KEYBOARD_NATIONALITY(STRING) = "usascii" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200xf11_us_map [] = { { 15, 0, { XK_F1, XK_Pause }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_F11, XK_Escape }}, { 19, 0, { XK_F12, XK_BackSpace }}, { 20, 0, { XK_F13, XK_Linefeed }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2, XK_Print }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, Mod1Mask, { XK_Alt_L, XK_Multi_key }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5, XK_Break }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Execute }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/butterfly-geom.h0000644000175000017500000000475210206731451015077 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the physical layout of the Soft Key "Butterfly" * keyboard. * The actual shape of the keyboard resembles the MS "natural keyboard". */ static const struct key_geometry butterfly_geom_row0 [] = { {32, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {30, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry butterfly_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry butterfly_geom_row3 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry butterfly_geom_row4 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry butterfly_geom_row5 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 14}, {4, 0}, {15, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry butterfly_geom_row6 [] = { {7, 7}, {7, 7}, {7, 7}, {11, 0}, {10, 7}, {10, 7}, {10, 7}, {7, 7}, {35, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {10, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct key_geometry butterfly_geom_row8 [] = { {78, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry butterfly_geom_row9 [] = { {78, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry butterfly_geom_row10 [] = { {78, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct keyboard_row_geometry butterfly_geom_rows [] = { ROW (butterfly_geom_row0, 7), EMPTYROW (5), ROW (butterfly_geom_row2, 7), ROW (butterfly_geom_row3, 7), ROW (butterfly_geom_row4, 7), ROW (butterfly_geom_row5, 7), ROW (butterfly_geom_row6, 7), EMPTYROW (5), ROW (butterfly_geom_row8, 7), ROW (butterfly_geom_row9, 7), ROW (butterfly_geom_row10, 7), }; static const struct keyboard_geometry butterfly_geom = { sizeof (butterfly_geom_rows) / sizeof (struct keyboard_row_geometry), butterfly_geom_rows, 6, 2, 2 }; xkeycaps-2.47/kbds/sgi-caps.h0000644000175000017500000000355510206731452013641 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the SGI Iris keyboard. * By Simon Leinen */ static const struct key_strings sgi_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Sys_req", 0}, {"Scroll", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"PgUp", 0}, {"Num", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"PgDn", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/sgi5-r5-map.h0000644000175000017500000000731010206731452014072 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the SGI Iris keyboard. * Generated by jwz on Irix 5.2, 5.3, and 6.2 (x11r5 and x11r6) */ static const struct default_keycode_map sgi5_r5_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_q, XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 34, 0, { XK_z, XK_Z }}, { 35, 0, { XK_s, XK_S }}, { 36, 0, { XK_a, XK_A }}, { 37, 0, { XK_w, XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_c, XK_C }}, { 42, 0, { XK_x, XK_X }}, { 43, 0, { XK_d, XK_D }}, { 44, 0, { XK_e, XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_v, XK_V }}, { 51, 0, { XK_f, XK_F }}, { 52, 0, { XK_t, XK_T }}, { 53, 0, { XK_r, XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_b, XK_B }}, { 59, 0, { XK_h, XK_H }}, { 60, 0, { XK_g, XK_G }}, { 61, 0, { XK_y, XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 65, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 66, 0, { XK_m, XK_M }}, { 67, 0, { XK_j, XK_J }}, { 68, 0, { XK_u, XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_less }}, { 74, 0, { XK_k, XK_K }}, { 75, 0, { XK_i, XK_I }}, { 76, 0, { XK_o, XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_greater }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_l, XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_p, XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Print, XK_Execute }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 100, 0, { XK_backslash, XK_bar }}, { 102, 0, { XK_F12 }}, { 103, Mod3Mask, { XK_Scroll_Lock, XK_SGI_Long_Compose }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { XK_Pause, XK_Break }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_End, XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_Left, XK_KP_4 }}, { 116, 0, { XK_KP_Home, XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_Insert, XK_KP_0 }}, { 121, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 122, 0, { XK_KP_Down, XK_KP_2 }}, { 123, 0, { XK_KP_Begin, XK_KP_5 }}, { 124, 0, { XK_KP_Right, XK_KP_6 }}, { 125, 0, { XK_KP_Up, XK_KP_8 }}, { 126, Mod2Mask, { XK_Num_Lock }}, { 127, 0, { XK_KP_Divide }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_Next, XK_KP_3 }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_Prior, XK_KP_9 }}, { 134, 0, { XK_KP_Multiply }}, { 140, 0, { XK_KP_Subtract }}, { 147, 0, { 0 }}, { 148, 0, { 0 }}, { 149, 0, { 0 }} }; xkeycaps-2.47/kbds/pc102no-caps.h0000644000175000017500000000414710206731452014237 0ustar cbcb /* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of a "Keytronic" 102 key PC-style * keyboard, norwegian layout. By Endre Witzo */ static const struct key_strings pc102no_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtScr", "SysRq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\247", "| \246", 0}, {"!", "1", 0}, {"\"", "2 @", 0}, {"#", "3 \243", 0}, {"\244","4 $", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"\075", "0 }", 0}, {"?", "+", 0}, {"`", "\\ '", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0, 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"^", "\250 ~", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\330", 0}, {"\306", 0}, {"*", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/pc101-2-caps.h0000644000175000017500000000404510206731452014035 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces layout of a "MITSUMI KPQ-E99YC" * 101 key AT/XT switchable PC-style keyboard. * This differs from the keyboard we know as `pc101' in the placement * of the "\ and |" key. * By Gord Vreugdenhil */ static const struct key_strings pc101_2_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"Back", "space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/rs6k-xc-map.h0000644000175000017500000000755110206731452014203 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the IBM RS/6000 keyboard. * Generated by Tom McConnell on an * IBM RS/6000 55S (550), AIX-3.2.4, with X Consortium X11R5 patch level 25. * * On the IBM Xstation 130, keycode 72 (the right Ctrl/Act key) generates * ModControl, but on the IBM RS/6000 it is used for window manager stuff. */ static const struct default_keycode_map rs6k_xc_map [] = { { 9, 0, { XK_grave, XK_asciitilde }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_yen }}, { 23, 0, { XK_BackSpace }}, { 24, 0, { XK_Tab }}, { 25, 0, { XK_q, XK_Q }}, { 26, 0, { XK_w, XK_W }}, { 27, 0, { XK_e, XK_E }}, { 28, 0, { XK_r, XK_R }}, { 29, 0, { XK_t, XK_T }}, { 30, 0, { XK_y, XK_Y }}, { 31, 0, { XK_u, XK_U }}, { 32, 0, { XK_i, XK_I }}, { 33, 0, { XK_o, XK_O }}, { 34, 0, { XK_p, XK_P }}, { 35, 0, { XK_bracketleft, XK_braceleft }}, { 36, 0, { XK_bracketright, XK_braceright }}, { 37, 0, { XK_backslash, XK_bar }}, { 38, LockMask, { XK_Caps_Lock }}, { 39, 0, { XK_a, XK_A }}, { 40, 0, { XK_s, XK_S }}, { 41, 0, { XK_d, XK_D }}, { 42, 0, { XK_f, XK_F }}, { 43, 0, { XK_g, XK_G }}, { 44, 0, { XK_h, XK_H }}, { 45, 0, { XK_j, XK_J }}, { 46, 0, { XK_k, XK_K }}, { 47, 0, { XK_l, XK_L }}, { 48, 0, { XK_semicolon, XK_colon }}, { 49, 0, { XK_apostrophe, XK_quotedbl }}, { 50, 0, { XK_asterisk, XK_mu }}, { 51, 0, { XK_Return, XK_Return }}, { 52, ShiftMask, { XK_Shift_L }}, { 53, 0, { XK_less, XK_greater }}, { 54, 0, { XK_z, XK_Z }}, { 55, 0, { XK_x, XK_X }}, { 56, 0, { XK_c, XK_C }}, { 57, 0, { XK_v, XK_V }}, { 58, 0, { XK_b, XK_B }}, { 59, 0, { XK_n, XK_N }}, { 60, 0, { XK_m, XK_M }}, { 61, 0, { XK_comma, XK_less }}, { 62, 0, { XK_period, XK_greater }}, { 63, 0, { XK_slash, XK_question }}, { 64, 0, { XK_underscore, XK_underscore }}, { 65, ShiftMask, { XK_Shift_R }}, { 66, ControlMask, { XK_Control_L }}, { 68, Mod1Mask, { XK_Alt_L }}, { 69, 0, { XK_space }}, { 70, Mod1Mask, { XK_Alt_R }}, { 72, 0, { XK_Execute }}, { 83, 0, { XK_Insert }}, { 84, 0, { XK_Delete }}, { 87, 0, { XK_Left }}, { 88, 0, { XK_Home }}, { 89, 0, { XK_End }}, { 91, 0, { XK_Up }}, { 92, 0, { XK_Down }}, { 93, 0, { XK_Prior }}, { 94, 0, { XK_Next }}, { 97, 0, { XK_Right }}, { 98, Mod5Mask, { XK_Num_Lock }}, { 99, 0, { XK_KP_7 }}, { 100, 0, { XK_KP_4 }}, { 101, 0, { XK_KP_1 }}, { 103, 0, { XK_KP_Divide }}, { 104, 0, { XK_KP_8 }}, { 105, 0, { XK_KP_5 }}, { 106, 0, { XK_KP_2 }}, { 107, 0, { XK_KP_0 }}, { 108, 0, { XK_KP_Multiply }}, { 109, 0, { XK_KP_9 }}, { 110, 0, { XK_KP_6 }}, { 111, 0, { XK_KP_3 }}, { 112, 0, { XK_KP_Decimal }}, { 113, 0, { XK_KP_Subtract }}, { 114, 0, { XK_KP_Add }}, { 116, 0, { XK_KP_Enter }}, { 118, 0, { XK_Escape }}, { 120, 0, { XK_F1 }}, { 121, 0, { XK_F2 }}, { 122, 0, { XK_F3 }}, { 123, 0, { XK_F4 }}, { 124, 0, { XK_F5 }}, { 125, 0, { XK_F6 }}, { 126, 0, { XK_F7 }}, { 127, 0, { XK_F8 }}, { 128, 0, { XK_F9 }}, { 129, 0, { XK_F10 }}, { 130, 0, { XK_F11 }}, { 131, 0, { XK_F12 }}, { 132, 0, { XK_Print }}, { 133, 0, { XK_Cancel }}, { 134, 0, { XK_Pause }}, { 139, 0, { XK_Multi_key }}, { 140, 0, { XK_Kanji }}, { 141, 0, { XK_Mode_switch }} }; xkeycaps-2.47/kbds/chergo-de-map.h0000644000175000017500000001237310206731452014541 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the key surfaces of the Cherry ErgoPlus keyboards. * By Berthold Gunreben */ static const struct default_keycode_map chergo_de_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_onesuperior, XK_exclamdown }}, { 11, 0, { XK_2, XK_quotedbl, XK_twosuperior, XK_oneeighth }}, { 12, 0, { XK_3, XK_section, XK_threesuperior, XK_sterling }}, { 13, 0, { XK_4, XK_dollar, XK_onequarter, XK_currency }}, { 14, 0, { XK_5, XK_percent, XK_onehalf, XK_threeeighths }}, { 15, 0, { XK_6, XK_ampersand, XK_threequarters, XK_fiveeighths }}, { 16, 0, { XK_7, XK_slash, XK_braceleft, XK_seveneighths }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft, XK_trademark }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright, XK_plusminus }}, { 19, 0, { XK_0, XK_equal, XK_braceright, XK_degree }}, { 20, 0, { XK_ssharp, XK_question, XK_backslash, XK_questiondown }}, { 21, 0, { XK_dead_acute, XK_dead_grave, XK_dead_cedilla, XK_dead_ogonek }}, { 22, 0, { XK_BackSpace, XK_BackSpace, XK_3270_DeleteWord }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 25, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 28, 0, { XK_t, XK_T, XK_tslash, XK_Tslash }}, { 29, 0, { XK_z, XK_Z, XK_leftarrow, XK_yen }}, { 30, 0, { XK_u, XK_U, XK_downarrow, XK_uparrow }}, { 31, 0, { XK_i, XK_I, XK_rightarrow, XK_idotless }}, { 32, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 33, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 34, 0, { XK_udiaeresis, XK_Udiaeresis, XK_dead_diaeresis, XK_dead_abovering }}, { 35, 0, { XK_plus, XK_asterisk, XK_dead_tilde, XK_dead_macron }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 39, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 40, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 41, 0, { XK_f, XK_F, XK_dstroke, XK_ordfeminine }}, { 42, 0, { XK_g, XK_G, XK_eng, XK_ENG }}, { 43, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K, XK_kra, XK_ampersand }}, { 46, 0, { XK_l, XK_L, XK_lstroke, XK_Lstroke }}, { 47, 0, { XK_odiaeresis, XK_Odiaeresis, XK_dead_acute, XK_dead_doubleacute }}, { 48, 0, { XK_adiaeresis, XK_Adiaeresis, XK_dead_circumflex, XK_dead_caron }}, { 49, 0, { XK_dead_circumflex, XK_degree, XK_notsign }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_numbersign, XK_apostrophe, XK_dead_grave, XK_dead_breve }}, { 52, 0, { XK_y, XK_Y, XK_guillemotleft, XK_less }}, { 53, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 54, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 55, 0, { XK_v, XK_V, XK_leftdoublequotemark, XK_grave }}, { 56, 0, { XK_b, XK_B, XK_rightdoublequotemark, XK_apostrophe }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 59, 0, { XK_comma, XK_semicolon, XK_horizconnector, XK_multiply }}, { 60, 0, { XK_period, XK_colon, XK_periodcentered, XK_division }}, { 61, 0, { XK_minus, XK_underscore, XK_dead_belowdot, XK_dead_abovedot }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_bar, XK_brokenbar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Multi_key }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch, XK_Multi_key }}, { 115, Mod4Mask, { XK_Super_L }}, { 116, Mod4Mask, { XK_Super_R }}, { 117, Mod5Mask, { XK_Hyper_R }} }; xkeycaps-2.47/kbds/sun5jp-geom.h0000644000175000017500000000423510206731452014300 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Sun type 5 Japanese * keyboards. * By Kazutaka Yokota (yokota@zodiac.mech.utsunomiya-u.ac.jp). */ static const struct key_geometry sun5jp_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5jp_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5jp_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {8, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5jp_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {8, 0}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5jp_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5jp_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {10, 7}, {36, 7}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun5jp_geom_rows [] = { ROW (sun5jp_geom_row0, 7), EMPTYROW (7), ROW (sun5jp_geom_row1, 7), ROW (sun5jp_geom_row2, 7), ROW (sun5jp_geom_row3, 7), ROW (sun5jp_geom_row4, 7), ROW (sun5jp_geom_row5, 7), }; static const struct keyboard_geometry sun5jp_geom = { sizeof (sun5jp_geom_rows) / sizeof (struct keyboard_row_geometry), sun5jp_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tek119-codes.h0000644000175000017500000000163710206731452014243 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Tektronix XP119 with * Sun type 5 PC-style keyboard, * By Michael Lemke . */ static const KeyCode tek119_codes [] = { /* Row 0 */ 17, 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, 95, 103, 106, 88, 89, 91, 101, /* Row 1 */ 18, 19, 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 111, 118, 119, 126, 127, 134, 140, /* Row 2 */ 20, 24, 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 100, 108, 109, 117, 116, 125, 133, 132, /* Row 3 */ 27, 32, 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 98, 115, 123, 124, /* Row 4 */ 40, 48, 26, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 107, 113, 122, 130, 129, /* Row 5 */ 56, 64, 25, 33, 72, 49, 80, 65, 96, 105, 104, 114, 120, 121 }; xkeycaps-2.47/kbds/omni102-caps.h0000644000175000017500000000416410206731452014241 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * This file describes the key surfaces of the Northgate OmniKey 102P * keyboard model (part number: KYBD102P; vendor code: 20017; rev 1.0.) * By Jeffrey Templon . */ static const struct key_strings omni102_caps [] = { /* Row 0 */ {"F11", 0}, {"F12", 0}, {"Esc", 0}, {"Print", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"F1", 0}, {"F2", 0}, {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"F3", 0}, {"F4", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0 }, {"}", "]", 0 }, {"Enter", 0}, {"Del", 0}, /* "Home" -> "Del" says leguern@inf.enst.fr */ {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"F5", 0}, {"F6", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, {"=", 0}, /* Row 5 */ /* stopped here */ {"F7", 0}, {"F8", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"|", "\\", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"F9", 0}, {"F10",0}, {"Ctrl", 0}, {"Win", "Sym",0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Win", "Sym",0}, {"Menu", "Sym", 0}, {"Ctrl",0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/tek200u-fr-map.h0000644000175000017500000000675610206731452014513 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "french" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_fr_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_A }}, { 30, 0, { XK_ampersand, XK_1 }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_W }}, { 35, 0, { XK_S }}, { 36, 0, { XK_Q }}, { 37, 0, { XK_Z }}, { 38, 0, { XK_eacute, XK_2 }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_apostrophe, XK_4 }}, { 46, 0, { XK_quotedbl, XK_3 }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_parenleft, XK_5 }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_section, XK_6 }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_comma, XK_question }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_egrave, XK_7 }}, { 70, 0, { XK_exclam, XK_8 }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_semicolon, XK_period }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_agrave, XK_0 }}, { 78, 0, { XK_ccedilla, XK_9 }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_colon, XK_slash }}, { 82, 0, { XK_equal, XK_plus }}, { 83, 0, { XK_L }}, { 84, 0, { XK_M }}, { 85, 0, { XK_P }}, { 86, 0, { XK_parenright, XK_degree }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_ugrave, XK_percent }}, { 91, 0, { XK_numbersign, XK_at }}, { 92, 0, { XK_asciicircum, XK_diaeresis }}, { 93, 0, { XK_minus, XK_underscore }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_dollar, XK_asterisk }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/sun3-caps.h0000644000175000017500000000325210206731452013741 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Sun type 3 keyboard. */ static const struct key_strings sun3_caps [] = { /* Row 0 */ {"L1", 0}, {"L2", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"Back ", "Space", 0}, {"R1", 0}, {"R2", 0}, {"R3", 0}, /* Row 1 */ {"L3", 0}, {"L4", 0}, {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"~", "`", 0}, {"R4", 0}, {"R5", 0}, {"R6", 0}, /* Row 2 */ {"L5", 0}, {"L6", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Delete", 0}, {"R7", 0}, {"R8", "UpArrow", 0}, {"R9", 0}, /* Row 3 */ {"L7", 0}, {"L8", 0}, {"Control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"R10", "LeftArrow", 0}, {"R11", 0}, {"R12", "RightArrow", 0}, /* Row 4 */ {"L9", 0}, {"L10", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"Line ", "Feed", 0}, {"R13", 0}, {"R14", "DownArrow", 0}, {"R15", 0}, /* Row 5 */ {"Caps", 0}, {"Left", 0}, {" ", 0}, {"Right", 0}, {"Alternate", 0} }; xkeycaps-2.47/kbds/xoft2-map.h0000644000175000017500000001153610206731452013746 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * AGE and IBM have conspired to confuse us all. * * AGE XoftWare 2.0 is a PC software product, and therefore works with a * variety of PC keyboards. It comes with the vendor id "AGE Logic, Inc." * * The IBM Xstation 130 X terminal is an IBM hardware product, which comes * with "X Station Manager Software 1.4" which is in fact made by AGE. It * has the vendor id "AGE Logic, Inc. Release 090493". It has a different * default keymap than the PC software, though it comes with a PC101 keyboard. * This is apparently so that the IBM product ends up with the same default * keymap (and keycaps) as the IBM RS6K keyboards. * * This file describes the default R5 keymap of the AGE PC software product. * Generated by Dan R. Greening . */ static const struct default_keycode_map xoft2_map [] = { { 13, ShiftMask, { XK_Shift_R, XK_Shift_R }}, { 14, ControlMask, { XK_Control_R, XK_Control_R }}, { 15, Mod1Mask, { XK_Alt_R, XK_Alt_R }}, { 16, 0, { XK_BackSpace, XK_BackSpace }}, { 17, 0, { XK_Tab, XK_Tab }}, { 18, Mod1Mask, { XK_Alt_L, XK_Alt_L }}, { 20, 0, { XK_Clear, XK_Clear }}, { 21, 0, { XK_Return, XK_Return }}, { 24, ShiftMask, { XK_Shift_L, XK_Shift_L }}, { 25, ControlMask, { XK_Control_L, XK_Control_L }}, { 26, 0, { XK_Menu, XK_Menu }}, { 27, 0, { XK_Pause, XK_Pause }}, { 28, LockMask, { XK_Caps_Lock, XK_Caps_Lock }}, { 35, 0, { XK_Escape, XK_Escape }}, { 40, 0, { XK_space, XK_space }}, { 41, 0, { XK_Prior, XK_Prior }}, { 42, 0, { XK_Next, XK_Next }}, { 43, 0, { XK_End, XK_End }}, { 44, 0, { XK_Home, XK_Home }}, { 45, 0, { XK_Left, XK_Left }}, { 46, 0, { XK_Up, XK_Up }}, { 47, 0, { XK_Right, XK_Right }}, { 48, 0, { XK_Down, XK_Down }}, { 49, 0, { XK_Select, XK_Select }}, { 50, 0, { XK_Print, XK_Print }}, { 51, 0, { XK_Execute, XK_Execute }}, { 53, 0, { XK_Insert, XK_Insert }}, { 54, 0, { XK_Delete, XK_Delete }}, { 55, 0, { XK_Help, XK_Help }}, { 56, 0, { XK_0, XK_parenright }}, { 57, 0, { XK_1, XK_exclam }}, { 58, 0, { XK_2, XK_at }}, { 59, 0, { XK_3, XK_numbersign }}, { 60, 0, { XK_4, XK_dollar }}, { 61, 0, { XK_5, XK_percent }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_7, XK_ampersand }}, { 64, 0, { XK_8, XK_asterisk }}, { 65, 0, { XK_9, XK_parenleft }}, { 73, 0, { XK_a, XK_A }}, { 74, 0, { XK_b, XK_B }}, { 75, 0, { XK_c, XK_C }}, { 76, 0, { XK_d, XK_D }}, { 77, 0, { XK_e, XK_E }}, { 78, 0, { XK_f, XK_F }}, { 79, 0, { XK_g, XK_G }}, { 80, 0, { XK_h, XK_H }}, { 81, 0, { XK_i, XK_I }}, { 82, 0, { XK_j, XK_J }}, { 83, 0, { XK_k, XK_K }}, { 84, 0, { XK_l, XK_L }}, { 85, 0, { XK_m, XK_M }}, { 86, 0, { XK_n, XK_N }}, { 87, 0, { XK_o, XK_O }}, { 88, 0, { XK_p, XK_P }}, { 89, 0, { XK_q, XK_Q }}, { 90, 0, { XK_r, XK_R }}, { 91, 0, { XK_s, XK_S }}, { 92, 0, { XK_t, XK_T }}, { 93, 0, { XK_u, XK_U }}, { 94, 0, { XK_v, XK_V }}, { 95, 0, { XK_w, XK_W }}, { 96, 0, { XK_x, XK_X }}, { 97, 0, { XK_y, XK_Y }}, { 98, 0, { XK_z, XK_Z }}, { 104, 0, { XK_KP_0, XK_KP_0 }}, { 105, 0, { XK_KP_1, XK_KP_1 }}, { 106, 0, { XK_KP_2, XK_KP_2 }}, { 107, 0, { XK_KP_3, XK_KP_3 }}, { 108, 0, { XK_KP_4, XK_KP_4 }}, { 109, 0, { XK_KP_5, XK_KP_5 }}, { 110, 0, { XK_KP_6, XK_KP_6 }}, { 111, 0, { XK_KP_7, XK_KP_7 }}, { 112, 0, { XK_KP_8, XK_KP_8 }}, { 113, 0, { XK_KP_9, XK_KP_9 }}, { 114, 0, { XK_KP_Multiply, XK_KP_Multiply }}, { 115, 0, { XK_KP_Add, XK_KP_Add }}, { 116, 0, { XK_KP_Separator, XK_KP_Separator }}, { 117, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 118, 0, { XK_KP_Decimal, XK_KP_Decimal }}, { 119, 0, { XK_KP_Divide, XK_KP_Divide }}, { 120, 0, { XK_F1, XK_F1 }}, { 121, 0, { XK_F2, XK_F2 }}, { 122, 0, { XK_F3, XK_F3 }}, { 123, 0, { XK_F4, XK_F4 }}, { 124, 0, { XK_F5, XK_F5 }}, { 125, 0, { XK_F6, XK_F6 }}, { 126, 0, { XK_F7, XK_F7 }}, { 127, 0, { XK_F8, XK_F8 }}, { 128, 0, { XK_F9, XK_F9 }}, { 129, 0, { XK_F10, XK_F10 }}, { 130, 0, { XK_F11, XK_F11 }}, { 131, 0, { XK_F12, XK_F12 }}, { 132, 0, { XK_F13, XK_F13 }}, { 133, 0, { XK_F14, XK_F14 }}, { 134, 0, { XK_F15, XK_F15 }}, { 135, 0, { XK_F16, XK_F16 }}, { 152, 0, { XK_Num_Lock, XK_Num_Lock }}, { 153, 0, { XK_Scroll_Lock, XK_Scroll_Lock }}, { 194, 0, { XK_semicolon, XK_colon }}, { 195, 0, { XK_equal, XK_plus }}, { 196, 0, { XK_comma, XK_less }}, { 197, 0, { XK_minus, XK_underscore }}, { 198, 0, { XK_period, XK_greater }}, { 199, 0, { XK_slash, XK_question }}, { 200, 0, { XK_grave, XK_asciitilde }}, { 227, 0, { XK_bracketleft, XK_braceleft }}, { 228, 0, { XK_backslash, XK_bar }}, { 229, 0, { XK_bracketright, XK_braceright }}, { 230, 0, { XK_apostrophe, XK_quotedbl }} }; xkeycaps-2.47/kbds/magat-caps.h0000644000175000017500000000361110206731452014141 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the MIPS Magnum AT/US keyboard. * By Michael Elbel */ static const struct key_strings magat_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print ", "Scrn", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num ", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Control", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Control", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/tecra500-codes.h0000644000175000017500000000126610206731452014546 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keycodes of a Toshiba Tecra 500CDT laptop. * By Cesar Augusto Rorato Crusius */ static const KeyCode tecra500_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 110, /* Row 2 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 97, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 99, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 105, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 103, /* Row 6 */ 37, 0, 64, 65, 49, 106, 107, 100, 104, 102 }; xkeycaps-2.47/kbds/hclpc-geom.h0000644000175000017500000000461110206731452014143 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the HCL eXceed PC X-server * keyboard. */ static const struct key_geometry hclpc_geom_row0 [] = { {7, 7}, {6, 0}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {3, 0}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {3, 0}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {3, 0}, {6, 7}, {6, 7}, {6, 7} }; static const struct key_geometry hclpc_geom_row2 [] = { {8, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {11, 7}, {3, 0}, {6, 7}, {6, 7}, {6, 7}, {3, 0}, {6, 7}, {6, 7}, {6, 7}, {6, 7} }; static const struct key_geometry hclpc_geom_row3 [] = { {11, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {8, 7}, {3, 0}, {6, 7}, {6, 7}, {6, 7}, {3, 0}, {6, 7}, {6, 7}, {6, 7}, {6, 14} }; static const struct key_geometry hclpc_geom_row4 [] = { {13, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {12, 7}, {3, 0}, {6, 0}, {6, 0}, {6, 0}, {3, 0}, {6, 7}, {6, 7}, {6, 7} }; static const struct key_geometry hclpc_geom_row5 [] = { {16, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {6, 7}, {15, 7}, {9, 0}, {6, 7}, {9, 0}, {6, 7}, {6, 7}, {6, 7}, {6, 14} }; static const struct key_geometry hclpc_geom_row6 [] = { {9, 7}, {6, 0}, {8, 7}, {45, 7}, {8, 7}, {6, 0}, {9, 7}, {3, 0}, {6, 7}, {6, 7}, {6, 7}, {3, 0}, {12, 7}, {6, 7} }; static const struct key_geometry hclpc_geom_row8 [] = { {115, 0}, {6, 7}, {6, 7}, {6, 7}, {6, 14} }; static const struct key_geometry hclpc_geom_row9 [] = { {115, 0}, {6, 7}, {6, 7}, {6, 7} }; static const struct key_geometry hclpc_geom_row10 [] = { {115, 0}, {6, 7}, {6, 7}, {6, 7}, {6, 14} }; static const struct key_geometry hclpc_geom_row11 [] = { {115, 0}, {12, 7}, {6, 7} }; static const struct keyboard_row_geometry hclpc_geom_rows [] = { ROW (hclpc_geom_row0, 7), EMPTYROW (3), ROW (hclpc_geom_row2, 7), ROW (hclpc_geom_row3, 7), ROW (hclpc_geom_row4, 7), ROW (hclpc_geom_row5, 7), ROW (hclpc_geom_row6, 7), EMPTYROW (3), ROW (hclpc_geom_row8, 7), ROW (hclpc_geom_row9, 7), ROW (hclpc_geom_row10, 7), ROW (hclpc_geom_row11, 7), }; static const struct keyboard_geometry hclpc_geom = { sizeof (hclpc_geom_rows) / sizeof (struct keyboard_row_geometry), hclpc_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/sun5uk-caps.h0000644000175000017500000000453110206731452014304 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Sun UK type 5 keyboard. * By Jeremy Prior (jez@howell.com), 16th Aug 1995 * Based on Sun Swiss-French Type 5 Keyboard, * by Philippe A. Kipfer (Philippe.Kipfer@di.epfl.ch), dec.1993. */ static const struct key_strings sun5uk_caps [] = { /* Row 0 */ {"Help", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Degauss", "Mute", 0}, {"Dim", "Quiet", 0}, {"Bright", "Loud", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"\254", "`", "\246"}, {"!", "1", 0}, {"\"", "2", 0}, {"\243", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Back", 0, 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"@", "'", 0}, {"~", "#", 0}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {"|", "\\", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"upArrow", 0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/hpitfsf-map.h0000644000175000017500000001125510206731452014345 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the default keymap of the HP 300, 400, and 700 series * keyboards. Generated by By Jorgen Jonsson running on an * HP 715/75 with the HP-UX 9.05 X server. */ static const struct default_keycode_map hpitfsf_map [] = { { 10, Mod1Mask, { XK_Meta_R }}, { 11, Mod1Mask, { XK_Meta_L }}, { 12, ShiftMask, { XK_Shift_R }}, { 13, ShiftMask, { XK_Shift_L }}, { 14, ControlMask, { XK_Control_L }}, { 15, 0, { XK_Break, hpXK_Reset }}, { 16, 0, { XK_KP_4 }}, { 17, 0, { XK_KP_8 }}, { 18, 0, { XK_KP_5 }}, { 19, 0, { XK_KP_9 }}, { 20, 0, { XK_KP_6 }}, { 21, 0, { XK_KP_7 }}, { 22, 0, { XK_KP_Separator }}, { 23, 0, { XK_KP_Enter }}, { 24, 0, { XK_KP_1 }}, { 25, 0, { XK_KP_Divide }}, { 26, 0, { XK_KP_2 }}, { 27, 0, { XK_KP_Add }}, { 28, 0, { XK_KP_3 }}, { 29, 0, { XK_KP_Multiply }}, { 30, 0, { XK_KP_0 }}, { 31, 0, { XK_KP_Subtract }}, { 32, 0, { XK_B, 0, hpXK_block }}, { 33, 0, { XK_V, 0, XK_section }}, { 34, 0, { XK_C, 0, XK_ccedilla, XK_Ccedilla }}, { 35, 0, { XK_X, 0, XK_scaron, XK_Scaron }}, { 36, 0, { XK_Z, 0, XK_paragraph }}, { 39, 0, { XK_Escape, XK_Delete }}, { 41, 0, { XK_F10, XK_KP_F2 }}, { 43, 0, { XK_F11, XK_KP_F3 }}, { 44, 0, { XK_KP_Decimal }}, { 45, 0, { XK_F9, XK_KP_F1 }}, { 46, 0, { XK_KP_Tab, hpXK_KP_BackTab }}, { 47, 0, { XK_F12, XK_KP_F4 }}, { 48, 0, { XK_H, 0, XK_yen }}, { 49, 0, { XK_G, 0, XK_currency }}, { 50, 0, { XK_F, 0, hpXK_guilder }}, { 51, 0, { XK_D, 0, XK_eth, XK_ETH }}, { 52, 0, { XK_S, 0, XK_ssharp }}, { 53, 0, { XK_A, 0, XK_aring, XK_Aring }}, { 54, Mod1Mask, { XK_Mode_switch, 0, 0, XK_Mode_switch }}, { 55, LockMask, { XK_Caps_Lock }}, { 56, 0, { XK_U, 0, hpXK_mute_diaeresis }}, { 57, 0, { XK_Y, 0, hpXK_mute_asciicircum }}, { 58, 0, { XK_T, 0, hpXK_mute_grave }}, { 59, 0, { XK_R, 0, hpXK_mute_acute }}, { 60, 0, { XK_E, 0, XK_ae, XK_AE }}, { 61, 0, { XK_W, 0, XK_asciitilde }}, { 62, 0, { XK_Q, 0, XK_periodcentered }}, { 63, 0, { XK_Tab, hpXK_BackTab }}, { 64, 0, { XK_7, XK_slash, XK_backslash }}, { 65, 0, { XK_6, XK_ampersand, XK_asciicircum }}, { 66, 0, { XK_5, XK_percent, XK_onehalf }}, { 67, 0, { XK_4, XK_dollar, XK_onequarter, XK_threequarters }}, { 68, 0, { XK_3, XK_numbersign, XK_numbersign }}, { 69, 0, { XK_2, XK_quotedbl, XK_at }}, { 70, 0, { XK_1, XK_exclam, XK_exclamdown }}, { 71, 0, { XK_less, XK_greater, XK_guillemotleft, XK_guillemotright }}, { 80, 0, { XK_Menu }}, { 81, 0, { XK_F4 }}, { 82, 0, { XK_F3 }}, { 83, 0, { XK_F2 }}, { 84, 0, { XK_F1 }}, { 86, 0, { XK_Cancel }}, { 87, 0, { XK_Execute, XK_Print }}, { 88, 0, { hpXK_System, hpXK_User }}, { 89, 0, { XK_F5 }}, { 90, 0, { XK_F6 }}, { 91, 0, { XK_F7 }}, { 92, 0, { XK_F8 }}, { 94, 0, { hpXK_ClearLine }}, { 95, 0, { XK_Clear }}, { 96, 0, { XK_8, XK_parenleft, XK_bracketleft, XK_braceleft }}, { 97, 0, { XK_9, XK_parenright, XK_bracketright, XK_braceright }}, { 98, 0, { XK_0, XK_equal, XK_questiondown }}, { 99, 0, { XK_plus, XK_question, hpXK_longminus, XK_macron }}, { 100, 0, { XK_eacute, XK_Eacute, XK_plusminus }}, { 101, 0, { XK_BackSpace }}, { 102, 0, { hpXK_InsertLine }}, { 103, 0, { hpXK_DeleteLine }}, { 104, 0, { XK_I, 0, hpXK_mute_asciitilde }}, { 105, 0, { XK_O, 0, XK_oslash, XK_Ooblique }}, { 106, 0, { XK_P, 0, XK_thorn, XK_THORN }}, { 107, 0, { XK_aring, XK_Aring, XK_degree }}, { 108, 0, { XK_udiaeresis, XK_Udiaeresis, XK_bar, XK_brokenbar }}, { 109, 0, { XK_apostrophe, XK_asterisk, XK_mu }}, { 110, 0, { hpXK_InsertChar }}, { 111, 0, { hpXK_DeleteChar }}, { 112, 0, { XK_J, 0, XK_dollar }}, { 113, 0, { XK_K, 0, XK_cent }}, { 114, 0, { XK_L, 0, XK_sterling }}, { 115, 0, { XK_odiaeresis, XK_Odiaeresis, hpXK_lira }}, { 116, 0, { XK_adiaeresis, XK_Adiaeresis, XK_grave, XK_apostrophe }}, { 117, 0, { XK_Return }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_M, 0, XK_masculine }}, { 121, 0, { XK_comma, XK_semicolon, XK_less }}, { 122, 0, { XK_period, XK_colon, XK_greater }}, { 123, 0, { XK_minus, XK_underscore, XK_underscore }}, { 125, 0, { XK_Select }}, { 127, 0, { XK_Next }}, { 128, 0, { XK_N, 0, XK_ordfeminine }}, { 129, 0, { XK_space }}, { 132, 0, { XK_Left }}, { 133, 0, { XK_Down }}, { 134, 0, { XK_Up }}, { 135, 0, { XK_Right }} }; xkeycaps-2.47/kbds/pc105ca-caps.h0000644000175000017500000000421610206731452014206 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1999 * Jamie Zawinski * * This file describes the key surfaces of the keyboard with useless Microsoft keys It's the Aptiva CA keyboard written by Michel Catudal */ static const struct key_strings pc105ca_caps [] = { /* Row 0 */ {"\311chap" ,0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Imp\311c","Syst"}, {"D\351fil", 0, 0}, {"Pause", "Intrp"}, /* Row 2 */ {"\\", "/", "|"}, {"!", "1", "\241"}, {"@", "2", "\261"}, {"#", "3", "~"}, {"$", "4", "\242"}, {"%", "5", "\274"}, {"?", "6", "\277"}, {"&", "7", "{"}, {"*", "8", "}"}, {"(", "9", "["}, {")", "0", "]"}, {"_", "-", "\275"}, {"+", "=", "\276"}, {"Retour", 0}, {"Inser", 0}, {"Pos 1", 0}, {"Pg AR", 0}, {"Num", 0}, {"\367", 0}, {"\327", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\250", "^", "`"}, {"\307", "\347", "~"}, {"Entr", 0}, {"Suppr", 0}, {"Fin", 0}, {"Pg AV", 0}, {"7", "Pos 1", 0}, {"8", "UpArrow", 0}, {"9", "Pg AR", 0}, {"+", 0}, /* Row 4 */ {"FixMaj", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", "\260"}, {"\310", "\350"}, {"\300", "\340", "\265"}, {"4", "LeftArrow", 0}, {"5", "~", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"\331", "\371", 0}, {"Z", "\253"}, {"X", "\273"}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", "\321", "\361"}, {"M", 0}, {"'", "," , "<"}, {"\"", ".", ">"}, {"\311", "\351", "'"}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Entr", 0}, /* Row 6 */ {"Ctrl", 0}, {"[", "]", 0}, {"Alt", 0}, {" ", 0}, {"AltCar", 0}, {"{", "<", 0}, {"}", ">", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Inser", 0}, {".", "Suppr", 0} }; xkeycaps-2.47/kbds/chergo-de-caps.h0000644000175000017500000000347710206731452014717 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * This file describes the key surfaces of the Cherry ErgoPlus keyboard with * German layout. * By Berthold Gunreben */ static const struct key_strings chergo_de_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", "S-Abf", 0}, {"Rollen", 0}, {"Pause", "Untbr", 0}, /* Row 1 */ {"F13", 0}, {"\260", "^", 0}, {"!", "1", 0}, {"\"", "2", "\262"}, {"\247", "3", "\263"}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "\337", "\\"}, /* {0}, */ {"`", "'", 0}, {"Back ", "Space", 0}, {"Einfg", 0}, {"Bild", "upArrow", 0}, /* Row 2 */ {"F14", 0}, {"Tab", 0}, {"Q", "", "@"}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+", "~"}, {"Enter", 0}, {"Entf", 0}, {"Bild", "downArrow" , 0}, /* Row 3 */ {"F15", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"'", "#", 0}, {"Pos1", 0}, {"Ende", 0}, /* Row 4 */ {"F16", 0}, {"Shift", 0}, {">", "<", "|"}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", "", "\265"}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"upArrow", 0}, /* Row 5 */ {"F17", 0}, {"Strg", 0}, {"Alt", 0}, {" ", 0}, {" ", 0}, {"Alt", "Graph", 0}, {"Strg", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, }; xkeycaps-2.47/kbds/ncd108de-map.h0000644000175000017500000000701510206731452014207 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the NCD X terminal N108D keyboard * (German layout). By Andreas Schuch . */ static const struct default_keycode_map ncd108de_map [] = { /* these have keycodes but no keysyms in the default map */ { 100, 0, { 0 }}, /* Remove */ { 119, 0, { XK_Multi_key }}, /* Compose Left */ { 120, 0, { XK_Multi_key }}, /* Compose Right */ { 8, 0, { XK_KP_F1 }}, { 9, 0, { XK_less, XK_greater }}, { 10, 0, { XK_Escape }}, { 11, 0, { XK_BackSpace }}, { 12, 0, { XK_Linefeed }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_asciicircum, XK_degree }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F1 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 26, 0, { XK_Y }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_quotedbl }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_section }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Z }}, { 54, 0, { XK_6, XK_ampersand }}, { 55, 0, { XK_F7 }}, { 57, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_slash }}, { 62, 0, { XK_8, XK_parenleft }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_semicolon }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_equal }}, { 70, 0, { XK_9, XK_parenright }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_colon }}, { 74, 0, { XK_minus, XK_underscore }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_ssharp, XK_question }}, { 79, 0, { XK_F10 }}, { 80, 0, { XK_F14 }}, { 81, 0, { XK_Help }}, { 82, 0, { XK_adiaeresis }}, { 83, 0, { XK_numbersign, XK_apostrophe }}, { 84, 0, { XK_udiaeresis }}, { 85, 0, { 0 }}, { 87, 0, { XK_KP_F4 }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_plus, XK_asterisk }}, { 95, 0, { XK_KP_F3 }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 99, 0, { XK_Up }}, { 101, 0, { XK_Select }}, { 102, 0, { XK_Delete }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Find }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Separator }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, 0, { XK_KP_F2 }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 124, 0, { XK_KP_Decimal }}, { 125, 0, { XK_KP_9 }}, { 127, 0, { XK_Menu }}, { 128, 0, { XK_F17 }}, { 129, 0, { XK_F18 }}, { 130, 0, { XK_F19 }}, { 131, 0, { XK_F20 }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/pc105tr-caps.h0000644000175000017500000000412510206731452014247 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the key surfaces of a Turkish 105 key PC-style * keyboard for xkeycaps. Tufan KARADERE tufank@netscape.net */ static const struct key_strings pc105tr_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "SysRq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\"", "\351", 0}, {"!", "1", 0}, {"'", "2", 0}, {"^", "3", "#"}, {"+", "4", "$"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "*", "\\"}, {"_", "-", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"\055", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0, "@"}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\320", 0 }, {"\334", 0, "~" }, {0,"Enter"}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps", " Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\336", 0}, {"\335", 0,}, {";", ",", "`"}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", "|"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"\326", 0}, {"\307", 0}, {":", ".", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Meta", 0}, /* Well, actually Microsoft Windows logo, but who cares? */ {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Meta", 0}, /* Actually logo, no more now :) */ {"Menu", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/hp4032x-map.h0000644000175000017500000001345710206731452014020 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the HP-4032 X terminal (aka Aptrex), * whose physical appearance mimics the Sun type 5 PC-style keyboard. * By Mark Borges . */ static const struct default_keycode_map hp4032x_map [] = { { 16, 0, { XK_F1 }}, { 17, 0, { XK_Escape }}, { 18, 0, { XK_Help }}, { 19, 0, { XK_F11, XK_F11, XK_Cancel }}, { 20, 0, { XK_F12, XK_F12, XK_Redo }}, { 21, 0, { XK_F13, XK_F13, SunXK_Props }}, { 22, 0, { XK_Tab, hpXK_BackTab }}, { 23, 0, { XK_grave, XK_asciitilde, XK_guillemotleft, XK_guillemotright }}, { 24, 0, { XK_F2 }}, { 25, 0, { XK_F14, XK_F14, XK_Undo }}, { 26, ControlMask, { XK_Control_L }}, { 27, ShiftMask, { XK_Shift_L }}, { 28, 0, { XK_F15, XK_F15, SunXK_Front }}, { 29, LockMask, { XK_Caps_Lock }}, { 30, 0, { XK_q, XK_Q, XK_periodcentered, XK_periodcentered }}, { 31, 0, { XK_1, XK_exclam, XK_exclamdown, XK_exclamdown }}, { 32, 0, { XK_F3 }}, { 33, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 34, Mod4Mask, { XK_Alt_L }}, { 35, 0, { XK_z, XK_Z, XK_paragraph, XK_paragraph }}, { 36, 0, { XK_s, XK_S, XK_ssharp, XK_ssharp }}, { 37, 0, { XK_a, XK_A, XK_aring, XK_Aring }}, { 38, 0, { XK_w, XK_W, XK_asciitilde, XK_asciitilde }}, { 39, 0, { XK_2, XK_at, XK_at, XK_at }}, { 40, 0, { XK_F4 }}, { 41, 0, { XK_F17, XK_F17, SunXK_Open }}, { 42, 0, { XK_c, XK_C, XK_ccedilla, XK_Ccedilla }}, { 43, 0, { XK_x, XK_X, XK_scaron, XK_Scaron }}, { 44, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 45, 0, { XK_e, XK_E, XK_ae, XK_AE }}, { 46, 0, { XK_4, XK_dollar, XK_onequarter, hpXK_Ydiaeresis }}, { 47, 0, { XK_3, XK_numbersign, XK_numbersign, XK_numbersign }}, { 48, 0, { XK_F5 }}, { 49, 0, { XK_F18, XK_F18, SunXK_Paste }}, { 50, 0, { XK_space }}, { 51, 0, { XK_v, XK_V, XK_section, XK_section }}, { 52, 0, { XK_f, XK_F, hpXK_guilder, hpXK_guilder }}, { 53, 0, { XK_t, XK_T, hpXK_mute_grave, hpXK_mute_grave }}, { 54, 0, { XK_r, XK_R, hpXK_mute_acute, hpXK_mute_acute }}, { 55, 0, { XK_5, XK_percent, XK_onehalf, XK_onehalf }}, { 56, 0, { XK_F6 }}, { 57, 0, { XK_F19, XK_F19, XK_Find }}, { 58, 0, { XK_n, XK_N, XK_ordfeminine, XK_ordfeminine }}, { 59, 0, { XK_b, XK_B, hpXK_block, hpXK_block }}, { 60, 0, { XK_h, XK_H, XK_yen, XK_yen }}, { 61, 0, { XK_g, XK_G, XK_currency, XK_currency }}, { 62, 0, { XK_y, XK_Y, hpXK_mute_asciicircum, hpXK_mute_asciicircum }}, { 63, 0, { XK_6, XK_asciicircum, XK_asciicircum, XK_asciicircum }}, { 64, 0, { XK_F7 }}, { 65, 0, { XK_F20, XK_F20, SunXK_Cut }}, { 66, 0, { XK_Multi_key }}, { 67, 0, { XK_m, XK_M, XK_masculine, XK_masculine }}, { 68, 0, { XK_j, XK_J, XK_dollar, XK_dollar }}, { 69, 0, { XK_u, XK_U, hpXK_mute_diaeresis, hpXK_mute_diaeresis }}, { 70, 0, { XK_7, XK_ampersand, XK_backslash, XK_backslash }}, { 71, 0, { XK_8, XK_asterisk, XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_F8 }}, { 73, Mod1Mask, { XK_Meta_L }}, { 74, 0, { XK_comma, XK_less, XK_less, XK_less }}, { 75, 0, { XK_k, XK_K, XK_cent, XK_cent }}, { 76, 0, { XK_i, XK_I, hpXK_mute_asciitilde, hpXK_mute_asciitilde }}, { 77, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 78, 0, { XK_0, XK_parenright, XK_questiondown, XK_questiondown }}, { 79, 0, { XK_9, XK_parenleft, XK_bracketright, XK_braceright }}, { 80, 0, { XK_F9 }}, { 81, Mod1Mask, { XK_Meta_R }}, { 82, 0, { XK_period, XK_greater, XK_greater, XK_greater }}, { 83, 0, { XK_slash, XK_question, XK_underscore, XK_underscore }}, { 84, 0, { XK_l, XK_L, XK_sterling, XK_sterling }}, { 85, 0, { XK_semicolon, XK_colon, hpXK_lira, hpXK_lira }}, { 86, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 87, 0, { XK_minus, XK_underscore, hpXK_longminus, XK_macron }}, { 88, 0, { XK_F10 }}, { 91, 0, { XK_apostrophe, XK_quotedbl, XK_grave, XK_apostrophe }}, { 93, 0, { XK_bracketleft, XK_braceleft, XK_degree, XK_degree }}, { 94, 0, { XK_equal, XK_plus, XK_plusminus, XK_plusminus }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 97, Mod2Mask, { XK_Mode_switch }}, { 98, ShiftMask, { XK_Shift_R }}, { 99, 0, { XK_Return }}, { 100, 0, { XK_bracketright, XK_braceright, XK_brokenbar, XK_brokenbar }}, { 101, 0, { XK_backslash, XK_bar, XK_brokenbar, XK_mu }}, { 103, 0, { XK_F12 }}, { 104, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 105, 0, { XK_Down }}, { 106, 0, { XK_Left }}, { 107, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 108, 0, { XK_Up }}, { 109, 0, { XK_Delete }}, { 110, 0, { XK_End }}, { 111, 0, { XK_BackSpace }}, { 112, 0, { XK_Insert }}, { 114, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 115, 0, { XK_Right }}, { 116, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 117, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 118, 0, { XK_Next }}, { 119, 0, { XK_Home }}, { 120, 0, { XK_Prior }}, { 121, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 122, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 123, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 124, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 125, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 126, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 127, Mod3Mask, { XK_Num_Lock }}, { 128, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 130, 0, { XK_KP_Enter }}, { 131, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 133, 0, { XK_KP_Add }}, { 134, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 135, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 141, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, }; xkeycaps-2.47/kbds/tm4000m-geom.h0000644000175000017500000000366310206731452014161 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1995, 1996 Jamie Zawinski * * This file describes the physical layout of the Texas Instruments * TravelMate 4000M multimedia notebook keyboard layout. * By Kenneth E. Harker */ static const struct key_geometry tm4000m_geom_row1 [] = { {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8} }; static const struct key_geometry tm4000m_geom_row2 [] = { {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {14, 10} }; static const struct key_geometry tm4000m_geom_row3 [] = { {14, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, }; static const struct key_geometry tm4000m_geom_row4 [] = { {18, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {16, 10} }; static const struct key_geometry tm4000m_geom_row5 [] = { {22, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {22, 10} }; static const struct key_geometry tm4000m_geom_row6a [] = { {16, 10}, {10, 10}, {10, 10}, {58, 10}, {10, 10}, {10, 5}, {10, 5}, {10, 5}, {10, 5} }; static const struct key_geometry tm4000m_geom_row6b [] = { {104, 0}, {10, 5}, {10, 5}, {10, 5}, {10, 5} }; static const struct keyboard_row_geometry tm4000m_geom_rows [] = { ROW (tm4000m_geom_row1, 8), ROW (tm4000m_geom_row2, 10), ROW (tm4000m_geom_row3, 10), ROW (tm4000m_geom_row4, 10), ROW (tm4000m_geom_row5, 10), ROW (tm4000m_geom_row6a, 10), EMPTYROW(5), ROW (tm4000m_geom_row6b, 10) }; static const struct keyboard_geometry tm4000m_geom = { sizeof (tm4000m_geom_rows) / sizeof (struct keyboard_row_geometry), tm4000m_geom_rows, 6, 4, 4 }; xkeycaps-2.47/kbds/sun4sw-geom.h0000644000175000017500000000365210206731452014321 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the pyhsical layout of the Sun type 4 Swedish keyboard. * By Torbj|rn Lindgren . */ static const struct key_geometry sun4sw_geom_row0 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4sw_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4sw_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {8, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun4sw_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4sw_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun4sw_geom_row5 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {63, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun4sw_geom_rows [] = { ROW (sun4sw_geom_row0, 7), ROW (sun4sw_geom_row1, 7), ROW (sun4sw_geom_row2, 7), ROW (sun4sw_geom_row3, 7), ROW (sun4sw_geom_row4, 7), ROW (sun4sw_geom_row5, 7), }; static const struct keyboard_geometry sun4sw_geom = { sizeof (sun4sw_geom_rows) / sizeof (struct keyboard_row_geometry), sun4sw_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/trek-caps.h0000644000175000017500000000325210206731452014016 0ustar cbcb/* xkeycaps, Copyright (c) 1997, 1999 Jamie Zawinski * * This file describes the key surfaces of the Micron * Transport Trek2 notebook keyboard interface. * By Alan Ho */ static const struct key_strings trek_caps [] = { /* Row 0 */ {"Esc", 0, 0}, {"F1", 0, 0}, {"F2", 0, 0}, {"F3", 0, 0}, {"F4", 0, 0}, {"F5", 0, 0}, {"F6", 0, 0}, {"F7", 0, 0}, {"F8", 0, 0}, {"F9", 0, 0}, {"F10", 0, 0}, {"F11", 0, 0}, {"F12", 0, 0}, {"Pause", "Break", 0}, {"PrtSc", "SysRq", 0}, {"Ins", "Num", 0}, {"Del", "ScrLk", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", "7"}, {"*", "8", "8"}, {"(", "9", "9"}, {")", "0", "*"}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0, 0}, {"Home", 0, 0}, /* Row 3 */ {"Tab", 0, 0}, {"Q", 0, 0}, {"W", 0, 0}, {"E", 0, 0}, {"R", 0, 0}, {"T", 0, 0}, {"Y", 0, 0}, {"U", 0, "4"}, {"I", 0, "5"}, {"O", 0, "6"}, {"P", 0, "-"}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"PgUp", 0, 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0, 0}, {"S", 0, 0}, {"D", 0, 0}, {"F", 0, 0}, {"G", 0, 0}, {"H", 0, 0}, {"J", 0, "1"}, {"K", 0, "2"}, {"L", 0, "3"}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0, 0}, {"PgDn", 0, 0}, /* Row 5 */ {"Shift", 0, 0}, {"Z", 0, 0}, {"X", 0, 0}, {"C", 0, 0}, {"V", 0, 0}, {"B", 0, 0}, {"N", 0, 0}, {"M", 0, "0"}, {"<", ", ", "0"}, {">", ".", "."}, {"?", "/", "/"}, {"Shift", 0, 0}, {"UpArrow", 0, 0}, {"End", 0, 0}, /* Row 6 */ {"Fn", 0, 0}, {"Ctrl", 0, 0}, {"MS", 0, 0}, {"Alt", 0, 0}, {" ", 0, 0}, {"Alt", 0, 0}, {"MS2", 0, 0}, {"MS3", 0, 0}, {"LeftArrow", 0, 0}, {"DownArrow", 0, 0}, {"RightArrow", 0, 0} }; xkeycaps-2.47/kbds/sun4de-codes.h0000644000175000017500000000151510206731452014422 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1995, 1996 Jamie Zawinski * * This file describes the keycodes of the Sun type 4 German keyboard. * By Johannes Schmidt-Fischer */ static const KeyCode sun4de_codes [] = { /* Row 0 */ 8, 10, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 95, 22, 73, 28, 29, 30, 105, /* Row 1 */ 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 52, 53, 54, 78, /* Row 2 */ 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 75, 76, 77, 132, /* Row 3 */ 79, 80, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 49, 98, 99, 100, /* Row 4 */ 102, 104, 106, 131, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 97, /* Row 5 */ 125, 126, 26, 127, 128, 129, 74, 20, 101, 57 }; xkeycaps-2.47/kbds/hp4032x-geom.h0000644000175000017500000000521410206731452014162 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the physical layout of the HP 4032 (aka Aptrex) X terminal * keyboard. This layout mimics the Sun type 5 "PC" version. You could probably * use that file (sun5-geom.h) with appropriate definitions. * By Mark Borges * * This file describes the physical layout of the Sun type 5 keyboards. * By Carl Witty , Sylvain Meunier , * and jwz. * * The "PC" version differs from the regular type 5 keyboard in that the top * row of the main block ends in a wide BS key instead of "|\" and "~`", and * the first key on the bottom row (Control here, Caps on the other one) is * wider. */ static const struct key_geometry hp4032x_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hp4032x_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hp4032x_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry hp4032x_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hp4032x_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry hp4032x_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {57, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry hp4032x_geom_rows [] = { ROW (hp4032x_geom_row0, 7), EMPTYROW (7), ROW (hp4032x_geom_row1, 7), ROW (hp4032x_geom_row2, 7), ROW (hp4032x_geom_row3, 7), ROW (hp4032x_geom_row4, 7), ROW (hp4032x_geom_row5, 7), }; static const struct keyboard_geometry hp4032x_geom = { sizeof (hp4032x_geom_rows) / sizeof (struct keyboard_row_geometry), hp4032x_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/hpitfde-map.h0000644000175000017500000001135610206731452014327 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the German HP-ITF keyboards. * Generated by Michael Piotrowski * on an HP 9000/715 under HP-UX 9.07. */ static struct default_keycode_map hpitfde_map [] = { { 10, Mod1Mask, { XK_Meta_R }}, { 11, Mod1Mask, { XK_Meta_L }}, { 12, ShiftMask, { XK_Shift_R }}, { 13, ShiftMask, { XK_Shift_L }}, { 14, ControlMask, { XK_Control_L }}, { 15, 0, { XK_Break, hpXK_Reset }}, { 16, 0, { XK_KP_4 }}, { 17, 0, { XK_KP_8 }}, { 18, 0, { XK_KP_5 }}, { 19, 0, { XK_KP_9 }}, { 20, 0, { XK_KP_6 }}, { 21, 0, { XK_KP_7 }}, { 22, 0, { XK_KP_Separator }}, { 23, 0, { XK_KP_Enter }}, { 24, 0, { XK_KP_1 }}, { 25, 0, { XK_KP_Divide }}, { 26, 0, { XK_KP_2 }}, { 27, 0, { XK_KP_Add }}, { 28, 0, { XK_KP_3 }}, { 29, 0, { XK_KP_Multiply }}, { 30, 0, { XK_KP_0 }}, { 31, 0, { XK_KP_Subtract }}, { 32, 0, { XK_B, 0, hpXK_block }}, { 33, 0, { XK_V, 0, XK_section }}, { 34, 0, { XK_C, 0, XK_ccedilla, XK_Ccedilla }}, { 35, 0, { XK_X, 0, XK_scaron, XK_Scaron }}, { 36, 0, { XK_Y, 0, XK_paragraph }}, { 39, 0, { XK_Escape, XK_Delete }}, { 41, 0, { XK_F10, XK_KP_F2 }}, { 43, 0, { XK_F11, XK_KP_F3 }}, { 44, 0, { XK_KP_Decimal }}, { 45, 0, { XK_F9, XK_KP_F1 }}, { 46, 0, { XK_KP_Tab, hpXK_KP_BackTab }}, { 47, 0, { XK_F12, XK_KP_F4 }}, { 48, 0, { XK_H, 0, XK_yen }}, { 49, 0, { XK_G, 0, XK_currency }}, { 50, 0, { XK_F, 0, hpXK_guilder }}, { 51, 0, { XK_D, 0, XK_eth, XK_ETH }}, { 52, 0, { XK_S, 0, XK_ssharp }}, { 53, 0, { XK_A, 0, XK_aring, XK_Aring }}, { 54, Mod1Mask, { XK_Mode_switch, 0, 0, XK_Mode_switch }}, { 55, LockMask, { XK_Caps_Lock }}, { 56, 0, { XK_U, 0, hpXK_mute_diaeresis }}, { 57, 0, { XK_Z, 0, hpXK_mute_asciicircum }}, { 58, 0, { XK_T, 0, hpXK_mute_grave }}, { 59, 0, { XK_R, 0, hpXK_mute_acute }}, { 60, 0, { XK_E, 0, XK_ae, XK_AE }}, { 61, 0, { XK_W, 0, XK_asciitilde }}, { 62, 0, { XK_Q, 0, XK_periodcentered }}, { 63, 0, { XK_Tab, hpXK_BackTab }}, { 64, 0, { XK_7, XK_slash, XK_backslash }}, { 65, 0, { XK_6, XK_ampersand, XK_asciicircum }}, { 66, 0, { XK_5, XK_percent, XK_onehalf }}, { 67, 0, { XK_4, XK_dollar, XK_onequarter, XK_threequarters }}, { 68, 0, { XK_3, XK_section, XK_numbersign }}, { 69, 0, { XK_2, XK_quotedbl, XK_at }}, { 70, 0, { XK_1, XK_exclam, XK_exclamdown }}, { 71, 0, { XK_less, XK_greater, XK_guillemotleft, XK_guillemotright }}, { 80, 0, { XK_Menu }}, { 81, 0, { XK_F4 }}, { 82, 0, { XK_F3 }}, { 83, 0, { XK_F2 }}, { 84, 0, { XK_F1 }}, { 86, 0, { XK_Cancel }}, { 87, 0, { XK_Execute, XK_Print }}, { 88, 0, { hpXK_System, hpXK_User }}, { 89, 0, { XK_F5 }}, { 90, 0, { XK_F6 }}, { 91, 0, { XK_F7 }}, { 92, 0, { XK_F8 }}, { 94, 0, { hpXK_ClearLine }}, { 95, 0, { XK_Clear }}, { 96, 0, { XK_8, XK_parenleft, XK_bracketleft, XK_braceleft }}, { 97, 0, { XK_9, XK_parenright, XK_bracketright, XK_braceright }}, { 98, 0, { XK_0, XK_equal, XK_questiondown }}, { 99, 0, { XK_ssharp, XK_question, hpXK_longminus, XK_macron }}, { 100, 0, { XK_apostrophe, XK_grave, XK_plusminus }}, { 101, 0, { XK_BackSpace }}, { 102, 0, { hpXK_InsertLine }}, { 103, 0, { hpXK_DeleteLine }}, { 104, 0, { XK_I, 0, hpXK_mute_asciitilde }}, { 105, 0, { XK_O, 0, XK_oslash, XK_Ooblique }}, { 106, 0, { XK_P, 0, XK_thorn, XK_THORN }}, { 107, 0, { XK_udiaeresis, XK_Udiaeresis, XK_degree }}, { 108, 0, { XK_plus, XK_asterisk, XK_bar, XK_brokenbar }}, { 109, 0, { XK_sterling, XK_asciicircum, XK_mu }}, { 110, 0, { hpXK_InsertChar }}, { 111, 0, { hpXK_DeleteChar }}, { 112, 0, { XK_J, 0, XK_dollar }}, { 113, 0, { XK_K, 0, XK_cent }}, { 114, 0, { XK_L, 0, XK_sterling }}, { 115, 0, { XK_odiaeresis, XK_Odiaeresis, hpXK_lira }}, { 116, 0, { XK_adiaeresis, XK_Adiaeresis, XK_grave, XK_apostrophe }}, { 117, 0, { XK_Return }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_M, 0, XK_masculine }}, { 121, 0, { XK_comma, XK_semicolon, XK_less }}, { 122, 0, { XK_period, XK_colon, XK_greater }}, { 123, 0, { XK_minus, XK_underscore, XK_underscore }}, { 125, 0, { XK_Select }}, { 127, 0, { XK_Next }}, { 128, 0, { XK_N, 0, XK_ordfeminine }}, { 129, 0, { XK_space }}, { 132, 0, { XK_Left }}, { 133, 0, { XK_Down }}, { 134, 0, { XK_Up }}, { 135, 0, { XK_Right }}, }; xkeycaps-2.47/kbds/sgi4-codes.h0000644000175000017500000000144610206731452014071 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the SGI Iris keyboard * with IRIX 4.* or older. By Simon Leinen */ static const KeyCode sgi4_codes [] = { /* Row 0 */ 14, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, /* Row 2 */ 62, 15, 21, 22, 29, 30, 37, 38, 45, 46, 53, 54, 61, 68, 109, 110, 111, 114, 115, 116, 83, /* Row 3 */ 16, 17, 23, 24, 31, 32, 39, 40, 47, 48, 55, 56, 63, 64, 69, 112, 113, 74, 75, 82, 117, /* Row 4 */ 11, 18, 19, 25, 26, 33, 34, 41, 42, 49, 50, 57, 58, 70, 76, 77, /* Row 5 */ 13, 27, 28, 35, 36, 43, 44, 51, 52, 59, 60, 12, 88, 65, 71, 72, 89, /* Row 6 */ 10, 91, 90, 92, 93, 80, 81, 87, 66, 73 }; xkeycaps-2.47/kbds/sgi4-r4-map.h0000644000175000017500000000665510206731452014103 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the SGI Iris keyboard. * Generated by Joe English on IRIX 4.0, X11R4. */ static const struct default_keycode_map sgi4_r4_map [] = { { 10, ControlMask, { XK_Control_L }}, { 11, LockMask, { XK_Caps_Lock }}, { 12, ShiftMask, { XK_Shift_R }}, { 13, ShiftMask, { XK_Shift_L }}, { 14, 0, { XK_Escape }}, { 15, 0, { XK_1, XK_exclam }}, { 16, 0, { XK_Tab }}, { 17, 0, { XK_Q }}, { 18, 0, { XK_A }}, { 19, 0, { XK_S }}, { 21, 0, { XK_2, XK_at }}, { 22, 0, { XK_3, XK_numbersign }}, { 23, 0, { XK_W }}, { 24, 0, { XK_E }}, { 25, 0, { XK_D }}, { 26, 0, { XK_F }}, { 27, 0, { XK_Z }}, { 28, 0, { XK_X }}, { 29, 0, { XK_4, XK_dollar }}, { 30, 0, { XK_5, XK_percent }}, { 31, 0, { XK_R }}, { 32, 0, { XK_T }}, { 33, 0, { XK_G }}, { 34, 0, { XK_H }}, { 35, 0, { XK_C }}, { 36, 0, { XK_V }}, { 37, 0, { XK_6, XK_asciicircum }}, { 38, 0, { XK_7, XK_ampersand }}, { 39, 0, { XK_Y }}, { 40, 0, { XK_U }}, { 41, 0, { XK_J }}, { 42, 0, { XK_K }}, { 43, 0, { XK_B }}, { 44, 0, { XK_N }}, { 45, 0, { XK_8, XK_asterisk }}, { 46, 0, { XK_9, XK_parenleft }}, { 47, 0, { XK_I }}, { 48, 0, { XK_O }}, { 49, 0, { XK_L }}, { 50, 0, { XK_semicolon, XK_colon }}, { 51, 0, { XK_M }}, { 52, 0, { XK_comma, XK_less }}, { 53, 0, { XK_0, XK_parenright }}, { 54, 0, { XK_minus, XK_underscore }}, { 55, 0, { XK_P }}, { 56, 0, { XK_bracketleft, XK_braceleft }}, { 57, 0, { XK_apostrophe, XK_quotedbl }}, { 58, 0, { XK_Return }}, { 59, 0, { XK_period, XK_greater }}, { 60, 0, { XK_slash, XK_question }}, { 61, 0, { XK_equal, XK_plus }}, { 62, 0, { XK_grave, XK_asciitilde }}, { 63, 0, { XK_bracketright, XK_braceright }}, { 64, 0, { XK_backslash, XK_bar }}, { 65, 0, { XK_KP_End, XK_KP_1 }}, { 66, 0, { XK_KP_Insert, XK_KP_0 }}, { 68, 0, { XK_BackSpace }}, { 69, 0, { XK_Delete }}, { 70, 0, { XK_KP_Left, XK_KP_4 }}, { 71, 0, { XK_KP_Down, XK_KP_2 }}, { 72, 0, { XK_KP_Next, XK_KP_3 }}, { 73, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 74, 0, { XK_KP_Home, XK_KP_7 }}, { 75, 0, { XK_KP_Up, XK_KP_8 }}, { 76, 0, { XK_KP_Begin, XK_KP_5 }}, { 77, 0, { XK_KP_Right, XK_KP_6 }}, { 80, 0, { XK_Left }}, { 81, 0, { XK_Down }}, { 82, 0, { XK_KP_Prior, XK_KP_9 }}, { 83, 0, { XK_KP_Subtract }}, { 87, 0, { XK_Right }}, { 88, 0, { XK_Up }}, { 89, 0, { XK_KP_Enter }}, { 90, 0, { XK_space }}, { 91, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 92, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 93, ControlMask, { XK_Control_R }}, { 94, 0, { XK_F1 }}, { 95, 0, { XK_F2 }}, { 96, 0, { XK_F3 }}, { 97, 0, { XK_F4 }}, { 98, 0, { XK_F5 }}, { 99, 0, { XK_F6 }}, { 100, 0, { XK_F7 }}, { 101, 0, { XK_F8 }}, { 102, 0, { XK_F9 }}, { 103, 0, { XK_F10 }}, { 104, 0, { XK_F11 }}, { 105, 0, { XK_F12 }}, { 106, 0, { XK_Print, XK_Sys_Req }}, { 107, Mod3Mask, { XK_Scroll_Lock }}, { 108, 0, { XK_Pause, XK_Break }}, { 109, 0, { XK_Insert }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_End }}, { 113, 0, { XK_Next }}, { 114, Mod2Mask, { XK_Num_Lock }}, { 115, 0, { XK_KP_Divide }}, { 116, 0, { XK_KP_Multiply }}, { 117, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/ms104-sparc-codes.h0000644000175000017500000000227310206731452015174 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Microsoft "Natural" keyboard * (part 58221) with Solaris 2.5/OpenWindows 3.5 running on a SparcStation * via the Sun Interface Converter (part # 370-2068-01). * * Contributed by Barry Warsaw * * Unfortunately, the new modifier keys in the bottom row (the "Microsoft" * and "Menu" keys) do not generate keycodes on a SparcStation, and thus * cannot be bound. They do however generate keycodes on an x86 system. */ static const KeyCode ms104_sparc_codes [] = { /* Row 0 */ 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, /* Row 2 */ 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 3 */ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 95, 73, 81, 130, 75, 76, 77, 132, /* Row 4 */ 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 100, /* Row 5 */ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 6 */ 83, 0, 26, 128, 20, 0, 0, 129, 31, 34, 35, 101, 57, }; xkeycaps-2.47/kbds/cramer-sgi-codes.h0000644000175000017500000000155110206731452015251 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the keycodes of the "Interfaces by Cramer" * Floating Arms keyboard (formerly the Workplace Designs keyboard) * with XFree86 3.1. */ static const KeyCode cramer_sgi_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, /* Row 1 */ 22, 30, 38, 46, 45, 54, 62, 62, 69, 70, 78, 77, 86, 93, 110, 103, 126, 127, 134, 140, /* Row 2 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 100, 95, 116, 125, 133, 132, /* Row 3 */ 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 98, 149, 115, 123, 124, /* Row 4 */ 26, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 148, 113, 122, 130, 129, /* Row 5 */ 25, 147, 33, 106, 49, 49, 111, 118, 119, 65, 107, 96, 120, 121, /* Row 6 */ 108, 109, 117, 105, 104, 114 }; xkeycaps-2.47/kbds/pc105ca-map.h0000644000175000017500000001056310206731452014037 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1999 * Jamie Zawinski * * This file describes the keymap of a Keyboard with the useless Microsoft keys * PC 105 key keyboard, Aptiva CA layout, on Linux with Xfree86 3.1.1 (X11R6) * Generated by Michel Catudal */ static const struct default_keycode_map pc105ca_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_exclamdown }}, { 11, 0, { XK_2, XK_at, XK_plusminus }}, { 12, 0, { XK_3, XK_numbersign, XK_dead_tilde }}, { 13, 0, { XK_4, XK_dollar, XK_cent }}, { 14, 0, { XK_5, XK_percent, XK_onequarter }}, { 15, 0, { XK_6, XK_question, XK_questiondown }}, { 16, 0, { XK_7, XK_ampersand, XK_braceleft }}, { 17, 0, { XK_8, XK_asterisk, XK_braceright }}, { 18, 0, { XK_9, XK_parenleft, XK_bracketleft }}, { 19, 0, { XK_0, XK_parenright, XK_bracketright }}, { 20, 0, { XK_minus, XK_underscore, XK_onehalf }}, { 21, 0, { XK_equal, XK_plus, XK_threequarters }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_q }}, { 25, 0, { XK_w, XK_W, XK_w }}, { 26, 0, { XK_e, XK_E, XK_e }}, { 27, 0, { XK_r, XK_R, XK_r }}, { 28, 0, { XK_t, XK_T, XK_t }}, { 29, 0, { XK_y, XK_Y, XK_y }}, { 30, 0, { XK_u, XK_U, XK_u }}, { 31, 0, { XK_i, XK_I, XK_i }}, { 32, 0, { XK_o, XK_O, XK_section }}, { 33, 0, { XK_p, XK_P, XK_paragraph }}, { 34, 0, { XK_dead_circumflex, XK_dead_grave, XK_dead_diaeresis }}, { 35, 0, { XK_ccedilla, XK_Ccedilla, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S, XK_s }}, { 40, 0, { XK_d, XK_D, XK_d }}, { 41, 0, { XK_f, XK_F, XK_f }}, { 42, 0, { XK_g, XK_G, XK_g }}, { 43, 0, { XK_h, XK_H, XK_h }}, { 44, 0, { XK_j, XK_J, XK_j }}, { 45, 0, { XK_k, XK_K, XK_k }}, { 46, 0, { XK_l, XK_L, XK_l }}, { 47, 0, { XK_semicolon, XK_colon, XK_degree }}, { 48, 0, { XK_egrave, XK_Egrave }}, { 49, 0, { XK_slash, XK_backslash, XK_bar }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_agrave, XK_Agrave, XK_mu }}, { 52, 0, { XK_z, XK_Z, XK_guillemotleft }}, { 53, 0, { XK_x, XK_X, XK_guillemotright }}, { 54, 0, { XK_c, XK_C, XK_c }}, { 55, 0, { XK_v, XK_V, XK_v }}, { 56, 0, { XK_b, XK_B, XK_b }}, { 57, 0, { XK_n, XK_N, XK_ntilde, XK_Ntilde }}, { 58, 0, { XK_m, XK_M, XK_m }}, { 59, 0, { XK_comma, XK_apostrophe, XK_less }}, { 60, 0, { XK_period, XK_quotedbl, XK_greater }}, { 61, 0, { XK_eacute, XK_Eacute, XK_dead_acute }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, Mod5Mask, { XK_Mode_switch, 0x1007FF01 }}, { 79, 0, { XK_Home, XK_KP_7 }}, { 80, 0, { XK_Up, XK_KP_8 }}, { 81, 0, { XK_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_Left, XK_KP_4 }}, { 84, 0, { XK_dead_acute, XK_KP_5 }}, { 85, 0, { XK_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_End, XK_KP_1 }}, { 88, 0, { XK_Down, XK_KP_2 }}, { 89, 0, { XK_Next, XK_KP_3 }}, { 90, 0, { XK_Insert, XK_KP_0 }}, { 91, 0, { XK_Delete, XK_KP_Decimal }}, { 94, 0, { XK_ugrave, XK_Ugrave }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, 0, { XK_Multi_key, XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { 0 }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod5Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }}, { 115, 0, { XK_bracketleft, XK_bracketright }}, { 116, 0, { XK_braceleft, XK_less }}, { 117, 0, { XK_braceright, XK_greater }} }; xkeycaps-2.47/kbds/tp560-codes.h0000644000175000017500000000136710206731452014103 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the keycodes of the IBM ThinkPad 560 keyboard * Note: The "Fn" key apparently doesn't deliver events to the X server. */ static const KeyCode tp560_codes [] = { /* Row 0 */ 9, 111, 78, 110, 106, 97, 99, /* Row 1 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 107, 103, 105, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, /* Row 5 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, /* Row 6 */ 0, 37, 64, 65, 113, 109, 98, /* ROW 7 */ 100, 104, 102 }; xkeycaps-2.47/kbds/sun2-xc-map.h0000644000175000017500000000575210206731452014206 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 2 keyboard, * with X Consortium R4 and R5 servers. */ static const struct default_keycode_map sun2_xc_map [] = { { 8, 0, { XK_F11 }}, { 10, 0, { XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 15, 0, { XK_F3 }}, { 17, 0, { XK_F4 }}, { 19, 0, { XK_F5 }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, 0, { XK_Break }}, { 28, 0, { XK_F21 }}, { 29, 0, { XK_F22 }}, { 30, 0, { XK_F23 }}, { 32, 0, { XK_F13 }}, { 33, 0, { XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_F24 }}, { 53, 0, { XK_F25 }}, { 54, 0, { XK_F26 }}, { 56, 0, { XK_F15 }}, { 58, 0, { XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 75, 0, { XK_F27 }}, { 76, 0, { XK_Up, XK_F28 }}, { 77, 0, { XK_F29 }}, { 79, 0, { XK_F17 }}, { 80, 0, { XK_F18 }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 98, 0, { XK_Left, XK_F30 }}, { 99, 0, { XK_F31 }}, { 100, 0, { XK_Right, XK_F32 }}, { 102, 0, { XK_F19 }}, { 104, 0, { XK_F20 }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_R13 }}, { 120, 0, { XK_Down, XK_F34 }}, { 121, 0, { XK_F35 }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }} }; xkeycaps-2.47/kbds/rtsw-map.h0000644000175000017500000001132410206731452013676 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the default keymap of the IBM PC/RT keyboard, * Swedish layout. Generated by Torbj|rn Lindgren */ static const struct default_keycode_map rtsw_map [] = { { 7, 0, { XK_F1 }}, { 8, 0, { XK_Escape }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_onehalf, XK_section, XK_bar }}, { 15, 0, { XK_F2 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_less, XK_greater, XK_backslash }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_quotedbl, XK_at }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar, XK_currency }}, { 38, 0, { XK_3, XK_numbersign, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_ampersand }}, { 55, 0, { XK_F7 }}, { 57, Mod5Mask, { XK_Mode_switch }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_slash }}, { 62, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_semicolon }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_equal, XK_braceleft }}, { 70, 0, { XK_9, XK_parenright, XK_bracketright }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_colon }}, { 74, 0, { XK_minus, XK_underscore }}, { 75, 0, { XK_L }}, { 76, 0, { XK_bar, XK_backslash }}, { 77, 0, { XK_P }}, { 78, 0, { XK_plus, XK_question, XK_braceright }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_braceleft, XK_bracketleft }}, { 83, 0, { XK_apostrophe, XK_asterisk }}, { 84, 0, { XK_braceright, XK_bracketright }}, { 85, 0, { XK_apostrophe, XK_grave, XK_asciitilde }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Print }}, { 88, 0, { XK_Meta_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bar, XK_asciicircum }}, { 94, 0, { XK_F12 }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 98, 0, { XK_Pause }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace, XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Separator }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, 0, { XK_Num_Lock }}, { 119, 0, { XK_KP_Divide }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_KP_9 }}, { 126, 0, { XK_KP_Multiply }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/ncd123-caps.h0000644000175000017500000000434510206731452014047 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of the NCD123-UX keyboard. * By John Palmieri */ static const struct key_strings ncd123_caps [] = { /* Row 0 */ {"Help", 0}, {0, 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", "Sys Rq"}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, {"Mute", 0}, {"Vol Dn", 0}, {"Vol Up", 0}, {"Setup", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"~", "`", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Back ", "Space", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {0}, {0}, {0}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {0}, {"upArrow", 0}, {0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Caps Lock", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/tek200u-it-map.h0000644000175000017500000000675610206731452014520 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "italian" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_it_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_sterling, XK_1 }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_W }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_Z }}, { 38, 0, { XK_eacute, XK_2 }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_apostrophe, XK_4 }}, { 46, 0, { XK_quotedbl, XK_3 }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_parenleft, XK_5 }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_underscore, XK_6 }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_comma, XK_question }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_egrave, XK_7 }}, { 70, 0, { XK_asciicircum, XK_8 }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_semicolon, XK_period }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_agrave, XK_0 }}, { 78, 0, { XK_ccedilla, XK_9 }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_colon, XK_slash }}, { 82, 0, { XK_ograve, XK_exclam }}, { 83, 0, { XK_L }}, { 84, 0, { XK_M }}, { 85, 0, { XK_P }}, { 86, 0, { XK_parenright, XK_degree }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_ugrave, XK_percent }}, { 91, 0, { XK_asterisk, XK_section }}, { 92, 0, { XK_igrave, XK_equal }}, { 93, 0, { XK_minus, XK_plus }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_dollar, XK_ampersand }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/presario-codes.h0000644000175000017500000000153410206731452015045 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the keycodes of the Compaq Presario 1655 keyboard * on FreeBSD running the "Accelerated X" server from X Inside Inc. * By Hans Huebner * * Note: The "Fn" key apparently doesn't deliver events to the X server. */ static const KeyCode presario_codes [] = { /* Row 1 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 92, 78, 127, 129, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 135, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 119, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 134, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 130, /* Row 6 */ 0, 37, 120, 64, 94, 65, 131, 122, 121, 126, 128, /* ROW 7 */ 118, 93, 133 }; xkeycaps-2.47/kbds/lk421-geom.h0000644000175000017500000000562410206731452013714 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the DEC LK421 keyboard. * By Tom Ivar Helbekkmo * * The LK421 is really an LK401 that has been shrunk by removing the keypads, * and having them doubled on normal keys through the use of a new "Extend" * modifier that's local to the keyboard; it is not "visible" to the X clients. * * This file displays two images of the keyboard, the "normal" one on top, * and one containing only the "extended" keyboard at the bottom. This is * necessary because each key has two keycodes... */ static const struct key_geometry lk421_geom_row0 [] = { {1, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk421_geom_row1 [] = { {1, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {18, 7} }; static const struct key_geometry lk421_geom_row2 [] = { {1, 0}, {14, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk421_geom_row3 [] = { {18, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {17, 7} }; static const struct key_geometry lk421_geom_row4 [] = { {21, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {21, 7} }; static const struct key_geometry lk421_geom_row5 [] = { {8, 0}, {7, 7}, {14, 7}, {49, 7}, {14, 7}, {14, 7} }; static const struct key_geometry lk421_geom_row7 [] = { {1, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk421_geom_row8 [] = { {46, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk421_geom_row9 [] = { {50, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry lk421_geom_row10 [] = { {53, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 0}, {17, 7} }; static const struct key_geometry lk421_geom_row11 [] = { {56, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {21, 7} }; static const struct key_geometry lk421_geom_row12 [] = { {1, 0}, {7, 7}, {21, 0}, {49, 0} }; static const struct keyboard_row_geometry lk421_geom_rows [] = { ROW (lk421_geom_row0, 7), ROW (lk421_geom_row1, 7), ROW (lk421_geom_row2, 7), ROW (lk421_geom_row3, 7), ROW (lk421_geom_row4, 7), ROW (lk421_geom_row5, 7), EMPTYROW (7), ROW (lk421_geom_row7, 7), ROW (lk421_geom_row8, 7), ROW (lk421_geom_row9, 7), ROW (lk421_geom_row10, 7), ROW (lk421_geom_row11, 7), ROW (lk421_geom_row12, 7), }; static const struct keyboard_geometry lk421_geom = { sizeof (lk421_geom_rows) / sizeof (struct keyboard_row_geometry), lk421_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tek101-4-map.h0000644000175000017500000000712110206731452014045 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Tektronix XP20 keyboard, *_TEK_KEYBOARD_TYPE = "ibm101" (101-key North American Keyboard) * for X11R4. By Joe English . * * The default keymap changed between R4 and R5. The R4 bindings should work * on an R5 server, but the reverse does not hold: as of release 5, the * TekSetup function is invoked by any key bound to the (new) TekXK_Setup * keysym, whereas before it was invoked by a specific keycode. */ static const struct default_keycode_map tek101_4_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, LockMask, { XK_Caps_Lock }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, ControlMask, { XK_Control_L }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 65, Mod1Mask, { XK_Alt_R }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_less }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_greater }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Linefeed }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 100, 0, { XK_backslash, XK_bar }}, { 102, 0, { XK_F12 }}, { 103, 0, { XK_Break }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { XK_Hyper_R, XK_Pause }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_Num_Lock }}, { 127, 0, { XK_KP_Divide }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_9 }}, { 134, 0, { XK_KP_Multiply }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/rs6kde-caps.h0000644000175000017500000000377310206731452014257 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the IBM RS/6000 keyboard. * By Joerg Stippa */ static const struct key_strings rs6kde_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", "S-Abf", 0}, {"Rollen", "DownArrow", 0}, {"Pause", "Untbr", 0}, /* Row 2 */ {"\260", "^", 0}, {"!", "1", 0}, {"\"", "2", "\262"}, {"\247", "3", "\263"}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "\337", "\\"}, {"`", "\264", 0}, {"LeftArrow", 0}, {"Einfg", 0}, {"Pos1", 0}, {"Bild", "UpArrow", 0}, {"Num", "DownArrow", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"RightArrow", "LeftArrow", 0}, {"Q", 0, "@"}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+", "~"}, {"Enter", 0}, {"Entf", 0}, {"Ende", 0}, {"Bild", "DownArrow", 0}, {"7", "Pos1", 0}, {"8", "UpArrow", 0}, {"9", "Bild ^", 0}, {"+", 0}, /* Row 4 */ {"DownArrow", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"'", "#", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"UpArrow", 0}, {">", "<", "|"}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0, "\265"}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"UpArrow", 0}, {"UpArrow", 0}, {"1", "Ende", 0}, {"2", "DownArrow", 0}, {"3", "Bild v", 0}, {"Enter", 0}, /* Row 6 */ {"Strg", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Strg/Ausf", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Einfg", 0}, {",", "Entf", 0} }; xkeycaps-2.47/kbds/aviion300-map.h0000644000175000017500000000635410206731452014416 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the default keymap of the DG AViiON PC101 keyboard. * Generated by David Axmark */ static const struct default_keycode_map aviion300_map [] = { { 8, 0, { XK_F1 }}, { 9, 0, { XK_Escape }}, { 14, 0, { XK_Tab }}, { 15, 0, { XK_grave, XK_asciitilde }}, { 16, 0, { XK_F2 }}, { 18, ControlMask, { XK_Control_L }}, { 19, ShiftMask, { XK_Shift_L }}, { 21, LockMask, { XK_Caps_Lock }}, { 22, 0, { XK_Q }}, { 23, 0, { XK_1, XK_exclam }}, { 24, 0, { XK_F3 }}, { 26, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 27, 0, { XK_Z }}, { 28, 0, { XK_S }}, { 29, 0, { XK_A }}, { 30, 0, { XK_W }}, { 31, 0, { XK_2, XK_at }}, { 32, 0, { XK_F4 }}, { 34, 0, { XK_C }}, { 35, 0, { XK_X }}, { 36, 0, { XK_D }}, { 37, 0, { XK_E }}, { 38, 0, { XK_4, XK_dollar }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_F5 }}, { 42, 0, { XK_space }}, { 43, 0, { XK_V }}, { 44, 0, { XK_F }}, { 45, 0, { XK_T }}, { 46, 0, { XK_R }}, { 47, 0, { XK_5, XK_percent }}, { 48, 0, { XK_F6 }}, { 50, 0, { XK_N }}, { 51, 0, { XK_B }}, { 52, 0, { XK_H }}, { 53, 0, { XK_G }}, { 54, 0, { XK_Y }}, { 55, 0, { XK_6, XK_asciicircum }}, { 56, 0, { XK_F7 }}, { 58, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 59, 0, { XK_M }}, { 60, 0, { XK_J }}, { 61, 0, { XK_U }}, { 62, 0, { XK_7, XK_ampersand }}, { 63, 0, { XK_8, XK_asterisk }}, { 64, 0, { XK_F8 }}, { 66, 0, { XK_comma, XK_less }}, { 67, 0, { XK_K }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_0, XK_parenright }}, { 71, 0, { XK_9, XK_parenleft }}, { 72, 0, { XK_F9 }}, { 74, 0, { XK_period, XK_greater }}, { 75, 0, { XK_slash, XK_question }}, { 76, 0, { XK_L }}, { 77, 0, { XK_semicolon, XK_colon }}, { 78, 0, { XK_P }}, { 79, 0, { XK_minus, XK_underscore }}, { 80, 0, { XK_F10 }}, { 83, 0, { XK_apostrophe, XK_quotedbl }}, { 85, 0, { XK_bracketleft, XK_braceleft }}, { 86, 0, { XK_equal, XK_plus }}, { 87, 0, { XK_F11 }}, { 88, 0, { XK_Print }}, { 89, ControlMask, { XK_Control_R }}, { 90, ShiftMask, { XK_Shift_R }}, { 91, 0, { XK_Return }}, { 92, 0, { XK_bracketright, XK_braceright }}, { 93, 0, { XK_backslash, XK_bar }}, { 95, 0, { XK_F12 }}, { 96, 0, { XK_Scroll_Lock }}, { 97, 0, { XK_Down }}, { 98, 0, { XK_Left }}, { 99, 0, { XK_Pause }}, { 100, 0, { XK_Up }}, { 101, 0, { XK_Delete }}, { 102, 0, { XK_End }}, { 103, 0, { XK_BackSpace }}, { 104, 0, { XK_Insert }}, { 106, 0, { XK_KP_1 }}, { 107, 0, { XK_Right }}, { 108, 0, { XK_KP_4 }}, { 109, 0, { XK_KP_7 }}, { 110, 0, { XK_Next }}, { 111, 0, { XK_Home }}, { 112, 0, { XK_Prior }}, { 113, 0, { XK_KP_0 }}, { 114, 0, { XK_KP_Decimal }}, { 115, 0, { XK_KP_2 }}, { 116, 0, { XK_KP_5 }}, { 117, 0, { XK_KP_6 }}, { 118, 0, { XK_KP_8 }}, { 119, 0, { XK_Num_Lock }}, { 120, 0, { XK_KP_Divide }}, { 122, 0, { XK_KP_Enter }}, { 123, 0, { XK_KP_3 }}, { 125, 0, { XK_KP_Add }}, { 126, 0, { XK_KP_9 }}, { 127, 0, { XK_KP_Multiply }}, { 133, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/lk401-codes.h0000644000175000017500000000047710206731452014061 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the DEC LK401 keyboard, via kludgy * conditionalizations in lk201-codes.h (since the two keyboards differ * only in the last row.) */ #define LK401_KLUDGE #include "lk201-codes.h" #undef LK401_KLUDGE xkeycaps-2.47/kbds/xmint-geom.h0000644000175000017500000000331710206731452014213 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the physical layout of the Takaoka Xmint X Terminal. * By Christian Goetze */ static const struct key_geometry xmint_geom_row0 [] = { {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10} }; static const struct key_geometry xmint_geom_row2 [] = { {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10} }; static const struct key_geometry xmint_geom_row3 [] = { {14, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {16, 10}, }; static const struct key_geometry xmint_geom_row4 [] = { {18, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {22, 10} }; static const struct key_geometry xmint_geom_row5 [] = { {22, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {18, 10}, {10, 10} }; static const struct key_geometry xmint_geom_row6 [] = { {15, 10}, {15, 10}, {15, 10}, {60, 10}, {15, 10}, {15, 10}, {15, 10} }; static const struct keyboard_row_geometry xmint_geom_rows [] = { ROW (xmint_geom_row0, 10), EMPTYROW (3), ROW (xmint_geom_row2, 10), ROW (xmint_geom_row3, 10), ROW (xmint_geom_row4, 10), ROW (xmint_geom_row5, 10), ROW (xmint_geom_row6, 10), }; static const struct keyboard_geometry xmint_geom = { sizeof (xmint_geom_rows) / sizeof (struct keyboard_row_geometry), xmint_geom_rows, 6, 4, 4 }; xkeycaps-2.47/kbds/tekxn10-sf-codes.h0000644000175000017500000000155110206731452015120 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the keycodes of the * Swedish Tektronix XN10/XN11 keyboard. * By Kristian Ejvind (Kristian.Ejvind@sth.frontec.se) */ static const KeyCode tekxn10_sf_codes [] = { /* Row 0 */ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, /* Row 2 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 88, 89, 90, 70, 71, 72, 73, /* Row 3 */ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 91, 92, 93, 74, 75, 76, 77, /* Row 4 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 115, 78, 79, 80, 81, /* Row 5 */ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 116, 114, 82, 83, 84, 87, /* Row 6 */ 67, 68, 69, 117, 85, 86 }; xkeycaps-2.47/kbds/teksun4-codes.h0000644000175000017500000000157110206731452014617 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keycodes of the Tektroknix X terminal * with a Sun4-style keyboard. * By Robert Zwickenpflug */ static const KeyCode teksun4_codes [] = { /* Row 0 */ 10, 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, 89, 100, 95, 103, 101, 126, /* Row 1 */ 11, 48, 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 131, 111, 127, 134, 12, /* Row 2 */ 9, 80, 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 98, 116, 125, 133, 132, /* Row 3 */ 13, 112, 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 110, 115, 123, 124, /* Row 4 */ 14, 17, 26, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 27, 97, 113, 122, 130, 129, /* Row 5 */ 24, 25, 96, 33, 49, 65, 40, 56, 120, 121 }; xkeycaps-2.47/kbds/ms104-caps.h0000644000175000017500000000404310206731452013714 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of the Microsoft "Natural" keyboard (part 58221). It's pretty much the same as pc101-caps.h, except for the additional modifier keys in the bottom row. */ static const struct key_strings ms104_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", "Help"}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Scrn", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/nws1250-map.h0000644000175000017500000000755110206731452014025 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the SONY NWS1250 keyboard. * Generated by Pavel Rosendorf on * NEWS-OS Release 4.1C #0: Fri Jul 5 14:06:49 JST 1991, X11R4. * * The blank key between "?" and "Shift_R" is physically disabled (you have to * open up the keyboard and remove a piece of plastic to enable it) but once * you do that it generates keycode 72. * * The blank key between "Alt" and "Caps" is also physically disabled, and is * rather strange once you enable it: it generates the keycodes 79 and 80 * alternately; that is, it will generate the sequence * 79 KeyPress, 79 KeyRelease, 80 KeyPress, 80 KeyRelease * if pressed and released twice. */ static const struct default_keycode_map nws1250_map [] = { { 8, 0, { XK_F1, XK_F11 }}, { 9, 0, { XK_F2, XK_F12 }}, { 10, 0, { XK_F3, XK_F13 }}, { 11, 0, { XK_F4, XK_F14 }}, { 12, 0, { XK_F5, XK_F15 }}, { 13, 0, { XK_F6, XK_F16 }}, { 14, 0, { XK_F7, XK_F17 }}, { 15, 0, { XK_F8, XK_F18 }}, { 16, 0, { XK_F9, XK_F19 }}, { 17, 0, { XK_F10, XK_F20 }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_1, XK_exclam }}, { 20, 0, { XK_2, XK_at }}, { 21, 0, { XK_3, XK_numbersign }}, { 22, 0, { XK_4, XK_dollar }}, { 23, 0, { XK_5, XK_percent }}, { 24, 0, { XK_6, XK_asciicircum }}, { 25, 0, { XK_7, XK_ampersand }}, { 26, 0, { XK_8, XK_asterisk }}, { 27, 0, { XK_9, XK_parenleft }}, { 28, 0, { XK_0, XK_parenright }}, { 29, 0, { XK_minus, XK_underscore }}, { 30, 0, { XK_equal, XK_plus }}, { 31, 0, { XK_backslash, XK_bar }}, { 32, 0, { XK_BackSpace }}, { 33, 0, { XK_Tab }}, { 34, 0, { XK_q, XK_Q }}, { 35, 0, { XK_w, XK_W }}, { 36, 0, { XK_e, XK_E }}, { 37, 0, { XK_r, XK_R }}, { 38, 0, { XK_t, XK_T }}, { 39, 0, { XK_y, XK_Y }}, { 40, 0, { XK_u, XK_U }}, { 41, 0, { XK_i, XK_I }}, { 42, 0, { XK_o, XK_O }}, { 43, 0, { XK_p, XK_P }}, { 44, 0, { XK_bracketleft, XK_braceleft }}, { 45, 0, { XK_bracketright, XK_braceright }}, { 46, 0, { XK_Delete, XK_Insert }}, { 47, ControlMask, { XK_Control_L }}, { 48, 0, { XK_a, XK_A }}, { 49, 0, { XK_s, XK_S }}, { 50, 0, { XK_d, XK_D }}, { 51, 0, { XK_f, XK_F }}, { 52, 0, { XK_g, XK_G }}, { 53, 0, { XK_h, XK_H }}, { 54, 0, { XK_j, XK_J }}, { 55, 0, { XK_k, XK_K }}, { 56, 0, { XK_l, XK_L }}, { 57, 0, { XK_semicolon, XK_colon }}, { 58, 0, { XK_apostrophe, XK_quotedbl }}, { 59, 0, { XK_grave, XK_asciitilde }}, { 60, 0, { XK_Return }}, { 61, ShiftMask, { XK_Shift_L }}, { 62, 0, { XK_z, XK_Z }}, { 63, 0, { XK_x, XK_X }}, { 64, 0, { XK_c, XK_C }}, { 65, 0, { XK_v, XK_V }}, { 66, 0, { XK_b, XK_B }}, { 67, 0, { XK_n, XK_N }}, { 68, 0, { XK_m, XK_M }}, { 69, 0, { XK_comma, XK_less }}, { 70, 0, { XK_period, XK_greater }}, { 71, 0, { XK_slash, XK_question }}, { 72, 0, { XK_Menu }}, { 73, ShiftMask, { XK_Shift_R }}, { 74, Mod1Mask, { XK_Alt_L }}, { 75, LockMask, { XK_Caps_Lock }}, { 76, 0, { XK_Multi_key }}, { 77, 0, { XK_space }}, { 78, 0, { XK_Select }}, { 79, Mod5Mask, { XK_Mode_switch }}, { 80, Mod5Mask, { XK_Mode_switch }}, { 81, 0, { XK_Execute }}, { 82, 0, { XK_KP_7 }}, { 83, 0, { XK_KP_8 }}, { 84, 0, { XK_KP_9 }}, { 85, 0, { XK_KP_Subtract, XK_KP_Divide }}, { 86, 0, { XK_KP_4 }}, { 87, 0, { XK_KP_5 }}, { 88, 0, { XK_KP_6 }}, { 89, 0, { XK_KP_Add, XK_KP_Multiply }}, { 90, 0, { XK_KP_1 }}, { 91, 0, { XK_KP_2 }}, { 92, 0, { XK_KP_3 }}, { 93, 0, { XK_KP_Separator, XK_KP_Equal }}, { 94, 0, { XK_KP_0 }}, { 95, 0, { XK_Up }}, { 96, 0, { XK_KP_Decimal }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left }}, { 99, 0, { XK_Down }}, { 100, 0, { XK_Right }} }; xkeycaps-2.47/kbds/sn-map.h0000644000175000017500000001032010206731452013312 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of a generic 102 key PC keyboard * from Siemens/Nixdorf. By Edwin Klement */ #ifndef XK_Sys_Req # define XK_Sys_Req 0xFF15 #endif static const struct default_keycode_map sn_map [] = { /* Row 0 */ { 8, 0, { XK_Escape }}, { 68, 0, { XK_F1 }}, { 69, 0, { XK_F2 }}, { 70, 0, { XK_F3 }}, { 71, 0, { XK_F4 }}, { 72, 0, { XK_F5 }}, { 73, 0, { XK_F6 }}, { 74, 0, { XK_F7 }}, { 75, 0, { XK_F8 }}, { 76, 0, { XK_F9 }}, { 77, 0, { XK_F10 }}, { 78, 0, { XK_F11 }}, { 79, 0, { XK_F12 }}, /* What is Druck / S-Abf ? */ { 120, 0, { XK_Print, XK_Sys_Req }}, { 90, 0, { XK_Scroll_Lock }}, { 91, 0, { XK_Pause }}, /* Row 2 */ { 127, 0, { XK_asciicircum }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 12, 0, { XK_3, XK_section, XK_threesuperior }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, XK_braceright }}, { 20, 0, { XK_ssharp, XK_question, XK_backslash }}, { 125, 0, { XK_acute, XK_eacute }}, { 22, 0, { XK_BackSpace }}, { 80, 0, { XK_Insert }}, { 81, 0, { XK_Home }}, { 82, 0, { XK_Prior }}, { 92, 0, { XK_Num_Lock }}, { 93, 0, { XK_KP_Divide }}, { 94, 0, { XK_KP_Multiply }}, { 95, 0, { XK_KP_Subtract }}, /* Row 3 */ { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at }}, { 25, 0, { XK_W }}, { 26, 0, { XK_E }}, { 27, 0, { XK_R }}, { 28, 0, { XK_T }}, { 29, 0, { XK_Z }}, { 30, 0, { XK_U }}, { 31, 0, { XK_I }}, { 32, 0, { XK_O }}, { 33, 0, { XK_P }}, { 34, 0, { XK_Udiaeresis }}, { 35, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 49, 0, { XK_Return }}, { 83, 0, { XK_Delete }}, { 84, 0, { XK_End }}, { 85, 0, { XK_Next }}, { 96, 0, { XK_Home, XK_KP_7, XK_KP_7, XK_Home }}, { 97, 0, { XK_Up, XK_KP_8, XK_KP_8, XK_KP_8, XK_Up }}, { 98, 0, { XK_Prior, XK_KP_9, XK_KP_9, XK_Prior }}, { 107, 0, { XK_KP_Add }}, /* Row 4 */ { 36, LockMask, { XK_Caps_Lock }}, { 37, 0, { XK_A }}, { 38, 0, { XK_S }}, { 39, 0, { XK_D }}, { 40, 0, { XK_F }}, { 41, 0, { XK_G }}, { 42, 0, { XK_H }}, { 43, 0, { XK_J }}, { 44, 0, { XK_K }}, { 45, 0, { XK_L }}, { 46, 0, { XK_Odiaeresis }}, { 47, 0, { XK_Adiaeresis }}, { 48, 0, { XK_numbersign, XK_apostrophe }}, { 99, 0, { XK_Left, XK_KP_4, XK_KP_4, XK_Left }}, { 100, 0, { XK_Begin, XK_KP_5, XK_KP_5, XK_Begin }}, { 101, 0, { XK_Right, XK_KP_6, XK_KP_6, XK_Right }}, /* Row 5 */ { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_less, XK_greater, XK_bar }}, { 52, 0, { XK_Y }}, { 53, 0, { XK_X }}, { 54, 0, { XK_C }}, { 55, 0, { XK_V }}, { 56, 0, { XK_B }}, { 57, 0, { XK_N }}, { 58, 0, { XK_m, XK_M, XK_mu }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 89, 0, { XK_Up }}, { 102, 0, { XK_End, XK_KP_1, XK_KP_1, XK_End }}, { 103, 0, { XK_Down, XK_KP_2, XK_KP_2, XK_Down }}, { 104, 0, { XK_Next, XK_KP_3, XK_KP_3, XK_Next }}, { 108, 0, { XK_KP_Enter }}, /* Row 6 */ { 63, ControlMask, { XK_Control_L }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 67, 0, { XK_space }}, { 66, 0, { XK_Mode_switch }}, { 65, ControlMask, { XK_Control_R }}, { 86, 0, { XK_Left }}, { 87, 0, { XK_Down }}, { 88, 0, { XK_Right }}, { 105, 0, { XK_Insert, XK_KP_0, XK_KP_0, XK_Insert }}, { 106, 0, { XK_Delete, XK_KP_Decimal, XK_KP_Decimal, XK_Delete }}, /* with Numlock */ { 128, 0, { XK_KP_0 }}, { 129, 0, { XK_KP_1 }}, { 130, 0, { XK_KP_2 }}, { 131, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_4 }}, { 133, 0, { XK_KP_5 }}, { 134, 0, { XK_KP_6 }}, { 135, 0, { XK_KP_7 }}, { 136, 0, { XK_KP_8 }}, { 137, 0, { XK_KP_9 }}, { 138, 0, { XK_KP_Decimal }} }; xkeycaps-2.47/kbds/ms104-sgi5-codes.h0000644000175000017500000000165410206731452014735 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Microsoft "Natural" keyboard * (part 58221) with SGI IRIX 5.2. It is basically the same as sgi5-codes.h, * except for the addition of the three extra keys in the bottom row. */ static const KeyCode ms104_sgi5_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, 95, 103, 106, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 111, 118, 119, 126, 127, 134, 140, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 100, 108, 109, 117, 116, 125, 133, 132, /* Row 4 */ 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 98, 115, 123, 124, /* Row 5 */ 26, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 107, 113, 122, 130, 129, /* Row 6 */ 25, 147, 33, 49, 65, 148, 149, 96, 105, 104, 114, 120, 121 }; xkeycaps-2.47/kbds/xoft2-codes.h0000644000175000017500000000265110206731452014264 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * AGE and IBM have conspired to confuse us all. * * AGE XoftWare 2.0 is a PC software product, and therefore works with a * variety of PC keyboards. It comes with the vendor id "AGE Logic, Inc." * * The IBM Xstation 130 X terminal is an IBM hardware product, which comes * with "X Station Manager Software 1.4" which is in fact made by AGE. It * has the vendor id "AGE Logic, Inc. Release 090493". It has a different * default keymap than the PC software, though it comes with a PC101 keyboard. * This is apparently so that the IBM product ends up with the same default * keymap (and keycaps) as the IBM RS6K keyboards. * * This file describes the default R5 keycodes of the AGE PC software product. * By Dan R. Greening . */ static const KeyCode xoft2_codes [] = { /* Row 0 */ 35, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 153, 27, /* Row 2 */ 200, 57, 58, 59, 60, 61, 62, 63, 64, 65, 56, 197, 195, 16, 53, 44, 41, 152, 119, 114, 117, /* Row 3 */ 17, 89, 95, 77, 90, 92, 97, 93, 81, 87, 88, 227, 229, 228, 54, 43, 42, 111, 112, 113, 115, /* Row 4 */ 28, 73, 91, 76, 78, 79, 80, 82, 83, 84, 194, 230, 21, 108, 109, 110, /* Row 5 */ 24, 98, 96, 75, 94, 74, 86, 85, 196, 198, 199, 13, 46, 105, 106, 107, 21, /* Row 6 */ 25, 18, 40, 15, 14, 45, 48, 47, 104, 118 }; xkeycaps-2.47/kbds/gw2k-caps.h0000644000175000017500000000755610206731452013736 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the key surfaces of Gateway 2000 * AnyKey programmable PC keyboard. * By Jarrod Smith * * Important notes about this keyboard: * * In order for all the keysyms to work properly, the programmable ROM * inside the keyboard may need to be reset to factory default by pressing * -- * even if you have NEVER programmed anything into the keyboard! If you * have programmed macros in that you don't want to lose, you should be * able to save them by using the DOS utility that came with the keyboard * BEFORE you reset the ROM. * * I couldn't get xmodmap to get the BackSpace keysym working right for my * keyboard until I did this. It would let me change the keysym for my * backspace key from Delete to BackSpace which is what I wanted it to do, * but I have no clue what the BackSpace keysym was doing! Certainly not * Backspacing!!! It worked on the command-line, but in some X apps it * would give me the <+/-> character, and in others, nothing... weird. * * Also, there are four diagonal cursor keys on this keyboard (up-left, * up-right, down-left, down-right) which each generate two keycodes per * keypress event. I didn't know what to do about this in the * gw2k-codes.h file, so I just put in the first keycode that gets * generated (see the comments in row4 and row6 in that file). Also, I * didn't know what to put in the gw2k-caps.h file since there are no * diagonal arrow keycaps to put on the keys, so again, I put the keycap * that corresponds to the first keycode generated (I tried putting both * on, but it looked funny to me) and "shifted" the arrows to differentiate * them from the normal up and down keys. */ static const struct key_strings gw2k_caps [] = { /* Row 0 */ {"F11", 0}, {"F12", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Program", "Macro", 0}, {"Suspnd", "Macro", 0}, {"Repeat", "Rate", 0}, {"Remap", 0}, /* Row 2 */ {"F1", 0}, {"F2", 0}, {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"Back", "Space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"F3", 0}, {"F4", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0 }, {"}", "]", 0 }, {"Enter", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"F5", 0}, {"F6", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {" ", "UpArrow", 0}, {"UpArrow", 0}, {" ", "UpArrow", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"F7", 0}, {"F8", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"LeftArrow", 0}, {" ", 0}, {"RightArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"F9", 0}, {"F10", 0}, {"Ctrl", 0}, {"*", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"|", "\\"}, {"Ctrl", 0}, {"DownArrow", 0}, {" ", "DownArrow", 0}, {"DownArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pc107br-caps.h0000644000175000017500000000410710206731452014227 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of a Brazilian ABNT2 107 key PC * keyboard. This is based on file "pc101-caps.h". * By Andre Gerhard - 05/12/98 */ static const struct key_strings pc107br_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"\"", "'", 0}, {"!", "1 \271", 0}, {"@", "2 \262", 0}, {"#", "3 \263", 0}, {"$", "4 \243", 0}, {"%", "5 \242", 0}, {"\250", "6 \254", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "= \247", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"`", "'", 0}, {"{", "[ \252", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\307", 0}, {"^", "~", 0}, {"}", "] \272", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, {".", 0}, /* Row 5 */ {"Shift", 0}, {"|", "\\", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {":", ";", 0}, {"?", "/ \260", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/gvc-caps.h0000644000175000017500000000412310206731452013626 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1997 Jamie Zawinski * * This file describes the keys on the GVC laptops with a Win '95 keyboard * (at least I think they use the same keyboard for all models). These * laptops are sold in the U.S. by ARM (and everybody that sells ARM * notebooks). I used a ARMNOTE 753CD to generate these files... * * I omitted the Strings on some keys that correspond to hardware control * functions (in connection with the Fn-key) such as suspend/resume (S/R) or * LCD/CRT switching, since there are no keycodes for these keys * * done by R.Back . */ static const struct key_strings gvc_caps [] = { /* Row 1 */ {"Esc",0,0}, {"F1",0,0}, {"F2",0,0}, {"F3",0,0}, {"F4",0,0}, {"F5",0,0}, {"F6",0,0}, {"F7",0,0}, {"F8",0,0}, {"F9",0,0}, {"F10",0,0}, {"F11",0,0}, {"F12",0,0}, {"Num","Pad",0}, {"PrtSc","SysRq",0}, {"Scroll","Lock",0}, {"Pause","Break",0}, /* Row 2 */ {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", "7"}, {"*", "8", "8"}, {"(", "9", "9"}, {")", "0", "*"}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0, 0}, {"~", "`", 0}, /* Row 3 */ {"Tab",0,0}, {"Q", 0, 0}, {"W", 0, 0}, {"E", 0, 0}, {"R", 0, 0}, {"T", 0, 0}, {"Y", 0, 0}, {"U",0, "4"}, {"I", 0, "5"}, {"O", 0, "6"}, {"P", 0, "-"}, {"{", "[" }, {"}", "]" }, {"|","\\" }, {"Home", " End", 0}, /* Row 4 */ {"Caps", "Lock",0}, {"A", 0, 0}, {"S", 0, 0}, {"D", 0, 0}, {"F", 0, 0}, {"G", 0, 0}, {"H", 0, 0}, {"J", 0, "1"}, {"K", 0, "2"}, {"L", 0, "3"}, {":", ";", "+"}, {"\"", "'", 0}, {"Enter", 0, 0}, {"Ins", 0, 0}, /* Row 5 */ {"Shift", 0 ,0}, {"Z", 0, 0}, {"X", 0, 0}, {"C", 0, 0}, {"V", 0, 0}, {"B", 0, 0}, {"N", 0, 0}, {"M", 0, "0"}, {"<", ",", 0}, {">", ".", "/"}, {"?", "/", "/"}, {"Shift", 0, 0}, {"UpArrow", " PgUp", 0}, {"Del",0,0}, /* Row 6 */ {"Fn", 0, 0}, {"Ctrl", 0, 0}, {"Alt", 0, 0}, {"Win", 0, 0}, {"|", "\\", 0}, {" ", 0, 0}, {"Menu", 0, 0}, {"Alt", 0, 0}, {"Ctrl", 0, 0}, {"LeftArrow", " Home"}, {"DownArrow", " PgDn", 0}, {"RightArrow", " End", 0} }; xkeycaps-2.47/kbds/all-kbds.h0000644000175000017500000014363410356066337013640 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 * Jamie Zawinski * Copyright (c) 2005, 2006 Christoph Berg * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ /*************************************************************************** * * * * * WARNING!! * * WARNING!! * * WARNING!! * * * * * * Do not edit this file without having read `../defining.txt' first! * * * * * * Please send any changes you make to . * * But do carefully follow the instructions... * * * * * * * * * ***************************************************************************/ #ifdef KBD KBD ("pck301", "Adesso", "Adesso PCK-301 (XFree86; US)", 0, &pck301_geom, pck301_caps, pck301_codes, xfree86us_map), #else # include "pck301-geom.h" # include "pck301-caps.h" # include "pck301-codes.h" #endif #ifdef KBD KBD ("Amiga", "Amiga", "Non-A1000 (German)", 0, &amiga96_geom, amiga_de_caps, amiga_codes, amiga_de_map), #else # include "amiga96-geom.h" # include "amiga-de-caps.h" # include "amiga-codes.h" # include "amiga-de-map.h" #endif #ifdef KBD KBD ("Mac", "Apple", "Extended II (MacX; US)", "MacX", &mac_geom, mac_caps, mac_codes, mac_map), #else # include "mac-geom.h" # include "mac-caps.h" # include "mac-codes.h" # include "mac-map.h" #endif #ifdef KBD KBD ("MkLinux-US", "Apple", "Extended II (MkLinux; US)", "X Consortium", &macext2_geom, mac_mklinux_us_caps, macext2_codes, mac_mklinux_map), #else # include "macext2-geom.h" # include "mklinux-us-caps.h" # include "macext2-codes.h" /* # include "mac-map.h" */ #endif #ifdef KBD KBD ("MkLinux-de", "Apple", "Extended II (MkLinux; German)", 0, &mac_geom, mac_mklinux_de_caps, mac_mklinux_codes, mac_mklinux_map), #else # include "mklinux-codes.h" # include "mklinux-map.h" # include "mklinux-de-caps.h" #endif #ifdef KBD KBD ("MacADB", "Apple", "Standard ADB (NetBSD; US)", 0, &macstd_geom, macstd_caps, macstd_codes, macstd_map), #else # include "macstd-geom.h" # include "macstd-caps.h" # include "macstd-codes.h" # include "macstd-map.h" #endif #ifdef KBD KBD ("TT", "Atari", "TT (US)", 0, &tt_geom, tt_caps, tt_codes, tt_map), #else # include "tt-geom.h" # include "tt-caps.h" # include "tt-codes.h" # include "tt-map.h" #endif #ifdef KBD KBD ("Presario", "Compaq", "Presario 1655 (XInside; US)", 0, &presario_geom, presario_caps, presario_codes, xinside_map), #else # include "presario-geom.h" # include "presario-caps.h" # include "presario-codes.h" #endif #ifdef KBD KBD ("GA5k", "Concurrent", "GA5000 (US)", "CONCURRENT-ga5000", &pc101_geom, ga5k_caps, ga5k_codes, ga5k_map), #else # include "ga5k-caps.h" # include "ga5k-codes.h" # include "ga5k-map.h" #endif #ifdef KBD KBD ("Cramer", "Cramer", "106 key Interfaces (XFree86; US)", 0, &cramer_geom, cramer_caps, cramer_codes, xfree86us_map), #else # include "cramer-geom.h" # include "cramer-caps.h" # include "cramer-codes.h" # include "xfree86us-map.h" #endif #ifdef KBD KBD ("CramerSGI", "Cramer", "106 key Interfaces (Irix 5.2, 6.3; US)", 0, &cramer_geom, cramer_caps, cramer_sgi_codes, sgi5_r5_map), #else # include "cramer-sgi-codes.h" #endif #ifdef KBD KBD ("AViiON", "Data General", "AViiON 300 PC (US)", 0, &pc101_geom, pc101_caps, aviion300_codes, aviion300_map), #else # include "aviion300-codes.h" # include "aviion300-map.h" #endif #ifdef KBD KBD ("LK201", "Digital", "LK201 (US)", "Digital Equipment Corporation", &lk201_geom, lk201_caps, lk201_codes, lk201_map), #else # include "lk201-geom.h" # include "lk201-caps.h" # include "lk201-codes.h" # include "lk201-map.h" #endif #ifdef KBD KBD ("LK401", "Digital", "LK401 (US)", "DECWINDOWS Digital", &lk401_geom, lk401_caps, lk401_codes, lk401_map), #else # include "lk401-caps.h" # include "lk401-codes.h" # include "lk401-map.h" #endif #ifdef KBD KBD ("LK401SF", "Digital", "LK401 (Swedish TTY)", 0, &lk401_geom, lk401sf_caps, lk401_codes, lk401sf_map), #else # include "lk401sf-caps.h" # include "lk401sf-map.h" #endif #ifdef KBD KBD ("LK401SFDP", "Digital", "LK401 (Swedish DP)", 0, &lk401_geom, lk401sf_caps, lk401_codes, lk401sfdp_map), #else # include "lk401sfdp-map.h" #endif #ifdef KBD KBD ("LK421", "Digital", "LK421 (US)", 0, &lk421_geom, lk421_caps, lk421_codes, lk401_map), #else # include "lk421-geom.h" # include "lk421-caps.h" # include "lk421-codes.h" #endif #ifdef KBD KBD ("LK450", "Digital", "LK450 (XFree86)", 0, &lk401_geom, lk450_caps, lk450_codes, lk450_map), #else # include "lk450-caps.h" # include "lk450-codes.h" # include "lk450-map.h" #endif #ifdef KBD KBD ("PCXAL", "Digital", "PCXAL (US)", 0, &pc101_geom, pc101_caps, pcxal_codes, pcxal_map), #else # include "pcxal-codes.h" # include "pcxal-map.h" #endif #ifdef KBD KBD ("PCXAL-R6", "Digital", "PCXAL (XFree86; US)", 0, &pc101_geom, pc101_caps, pcxal_r6_codes, pcxal_r6_map), #else # include "pcxal-r6-codes.h" # include "pcxal-r6-map.h" #endif #ifdef KBD KBD ("GW2K", "Gateway 2000", "AnyKey Keyboard (XFree86; US)", 0, &gw2k_geom, gw2k_caps, gw2k_codes, gw2k_map), #else # include "gw2k-geom.h" # include "gw2k-caps.h" # include "gw2k-codes.h" # include "gw2k-map.h" #endif #ifdef KBD KBD ("GVC", "GVC/ARM", "Concorde 105 key (XFree86; US)", 0, &gvc_geom, gvc_caps, gvc_codes, gvc_map), #else # include "gvc-geom.h" # include "gvc-caps.h" # include "gvc-codes.h" # include "gvc-map.h" #endif #ifdef KBD KBD ("HP-ITF", "Hewlett-Packard", "HP9000 ITF HIL (US)", "Hewlett-Packard Company", &hpitf_geom, hpitf_caps, hpitf_codes, hpitf_map), #else # include "hpitf-geom.h" # include "hpitf-caps.h" # include "hpitf-codes.h" # include "hpitf-map.h" #endif #ifdef KBD KBD ("HP-ITF-GERMAN", "Hewlett-Packard", "HP9000 ITF HIL (German)", 0, &hpitf_geom, hpitfde_caps, hpitf_codes, hpitfde_map), #else # include "hpitfde-caps.h" # include "hpitfde-map.h" #endif #ifdef KBD KBD ("HP-ITF-FINNISH", "Hewlett-Packard", "HP9000 ITF HIL (Finnish)", 0, &hpitf_geom, hpitffi_caps, hpitf_codes, hpitfsf_map), #else # include "hpitfsf-caps.h" # include "hpitfsf-map.h" #endif #ifdef KBD KBD ("HP-ITF-SWEDISH", "Hewlett-Packard", "HP9000 ITF HIL (Swedish)", 0, &hpitf_geom, hpitfsv_caps, hpitf_codes, hpitfsf_map), #else # include "hpitffi-caps.h" #endif #ifdef KBD KBD ("HP4032X", "Hewlett-Packard", "Aptrex Terminal (USASCII)", 0, &hp4032x_geom, sun5pc_caps, hp4032x_codes, hp4032x_map), #else # include "hp4032x-geom.h" # include "hp4032x-codes.h" # include "hp4032x-map.h" #endif #ifdef KBD KBD ("HP700RX", "Hewlett-Packard", "700/RX Terminal (101 key; US)", 0, &pc101_geom, pc101_caps, hp700rx_codes, hp700rx_map), #else # include "hp700rx-codes.h" # include "hp700rx-map.h" #endif #ifdef KBD KBD ("HP700RXUK", "Hewlett-Packard", "700/RX Terminal (102 key; United Kingdom)", 0, &pc102_geom, hppcuk_caps, hppcuk700rx_codes, hppcuk700rx_map), #else # include "hppcuk700rx-codes.h" # include "hppcuk700rx-map.h" #endif #ifdef KBD KBD ("HP700RXSF", "Hewlett-Packard", "700/RX Terminal (102 key; Swedish/Finnish)", 0, &pc102_geom, pc102sf_caps, hppcuk700rx_codes, hppcsf700rx_map), #else # include "hppcsf700rx-map.h" #endif #ifdef KBD KBD ("HP-PS2_DIN_US_English", "Hewlett-Packard", "HP9000 PS2 DIN (US)", 0, &pc101_geom, pc101_caps, hp700rx_codes, hpps2din_us_map), #else # include "hpps2din_us-map.h" #endif #ifdef KBD KBD ("HP-PS2_DIN_German", "Hewlett-Packard", "HP9000 PS2 DIN (German)", 0, &pc102_geom, pc102de_caps, hppcuk700rx_codes, hpps2din_de_map), #else # include "hpps2din_de-map.h" #endif #ifdef KBD KBD ("Apollo", "Hewlett-Packard", "Apollo (US)", "Apollo Computer Inc", &apollo_geom, apollo_caps, apollo_codes, apollo_map), #else # include "apollo-geom.h" # include "apollo-caps.h" # include "apollo-codes.h" # include "apollo-map.h" #endif #ifdef KBD KBD ("RT", "IBM", "PC/RT (US)", 0, &pc101_geom, rt_caps, rt_codes, rt_map), #else # include "rt-caps.h" # include "rt-codes.h" # include "rt-map.h" #endif #ifdef KBD KBD ("RTSW", "IBM", "PC/RT 102 (Swedish 7-bit)", 0, &pc102_geom, rtsw_caps, rtsw_codes, rtsw_map), #else # include "rtsw-caps.h" # include "rtsw-codes.h" # include "rtsw-map.h" #endif #ifdef KBD KBD ("RTSW8", "IBM", "PC/RT 102 (Swedish 8-bit)", 0, &pc102_geom, rtsw_caps, rtsw_codes, rtsw8_map), #else # include "rtsw8-map.h" #endif #ifdef KBD KBD ("RS6k", "IBM", "RS/6000 (AIXWindows R4; US)", "International Business Machines", &pc101_geom, rs6k_caps, rs6k_codes, rs6k_aix_map), #else # include "rs6k-caps.h" # include "rs6k-codes.h" # include "rs6k-aix-map.h" #endif #ifdef KBD KBD ("RS6kDE", "IBM", "RS/6000 (AIXWindows R4; German)", 0, &pc102_geom, rs6kde_caps, rs6kde_codes, rs6kde_aix_map), #else # include "rs6kde-caps.h" # include "rs6kde-codes.h" # include "rs6kde-aix-map.h" #endif #ifdef KBD KBD ("RS6k-XC", "IBM", "RS/6000 (X11R5; US)", 0, &pc101_geom, rs6k_caps, rs6k_codes, rs6k_xc_map), #else # include "rs6k-xc-map.h" #endif #ifdef KBD KBD ("TP560es", "IBM", "ThinkPad 560 (XFree86; Spanish)", 0, &tp560_geom, tp560es_caps, tp560_codes, xfree86es_map), #else # include "tp560-geom.h" # include "tp560es-caps.h" # include "tp560-codes.h" #endif #ifdef KBD KBD ("TP770", "IBM", "ThinkPad 770 (XFree86; US)", 0, &tp770_geom, tp770_caps, tp770_codes, xfree86us_map), #else # include "tp770-geom.h" # include "tp770-caps.h" # include "tp770-codes.h" #endif #ifdef KBD KBD ("Kinesis", "Kinesis", "120 key (XFree86; US)", 0, &kinesis_geom, kinesis_caps, kinesis_codes, xfree86us_map), #else # include "kinesis-geom.h" # include "kinesis-caps.h" # include "kinesis-codes.h" #endif #ifdef KBD KBD ("KinesisSIC", "Kinesis", "120 key (Sun Interface Converter; US)", 0, &kinesis_geom, kinesis_caps, kinesis_sparc_codes, ms104_sparc_map), #else # include "kinesis-sparc-codes.h" # include "kinesis-sparc-map.h" #endif #ifdef KBD KBD ("ktx1000", "KTX 1000", "IBM 104 Key Compatible (XFree86; US)", 0, &ktx1000_geom, ktx1000_caps, ktx1000_codes, xfree86us_map), #else # include "ktx1000-caps.h" # include "ktx1000-codes.h" # include "ktx1000-geom.h" #endif #ifdef KBD KBD ("Labtam", "Labtam", "MT200 Terminal (US)", "Labtam Australia Pty Ltd", &tek101_geom, labtam_caps, labtam_codes, labtam_map), #else # include "labtam-caps.h" # include "labtam-codes.h" # include "labtam-map.h" #endif #ifdef KBD KBD ("MIDW", "MidwestMicro", "Elite SoundBook (US)", 0, &elite_geom, elite_caps, elite_codes, xfree86us_map), #else # include "elite-geom.h" # include "elite-caps.h" # include "elite-codes.h" #endif #if 0 /* #### commented out for now because the keymap isn't right */ #ifdef KBD KBD ("TREK", "Micron", "Transport Trek 2 (US)", 0, &trek_geom, trek_caps, trek_codes, xfree86us_map), #else # include "trek-geom.h" # include "trek-caps.h" # include "trek-codes.h" #endif #endif /* 0 */ #ifdef KBD KBD ("MS104", "Microsoft", "`Natural' 104 key (XFree86; US)", 0, &ms104_geom, ms104_caps, ms104_codes, xfree86us_map), #else # include "ms104-geom.h" # include "ms104-caps.h" # include "ms104-codes.h" #endif #ifdef KBD KBD ("MS104SGI", "Microsoft", "`Natural' 104 key (Irix 5.2, 6.3; US)", 0, &ms104_geom, ms104_caps, ms104_sgi5_codes, sgi5_r5_map), #else # include "ms104-sgi5-codes.h" #endif /* Sun Interface Converter box, part # 370-2068-01 lets you connect one PC standard PS/2 style keyboard, one PS/2 style mouse, and one Sun style keyboard into your SparcStation. */ #ifdef KBD KBD ("MS104IFC", "Microsoft", "`Natural' 104 key (Sun Interface Converter; US)", 0, &ms104_geom, ms104_caps, ms104_sparc_codes, ms104_sparc_map), #else # include "ms104-sparc-codes.h" # include "ms104-sparc-map.h" #endif #ifdef KBD KBD ("GW2KN", "Microsoft", "`Natural' 104 key (Gateway 2K XFree86; US)", 0, &gw2kn_geom, ms104_caps, gw2kn_codes, gw2kn_map), #else # include "gw2kn-geom.h" # include "gw2kn-codes.h" # include "gw2kn-map.h" #endif #ifdef KBD KBD ("MS104US_HPUX", "Microsoft", "`Natural' 104 key (HP-UX; US)", 0, &ms104_geom, ms104_caps, ms104_hpux_codes, hpps2din_us_map), #else # include "ms104-hpux-codes.h" #endif #ifdef KBD KBD ("MS105DE_HPUX", "Microsoft", "`Natural' 105 key (HP-UX; German)", 0, &ms105_geom, ms105de_caps, ms105_hpux_codes, hpps2din_de_map), #else # include "ms105-hpux-codes.h" #endif #ifdef KBD KBD ("MS105SE", "Microsoft", "`Natural' 105 key (Sun Interface Converter; Swedish)", 0, &ms105_geom, ms105se_caps, ms105se_codes, ms104_sparc_map), #else # include "ms105se-caps.h" # include "ms105se-codes.h" #endif #ifdef KBD KBD ("MS105", "Microsoft", "`Natural' 105 key (XFree86; US)", 0, &ms105_geom, ms105_caps, ms105_codes, xfree86us_map), #else # include "ms105-geom.h" # include "ms105-codes.h" # include "ms105-caps.h" #endif #ifdef KBD KBD ("MS105DE", "Microsoft", "`Natural' 105 key (XFree86; German)", 0, &ms105_geom, ms105de_caps, ms105_codes, xfree86de_map), #else # include "ms105de-caps.h" #endif #ifdef KBD KBD ("MS105IT", "Microsoft", "`Natural' 105 key (XFree86; Italian)", 0, &ms105_geom, ms105it_caps, ms105_codes, xfree86it_map), #else # include "ms105it-caps.h" # include "xfree86it-map.h" #endif #ifdef KBD KBD ("MS105ES", "Microsoft", "`Natural' 105 key (XFree86; Spanish)", 0, &ms105_geom, ms105es_caps, ms105_codes, xfree86es_map), #else # include "ms105es-caps.h" # include "xfree86es-map.h" #endif #ifdef KBD KBD ("MS105BE", "Microsoft", "`Natural' 105 key (XFree86; Belgian)", 0, &ms105_geom, ms105be_caps, ms105_codes, xfree86be_map), #else # include "ms105be-caps.h" # include "xfree86be-map.h" #endif #ifdef KBD KBD ("MAG3k", "MIPS", "Magnum 3000 (US)", "MIPS Computer Systems, Inc.", &ncd97_geom, mag3k_caps, mag3k_codes, mag3k_map), #else # include "mag3k-caps.h" # include "mag3k-codes.h" # include "mag3k-map.h" #endif #ifdef KBD KBD ("MAG-AT", "MIPS", "Magnum AT (US)", 0, &magat_geom, magat_caps, magat_codes, magat_map), #else # include "magat-geom.h" # include "magat-caps.h" # include "magat-codes.h" # include "magat-map.h" #endif #ifdef KBD KBD ("RS2030", "MIPS", "RS-2030 (US)", 0, &pc101_geom, rs2030_caps, rs2030_codes, rs2030_map), #else # include "rs2030-caps.h" # include "rs2030-codes.h" # include "rs2030-map.h" #endif #ifdef KBD KBD ("NCD97", "NCD", "N97 (US)", "DECWINDOWS (Compatibility String) Network Computing Devices Inc.", &ncd97_geom, ncd97_caps, ncd97_codes, ncd97_map), #else # include "ncd97-geom.h" # include "ncd97-caps.h" # include "ncd97-codes.h" # include "ncd97-map.h" #endif #ifdef KBD KBD ("NCD101", "NCD", "N101 (US)", "Network Computing Devices Inc.", &pc101_geom, ncd101_caps, ncd101_codes, ncd101_map), #else # include "ncd101-caps.h" # include "ncd101-codes.h" # include "ncd101-map.h" #endif #ifdef KBD KBD ("NCD102", "NCD", "N102 (US)", 0, &pc102_geom, ncd102_caps, ncd102_codes, ncd102_map), #else # include "ncd102-caps.h" # include "ncd102-codes.h" # include "ncd102-map.h" #endif #ifdef KBD KBD ("NCD102F", "NCD", "N102 (French)", 0, &pc102_geom, ncd102f_caps, ncd102f_codes, ncd102f_map), #else # include "ncd102f-caps.h" # include "ncd102f-codes.h" # include "ncd102f-map.h" #endif #ifdef KBD KBD ("NCD102N", "NCD", "N102 (Norwegian)", 0, &pc102_geom, ncd102n_caps, ncd102n_codes, ncd102n_map), #else # include "ncd102n-caps.h" # include "ncd102n-codes.h" # include "ncd102n-map.h" #endif #ifdef KBD KBD ("NCD102SF","NCD","N102 (Swedish/Finnish)", 0, &pc102_geom, ncd102sf_caps, ncd102sf_codes, ncd102sf_map), #else # include "ncd102sf-caps.h" # include "ncd102sf-codes.h" # include "ncd102sf-map.h" #endif #ifdef KBD KBD ("NCD107", "NCD", "N107 (US)", 0, &sun4_geom, ncd107_caps, ncd107_codes, ncd107_map), #else # include "ncd107-caps.h" # include "ncd107-codes.h" # include "ncd107-map.h" #endif #ifdef KBD KBD ("NCD108", "NCD", "N108 (US)", 0, &ncd108_geom, ncd108_caps, ncd108_codes, ncd108_map), #else # include "ncd108-geom.h" # include "ncd108-caps.h" # include "ncd108-codes.h" # include "ncd108-map.h" #endif #ifdef KBD KBD ("NCD108DE", "NCD", "N108 (German)", 0, &ncd108_geom, ncd108de_caps, ncd108_codes, ncd108de_map), #else # include "ncd108de-caps.h" # include "ncd108de-map.h" #endif #ifdef KBD KBD ("NCD220", "NCD", "vt220 (US)", 0, &ncd220_geom, ncd220_caps, ncd220_codes, ncd220_map), #else # include "ncd220-caps.h" # include "ncd220-codes.h" # include "ncd220-map.h" #endif #ifdef KBD KBD ("NCD123UX", "NCD", "123UX (US)", 0, &ncd123_geom, ncd123_caps, ncd123_codes, ncd123_map), #else # include "ncd123-caps.h" # include "ncd123-codes.h" # include "ncd123-geom.h" # include "ncd123-map.h" #endif #ifdef KBD /* must come after NCD123UX (shares data.) */ KBD ("NCD123NA", "NCD", "123NA (US)", 0, &ncd123na_geom, ncd123na_caps, ncd123na_codes, ncd123na_map), #else # include "ncd123na-caps.h" # include "ncd123na-codes.h" # include "ncd123na-geom.h" # include "ncd123na-map.h" #endif #ifdef KBD KBD ("NCDPC", "NCD", "PC-Xview (US)", "PC-Xview for Windows, by Network Computing Devices, Inc.", &tek101_geom, ncdpc_caps, ncdpc_codes, ncdpc_map), #else # include "ncdpc-caps.h" # include "ncdpc-codes.h" # include "ncdpc-map.h" #endif #ifdef KBD KBD ("NeXT", "NeXT", "Non-ADB (US)", "Pencom", &NeXT_geom, NeXT_caps, NeXT_codes, NeXT_map), #else # include "NeXT-geom.h" # include "NeXT-caps.h" # include "NeXT-codes.h" # include "NeXT-map.h" #endif #ifdef KBD KBD ("OMNI102", "Northgate", "OmniKey 102 (XFree86; US)", 0, &omni102_geom, omni102_caps, omni102_codes, xfree86us_map), #else # include "omni102-geom.h" # include "omni102-caps.h" # include "omni102-codes.h" #endif #ifdef KBD KBD ("OMNIU", "Northgate", "OmniKey Ultra (XFree86; US)", 0, &omniultra_geom, omniultra_caps, omniultra_codes, xfree86us_map), #else # include "omniultra-geom.h" # include "omniultra-caps.h" # include "omniultra-codes.h" #endif #ifdef KBD KBD ("ORTEK", "Ortek", "Enhanced Keyboard (XFree86; US)", 0, &ortek_geom, ortek_caps, ortek_codes, xfree86us_map), #else # include "ortek-geom.h" # include "ortek-caps.h" # include "ortek-codes.h" #endif #ifdef KBD KBD ("L84", "PC", "84 key PC/AT (XFree86; US)", 0, &pc84_geom, pc84_caps, pc84_codes, xfree86us_map), #else # include "pc84-geom.h" # include "pc84-caps.h" # include "pc84-codes.h" #endif #ifdef KBD KBD ("HPPC", "PC", "101 key, wide Delete, short Enter (Hewlett-Packard PC; US)", 0, &pc101_geom, pc101_caps, hppc_codes, hppc_map), #else # include "pc101-geom.h" # include "pc101-caps.h" # include "hppc-codes.h" # include "hppc-map.h" #endif #ifdef KBD KBD ("PCOW101", "PC", "101 key, wide Delete, short Enter (OpenWindows/x86; US)", 0, &pc101_geom, pc101_caps, openwin101_codes, openwin104_map), #else # include "openwin101-codes.h" # include "openwin104-map.h" #endif #ifdef KBD KBD ("SCO110", "PC", "101 key, wide Delete, short Enter (Santa Cruz Operation; US)", "The Santa Cruz Operation", &pc101_geom, pc101_caps, sco110_codes, sco110_map), #else # include "sco110-codes.h" # include "sco110-map.h" #endif #ifdef KBD KBD ("DELL", "PC", "101 key, wide Delete, short Enter (DELL PC; US)", 0, &pc101_geom, pc101_caps, dell_codes, dell_map), #else # include "dell-codes.h" # include "dell-map.h" #endif /* The order of IBM130 and AGE101 is important because of their vendor ID strings - see comments in "xoft*.h" to understand... */ #ifdef KBD KBD ("IBM130", "PC", "101 key, wide Delete, short Enter (AGE XoftWare, XStation 130; US)", "AGE Logic, Inc. Release", &pc101_geom, rs6k_caps, rs6k_codes, xoft1_map), #else # include "xoft1-map.h" #endif #ifdef KBD KBD ("AGE101", "PC", "101 key, wide Delete, short Enter (AGE XoftWare, 2.0 PC; US)", "AGE Logic, Inc.", &pc101_geom, pc101_caps, xoft2_codes, xoft2_map), #else # include "xoft2-codes.h" # include "xoft2-map.h" #endif #ifdef KBD KBD ("HCLPC", "PC", "101 key, wide Delete, short Enter (Hummingbird eXceed; US)", "Hummingbird Communications Ltd.", &hclpc_geom, hclpc_caps, hclpc_codes, hclpc_map), #else # include "hclpc-geom.h" # include "hclpc-caps.h" # include "hclpc-codes.h" # include "hclpc-map.h" #endif #ifdef KBD KBD ("XLINE101", "PC", "101 key, wide Delete, short Enter (Pericom X-Line; US)", 0, &pc101_geom, pc101_caps, xline101_codes, xline101_map), #else # include "xline101-codes.h" # include "xline101-map.h" #endif #ifdef KBD KBD ("XACC101", "PC", "101 key, wide Delete, short Enter (XInside; US)", "X Inside Inc.", &pc101_geom, pc101_caps, pc101_codes, xinside_map), #else # include "pc101-codes.h" # include "xinside-map.h" #endif #ifdef KBD KBD ("Sun101IFC", "PC", "101 key, wide Delete, short Enter (Sun Interface Converter; US)", 0, &pc101_geom, pc101_caps, sun5ifc101_codes, sun5pc_xc6_map), #else # include "sun5ifc101-codes.h" #endif #ifdef KBD /* IBM PReP machines are RS6Ks. These usually come with AIX; but the following describes one running Solaris. */ KBD ("prepOW", "PC", "101 key, wide Delete, short Enter (OpenWindows/IBM PReP PPC; US)", 0, &pc101_geom, pc101_caps, openwin101_codes, openwin104_map), #else #endif #ifdef KBD KBD ("L101-3", "PC", "101 key, wide Delete, tall Enter (XFree86; US)", 0, &pc101_3_geom, pc101_3_caps, pc101_3_codes, xfree86us_map), #else # include "pc101-3-geom.h" # include "pc101-3-caps.h" # include "pc101-3-codes.h" #endif #ifdef KBD KBD ("L101", "PC", "101 key, thin Delete, tall Enter (XFree86; US)", "The XFree86 Project, Inc", &pc101_2_geom, pc101_2_caps, pc101_2_codes, xfree86us_map), #else # include "pc101-2-geom.h" # include "pc101-2-caps.h" # include "pc101-2-codes.h" #endif #ifdef KBD KBD ("L101TH", "PC", "101 key, thin Delete, tall Enter (XFree86; Thai)", 0, &pc101_2_geom, pc101_2th_caps, pc101_2_codes, xfree86th_map), #else # include "pc101-2th-caps.h" # include "xfree86th-map.h" #endif #ifdef KBD KBD ("L102DE2", "PC", "102 key, wide Delete, short Enter (XFree86; German)", 0, &pc102_2_geom, pc102_2de_caps, pc102_2_codes, xfree86de_map), #else # include "pc102-2-geom.h" # include "pc102-2de-caps.h" # include "pc102-2-codes.h" # include "xfree86de-map.h" #endif #ifdef KBD KBD ("L102", "PC", "102 key, wide Delete, tall Enter (XFree86; US)", 0, &pc102_geom, pc102_caps, pc102_codes, xfree86us_map), #else # include "pc102-geom.h" # include "pc102-caps.h" # include "pc102-codes.h" #endif #ifdef KBD KBD ("L102DE", "PC", "102 key, wide Delete, tall Enter (XFree86; German)", 0, &pc102_geom, pc102de_caps, pc102_codes, xfree86de_map), #else # include "pc102de-caps.h" #endif #if 0 /* The keymap is wrong on this one. I need a correct keymap for XInside/DE. */ #ifdef KBD KBD ("XACC102", "PC", "102 key, wide Delete, tall Enter (XInside; German)", 0, &pc102_geom, pc102de_caps, pc102_codes, xinside_de_map), #else # include "xinside-map2.h" #endif #endif #ifdef KBD KBD ("L102IT", "PC", "102 key, wide Delete, tall Enter (XFree86; Italian)", 0, &pc102_geom, pc102it_caps, pc102_codes, xfree86it_map), #else # include "pc102it-caps.h" #endif #ifdef KBD KBD ("L102ES", "PC", "102 key, wide Delete, tall Enter (XFree86; Spanish)", 0, &pc102_geom, pc102es_caps, pc102_codes, xfree86es_map), #else # include "pc102es-caps.h" #endif #ifdef KBD KBD ("L102SF", "PC", "102 key, wide Delete, tall Enter (XFree86; Swedish/Finnish)", 0, &pc102_geom, pc102sf_caps, pc102_codes, xfree86sf_map), #else # include "pc102sf-caps.h" # include "xfree86sf-map.h" #endif #ifdef KBD KBD ("L102FR", "PC", "102 key, wide Delete, tall Enter (XFree86; French)", 0, &pc102_geom, pc102fr_caps, pc102_codes, xfree86fr_map), #else # include "pc102fr-caps.h" # include "xfree86fr-map.h" #endif #ifdef KBD KBD ("L102UK", "PC", "102 key, wide Delete, tall Enter (XFree86; United Kingdom)", 0, &pc102_geom, pc102uk_caps, pc102_codes, xfree86uk_map), #else # include "pc102uk-caps.h" # include "xfree86uk-map.h" #endif #ifdef KBD KBD ("L102BE", "PC", "102 key, wide Delete, tall Enter (XFree86; Belgian)", 0, &pc102_geom, pc102be_caps, pc102_codes, xfree86be_map), #else # include "pc102be-caps.h" #endif #ifdef KBD KBD ("L102SR", "PC", "102 key, wide Delete, tall Enter (XFree86; Swiss French)", 0, &pc102_geom, pc102sr_caps, pc102_codes, xfree86sr_map), #else # include "pc102sr-caps.h" # include "xfree86sr-map.h" #endif #ifdef KBD KBD ("L102NO", "PC", "102 key, wide Delete, tall Enter (XFree86; Norwegian)", 0, &pc102_geom, pc102no_caps, pc102_codes, xfree86no_map), #else # include "pc102no-caps.h" # include "xfree86no-map.h" #endif #ifdef KBD KBD ("SN", "PC", "102 key, wide Delete, tall Enter (Exceed/Siemens-Nixdorf; German)", 0, &pc102_geom, pc102de_caps, sn_codes, sn_map), #else # include "sn-codes.h" # include "sn-map.h" #endif #ifdef KBD KBD ("UW102NO", "PC", "102 key, wide Delete, tall Enter (SCO UnixWare 2; Norwegian)", 0, &pc102_geom, pc102no_caps, uw102_codes, uw102no_map), #else # include "uw102-codes.h" # include "uw102no-map.h" #endif #ifdef KBD KBD ("HPPCUK", "PC", "102 key, wide Delete, tall Enter (Hewlett-Packard PC; United Kingdom)", 0, &pc102_geom, hppcuk_caps, hppcuk_codes, hppcuk_map), #else # include "hppcuk-codes.h" # include "hppcuk-caps.h" # include "hppcuk-map.h" #endif #ifdef KBD KBD ("HPPCSF", "PC", "102 key, wide Delete, tall Enter (Hewlett-Packard PC; Swedish/Finnish)", 0, &pc102_geom, pc102sf_caps, hppcuk_codes, hppcsf_map), #else # include "hppcsf-map.h" #endif #ifdef KBD KBD ("HPPCDE", "PC", "102 key, wide Delete, tall Enter (Hewlett-Packard PC; German)", 0, &pc102_geom, pc102de_caps, hppcde_codes, hppcde_map), #else # include "hppcde-codes.h" # include "hppcde-map.h" #endif #ifdef KBD KBD ("L102PT", "PC", "102 key, wide Delete, tall Enter (XFree86; Portuguse)", 0, &pc102_geom, pc102pt_caps, pc102_codes, xfree86pt_map), #else # include "pc102pt-caps.h" # include "xfree86pt-map.h" #endif #ifdef KBD KBD ("L102-3UK", "PC", "102 key, thin Delete, tall Enter (XFree86; United Kingdom)", 0, &pc102_3_geom, pc102_3uk_caps, pc102_3_codes, xfree86uk_map), #else # include "pc102-3-geom.h" # include "pc102-3uk-caps.h" # include "pc102-3-codes.h" #endif #ifdef KBD KBD ("L104", "PC", "104 key, wide Delete, short Enter (XFree86; US)", 0, &pc104_geom, pc104_caps, pc104_codes, xfree86us_map), #else # include "pc104-geom.h" # include "pc104-caps.h" # include "pc104-codes.h" #endif #ifdef KBD KBD ("L104-2", "PC", "104 key, wide Delete, short Enter (XAccel; US)", 0, &pc104_geom, pc104_caps, pc104_2_codes, xinside_map), #else # include "pc104-2-codes.h" #endif #ifdef KBD KBD ("PCOW104", "PC", "104 key, wide Delete, short Enter (OpenWindows/x86; US)", 0, &pc104_geom, pc104_caps, openwin104_codes, openwin104_map), #else # include "openwin104-codes.h" #endif #ifdef KBD KBD ("PC105", "PC", "105 key, wide Delete, tall Enter (XFree86; US)", "The X.Org Foundation", &pc105_geom, ms105_caps, ms105_codes, xfree86us_map), #else # include "pc105-geom.h" #endif #ifdef KBD KBD ("PC105CA", "PC", "105 key, wide Delete, tall Enter (XFree86; Canadian)", 0, &pc105_geom, pc105ca_caps, ms105_codes, pc105ca_map), #else # include "pc105ca-map.h" # include "pc105ca-caps.h" #endif #ifdef KBD KBD ("PC105CF", "PC", "105 key, wide Delete, tall Enter (XFree86; CF)", 0, &pc105_geom, pc105cf_caps, ms105_codes, pc105cf_map), #else # include "pc105cf-map.h" # include "pc105cf-caps.h" #endif #ifdef KBD KBD ("PC105UK", "PC", "105 key, wide Delete, tall Enter (XFree86; United Kingdom)", 0, &pc105_geom, pc105uk_caps, ms105_codes, xfree86uk_map), #else # include "pc105uk-caps.h" #endif #ifdef KBD KBD ("PC105DE", "PC", "105 key, wide Delete, tall Enter (XFree86; German)", 0, &pc105_geom, ms105de_caps, ms105_codes, xfree86de_map), #else #endif #ifdef KBD KBD ("PC105SF", "PC", "105 key, wide Delete, tall Enter (XFree86; Swedish/Finnish)", 0, &pc105_geom, ms105sf_caps, ms105_codes, xfree86sf_map), #else # include "ms105sf-caps.h" #endif #ifdef KBD KBD ("PC105DA", "PC", "105 key, wide Delete, tall Enter (XFree86; Danish)", 0, &pc105_geom, pc105da_caps, ms105_codes, xfree86da_map), #else # include "pc105da-caps.h" # include "xfree86da-map.h" #endif #ifdef KBD KBD ("PC105SW", "PC", "105 key, wide Delete, tall Enter (XFree86; Swedish)", 0, &pc105_geom, pc105sw_caps, ms105_codes, xfree86sw_map), #else # include "pc105sw-caps.h" # include "xfree86sw-map.h" #endif #ifdef KBD KBD ("PC105IS", "PC", "105 key, wide Delete, tall Enter (XFree86; Icelandic)", 0, &pc105_geom, pc105is_caps, ms105_codes, xfree86is_map), #else # include "pc105is-caps.h" # include "xfree86is-map.h" #endif #ifdef KBD KBD ("PC105IT", "PC", "105 key, wide Delete, tall Enter (XFree86; Italian)", 0, &pc105_geom, ms105it_caps, ms105_codes, xfree86it_map), #else #endif #ifdef KBD KBD ("PC105ES", "PC", "105 key, wide Delete, tall Enter (XFree86; Spanish)", 0, &pc105_geom, ms105es_caps, ms105_codes, xfree86es_map), #else #endif #ifdef KBD KBD ("PC105BE", "PC", "105 key, wide Delete, tall Enter (XFree86; Belgian)", 0, &pc105_geom, ms105be_caps, ms105_codes, xfree86be_map), #else #endif #ifdef KBD KBD ("PC105SI", "PC", "105 key, wide Delete, tall Enter (XFree86; Slovene)", 0, &pc105_geom, ms105si_caps, pc105_codes, xfree86si_map), #else # include "pc105-codes.h" # include "ms105si-caps.h" # include "xfree86si-map.h" #endif #ifdef KBD KBD ("PC105TR", "PC", "105 key, wide Delete, tall Enter (XFree86; Turkish)", 0, &pc105_geom, pc105tr_caps, ms105_codes, xfree86tr_map), #else # include "pc105tr-caps.h" # include "xfree86tr-map.h" #endif #ifdef KBD KBD ("PC105FR", "PC", "105 key, wide Delete, tall Enter (XFree86; French)", 0, &pc105_geom, pc105fr_caps, ms105_codes, xfree86fr_map), #else # include "pc105fr-caps.h" #endif #ifdef KBD KBD ("PC105NO", "PC", "105 key, wide Delete, tall Enter (XFree86; Norwegian)", 0, &pc105_geom, pc105no_caps, ms105_codes, xfree86no_map), #else # include "pc105no-caps.h" #endif #ifdef KBD KBD ("L107BR", "PC", "107 key, wide Delete, tall Enter (XFree86; Brazilian ABNT2)", 0, &pc107_geom, pc107br_caps, pc107_codes, xfree86br_map), #else # include "pc107-geom.h" # include "pc107br-caps.h" # include "pc107-codes.h" # include "xfree86br-map.h" #endif #ifdef KBD /* #### "chergo_de_map" is probably more properly named something like "xfree86de-map", but I'm not sure what, exactly. */ KBD ("CHERGODE", "PC", "Cherry ErgoPlus (XFree86; German)", 0, &chergo_geom, chergo_de_caps, chergo_codes, chergo_de_map), #else # include "chergo-geom.h" # include "chergo-de-caps.h" # include "chergo-codes.h" # include "chergo-de-map.h" #endif #ifdef KBD KBD ("CoolKeyboard", "PC", "CoolKeyboard 107 key (XFree86; US)", 0, &cc107_geom, cc107_caps, cc107_codes, xfree86us_map), #else # include "cc107-geom.h" # include "cc107-caps.h" # include "cc107-codes.h" #endif #ifdef KBD KBD ("HHKBPC", "PC", "Happy Hacking Keyboard (PC mode; XFree86; US)", 0, &hhkb_geom, hhkb_pc_caps, hhkb_pc_codes, xfree86us_map), #else # include "hhkb-geom.h" # include "hhkb-caps.h" # include "hhkb-codes.h" #endif #ifdef KBD KBD ("Sunshine", "PC", "Sunshine KB-6868 105 key (XFree86; US)", 0, &sunsh_6868_geom, sunsh_6868us_caps, sunsh_6868_codes, xfree86us_map), #else # include "sunsh-6868-geom.h" # include "sunsh-6868us-caps.h" # include "sunsh-6868-codes.h" #endif #ifdef KBD KBD ("PhaseX101", "Phase X Systems", "PX 101 key, wide Delete, short Enter (US)", "Samsung Electronics Co., Ltd.", &pc101_geom, pc101_caps, phasex110_codes, phasex110_map), #else # include "phasex110-codes.h" # include "phasex110-map.h" #endif #ifdef KBD KBD ("PhaseX101b", "Phase X Systems", "PX 101 key, thin Delete, tall Enter (US)", 0, &pc101_2_geom, pc101_2_caps, phasex110b_codes, phasex110_map), #else # include "phasex110b-codes.h" #endif #ifdef KBD KBD ("PhaseXPXCH2", "Phase X Systems", "PX CH2 (Wyse 102 key; US)", "Phase X Systems Inc.", &pc101_geom, pc101_caps, phasex_pxch2_codes, phasex_pxch2_map), #else # include "phasex-pxch2-codes.h" # include "phasex-pxch2-map.h" #endif #ifdef KBD KBD ("SHINE106PT", "Shine", "`Natural' 106 key (XFree86; Portuguese)", 0, &shine106_geom, shine106pt_caps, shine106_codes, xfree86pt_map), #else # include "shine106-geom.h" # include "shine106pt-caps.h" # include "shine106-codes.h" #endif #ifdef KBD KBD ("SGI", "Silicon Graphics", "101 key (Irix 5.2, 6.3; US)", "Silicon Graphics", &pc101_geom, sgi_caps, sgi5_codes, sgi5_r5_map), #else # include "sgi-caps.h" # include "sgi5-codes.h" # include "sgi5-r5-map.h" #endif #ifdef KBD KBD ("SGIDE6", "Silicon Graphics", "101 key (IRIX 6.2; German)", 0, &pc102_geom, sgide_caps, sgi5de_codes, sgi6de_r6_map), #else # include "sgide-caps.h" # include "sgi5de-codes.h" # include "sgi6de-r6-map.h" #endif #ifdef KBD KBD ("SGIDE", "Silicon Graphics", "101 key (IRIX 5.2; German)", 0, &pc102_geom, sgide_caps, sgi5de_codes, sgi5de_r5_map), #else # include "sgi5de-r5-map.h" #endif #ifdef KBD KBD ("SGI4R5", "Silicon Graphics", "101 key (IRIX 4.0 R5; US)", 0, &pc101_geom, sgi_caps, sgi4_codes, sgi4_r5_map), #else # include "sgi4-codes.h" # include "sgi4-r5-map.h" #endif #ifdef KBD KBD ("SGIR4", "Silicon Graphics", "101 key (IRIX 4.0 R4; US)", 0, &pc101_geom, sgi_caps, sgi4_codes, sgi4_r4_map), #else # include "sgi4-r4-map.h" #endif #ifdef KBD KBD ("SGINO6", "Silicon Graphics", "102 key (IRIX 6.2; Norwegian)", 0, &pc102_geom, pc102no_caps, sgi5de_codes, sgi6no_r6_map), #else # include "sgi6no-r6-map.h" #endif #ifdef KBD KBD ("BFLY", "Soft Key", "Butterfly (US)", 0, &butterfly_geom, butterfly_caps, butterfly_codes, butterfly_map), #else # include "butterfly-geom.h" # include "butterfly-codes.h" # include "butterfly-caps.h" # include "butterfly-map.h" #endif #ifdef KBD KBD ("BFLYDE", "Soft Key", "Butterfly (German)", 0, &butterfly_geom, butterflyde_caps, butterfly_codes, butterflyde_map), #else # include "butterflyde-caps.h" # include "butterflyde-map.h" #endif #ifdef KBD KBD ("C1VE-DE", "Sony", "Vaio PCG-C1VE (XFree86; DE)", 0, &c1v_geom, c1ve_de_caps, c1v_codes, xfree86de_map), #else # include "c1v-geom.h" # include "c1ve-de-caps.h" # include "c1v-codes.h" #endif #ifdef KBD KBD ("C1VN-US", "Sony", "Vaio PCG-C1VN (XFree86; US)", 0, &c1v_geom, c1vn_us_caps, c1v_codes, xfree86de_map), #else # include "c1vn-us-caps.h" /* c1v-geom.h and c1v-codes.h included above */ #endif #ifdef KBD KBD ("NWS1250", "Sony", "NWS 1250 (US)", 0, &nws1250_geom, nws1250_caps, nws1250_codes, nws1250_map), #else # include "nws1250-geom.h" # include "nws1250-caps.h" # include "nws1250-codes.h" # include "nws1250-map.h" #endif #ifdef KBD KBD ("NWS3410", "Sony", "NWS 3410 (US)", "Sony Corporation", &nws3410_geom, nws3410_caps, nws3410_codes, nws3410_map), #else # include "nws3410-geom.h" # include "nws3410-caps.h" # include "nws3410-codes.h" # include "nws3410-map.h" #endif #ifdef KBD KBD ("Sun2", "Sun Microsystems", "Type 2 (X Consortium; US)", 0, &sun2_geom, sun2_caps, sun2_codes, sun2_xc_map), #else # include "sun2-geom.h" # include "sun2-caps.h" # include "sun2-codes.h" # include "sun2-xc-map.h" #endif #ifdef KBD KBD ("Sun3", "Sun Microsystems", "Type 3 (X Consortium; US)", 0, &sun3_geom, sun3_caps, sun3_codes, sun3_xc_map), #else # include "sun3-geom.h" # include "sun3-caps.h" # include "sun3-codes.h" # include "sun3-xc-map.h" #endif #ifdef KBD KBD ("Sun4ow", "Sun Microsystems", "Type 4 (OpenWindows; US)", /* "X11/NeWS - Sun Microsystems Inc.", */ "Sun Microsystems, Inc.", &sun4_geom, sun4_caps, sun4_codes, sun4_ow_map), #else # include "sun4-geom.h" # include "sun4-caps.h" # include "sun4-codes.h" # include "sun4-ow-map.h" #endif /* This is the same as the R6 layout, coincidentally enough... */ #ifdef KBD KBD ("Sun4SWOW", "Sun Microsystems", "Type 4 (OpenWindows; Swedish/Finnish)", 0, &sun4sw_geom, sun4sw_caps, sun4sw_codes, sun4sw_map), #else # include "sun4sw-geom.h" # include "sun4sw-caps.h" # include "sun4sw-codes.h" # include "sun4sw-map.h" #endif #ifdef KBD KBD ("Sun4r6", "Sun Microsystems", "Type 4 (X11R6; US)", 0, &sun4_geom, sun4_caps, sun4_codes, sun4_r6_map), #else # include "sun4-r6-map.h" #endif #ifdef KBD KBD ("Sun4SWr6", "Sun Microsystems", "Type 4 (X11R6; Swedish)", 0, &sun4sw_geom, sun4sw_caps, sun4sw_codes, sun4sw_map), #else #endif #ifdef KBD KBD ("Sun4DE", "Sun Microsystems", "Type 4 (X11R6; German)", 0, &sun4de_geom, sun4de_caps, sun4de_codes, sun4de_map), #else # include "sun4de-geom.h" # include "sun4de-caps.h" # include "sun4de-codes.h" # include "sun4de-map.h" #endif #ifdef KBD KBD ("Sun4ESOW", "Sun Microsystems", "Type 4 (OpenWindows; Catalan/Spanish)", 0, &sun4de_geom, sun4es_caps, sun4de_codes, sun4es_map), #else # include "sun4es-caps.h" # include "sun4es-map.h" #endif #ifdef KBD /* #### I think this can't be right -- this must have a different keymap than the OpenWindows version... */ KBD ("Sun4ESr6", "Sun Microsystems", "Type 4 (X11R6; Catalan/Spanish)", 0, &sun4de_geom, sun4es_caps, sun4de_codes, sun4es_map), #else #endif #ifdef KBD KBD ("Sun4", "Sun Microsystems", "Type 4 (X11R4/R5; US)", 0, &sun4_geom, sun4_caps, sun4_codes, sun4_xc_map), #else # include "sun4-xc-map.h" #endif #ifdef KBD KBD ("Sun4linux", "Sun Microsystems", "Type 4 (XFree86; US)", 0, &sun4_geom, sun4_caps, sun4_codes, sun4_linux_map), #else # include "sun4-linux-map.h" #endif #ifdef KBD KBD ("Sun5OW", "Sun Microsystems", "Type 5 (OpenWindows; US)", 0, &sun5_geom, sun5_caps, sun5_codes, sun5_ow_map), #else # include "sun5-geom.h" # include "sun5-caps.h" # include "sun5-codes.h" # include "sun5-ow-map.h" #endif #ifdef KBD KBD ("Sun5SWFROW", "Sun Microsystems", "Type 5 (OpenWindows; Swiss-French)", 0, &sun5swfr_geom, sun5swfr_caps, sun5swfr_codes, sun5swfr_ow_map), #else # include "sun5swfr-geom.h" # include "sun5swfr-caps.h" # include "sun5swfr-codes.h" # include "sun5swfr-ow-map.h" #endif #ifdef KBD KBD ("Sun5FR", "Sun Microsystems", "Type 5 (X11R6; French)", 0, &sun5swfr_geom, sun5fr_caps, sun5swfr_codes, sun5fr_xc6_map), #else # include "sun5fr-caps.h" # include "sun5fr-xc6-map.h" #endif #ifdef KBD KBD ("Sun5SWOW", "Sun Microsystems", "Type 5 (OpenWindows; Swedish)", 0, &sun5sw_geom, sun5sw_caps, sun5sw_codes, sun5sw_ow_map), #else # include "sun5sw-ow-map.h" #endif #ifdef KBD KBD ("Sun5UK", "Sun Microsystems", "Type 5 (OpenWindows; United Kingdom)", 0, &sun5uk_geom, sun5uk_caps, sun5uk_codes, sun5uk_ow_map), #else # include "sun5uk-geom.h" # include "sun5uk-caps.h" # include "sun5uk-codes.h" # include "sun5uk-ow-map.h" #endif #ifdef KBD KBD ("Sun5DE", "Sun Microsystems", "Type 5 (OpenWindows; German)", 0, &sun5de_geom, sun5de_caps, sun5de_codes, sun5de_ow_map), #else # include "sun5de-geom.h" # include "sun5de-caps.h" # include "sun5de-codes.h" # include "sun5de-ow-map.h" #endif #ifdef KBD KBD ("Sun5SWDE", "Sun Microsystems", "Type 5 (X11R6; Swiss-German)", 0, &sun5de_geom, sun5swde_caps, sun5de_codes, sun5swde_map), #else # include "sun5swde-caps.h" # include "sun5swde-map.h" #endif #ifdef KBD KBD ("Sun5ESOW", "Sun Microsystems", "Type 5 (OpenWindows; Spanish)", 0, &sun5es_geom, sun5es_caps, sun5es_codes, sun5es_ow_map), #else # include "sun5es-geom.h" # include "sun5es-caps.h" # include "sun5es-codes.h" # include "sun5es-ow-map.h" #endif #ifdef KBD KBD ("Sun5r6", "Sun Microsystems", "Type 5 (X11R6; US)", 0, &sun5_geom, sun5_caps, sun5_codes, sun5_r6_map), #else # include "sun5-r6-map.h" #endif #ifdef KBD KBD ("Sun5", "Sun Microsystems", "Type 5 (X11R4/R5; US)", 0, &sun5_geom, sun5_caps, sun5_codes, sun5_xc_map), #else # include "sun5-xc-map.h" #endif #ifdef KBD KBD ("Sun5SW", "Sun Microsystems", "Type 5 (X11R4/R5 + patch; Swedish)", 0, &sun5sw_geom, sun5sw_caps, sun5sw_codes, sun5sw_xc_map), #else # include "sun5sw-geom.h" # include "sun5sw-caps.h" # include "sun5sw-codes.h" # include "sun5sw-xc-map.h" #endif #ifdef XK_kana_NU /* just in case some losing vendors don't ship it... */ # ifdef KBD KBD ("Sun5JA", "Sun Microsystems", "Type 5 (X11R4/R5 + patch; Katakana)", 0, &sun5jp_geom, sun5jp_caps, sun5jp_codes, sun5jp_xc_map), # else # include "sun5jp-geom.h" # include "sun5jp-caps.h" # include "sun5jp-codes.h" # include "sun5jp-xc-map.h" # endif #endif /* XK_kana_NU */ #ifdef KBD KBD ("Sun5PCOW", "Sun Microsystems", "Type 5/PC (OpenWindows; US)", 0, &sun5pc_geom, sun5pc_caps, sun5pc_codes, sun5pc_ow_map), #else # include "sun5pc-caps.h" # include "sun5pc-codes.h" # include "sun5pc-ow-map.h" #endif #ifdef KBD KBD ("Sun5PCDEOW", "Sun Microsystems", "Type 5/PC (OpenWindows; German)", 0, &sun5pc_geom, sun5pc_caps, sun5pc_codes, sun5pc_owde_map), #else # include "sun5pc-owde-map.h" #endif #ifdef KBD KBD ("Sun5PCr6", "Sun Microsystems", "Type 5/PC (X11R6; US)", 0, &sun5pc_geom, sun5pc_caps, sun5pc_codes, sun5pc_xc6_map), #else # include "sun5pc-xc6-map.h" #endif #ifdef KBD KBD ("Sun5PCr4", "Sun Microsystems", "Type 5/PC (X11R4/R5; US)", 0, &sun5pc_geom, sun5pc_caps, sun5pc_codes, sun5pc_xc_map), #else # include "sun5pc-xc-map.h" #endif #ifdef KBD KBD ("Sun5PCr4p", "Sun Microsystems", "Type 5/PC (X11R4/R5 + patch; US)", 0, &sun5pc_geom, sun5pc_caps, sun5pc_codes, sun5pc_xc2_map), #else # include "sun5pc-xc2-map.h" #endif #ifdef KBD KBD ("Sun101A", "Sun Microsystems", "101A (X11R4/R5; US)", 0, &pc101_geom, pc101_caps, sun101a_codes, sun101a_xc_map), #else # include "sun101a-codes.h" # include "sun101a-xc-map.h" #endif # ifdef XK_kana_NU /* just in case some losing vendors don't ship it... */ # ifdef KBD KBD ("XMINT", "Takaoka", "Xmint Terminal (Katakana)", "TAKAOKA Electric Manufacturing Co., Ltd.", &xmint_geom, xmint_caps, xmint_codes, xmint_map), # else # include "xmint-geom.h" # include "xmint-caps.h" # include "xmint-codes.h" # include "xmint-map.h" # endif #endif /* XK_kana_NU */ #ifdef KBD KBD ("TEK101", "Tektronix", "XP20 101 key (X11R5; US)", "Tektronix, Inc.", &tek101_geom, tek101_caps, tek101_codes, tek101_map), #else # include "tek101-geom.h" # include "tek101-caps.h" # include "tek101-codes.h" # include "tek101-map.h" #endif #ifdef KBD KBD ("TEK101-4", "Tektronix", "XP20 101 key (X11R4; US)", 0, &tek101_geom, tek101_caps, tek101_codes, tek101_4_map), #else # include "tek101-4-map.h" #endif #ifdef KBD KBD ("TEK101-C", "Tektronix", "XP217C 101 key (US)", 0, &pc101_geom, pc101_caps, tek101_c_codes, tek101_c_map), #else # include "tek101-c-codes.h" # include "tek101-c-map.h" #endif #ifdef KBD KBD ("TEK102", "Tektronix", "X358 102 key (German)", 0, &tek102_geom, tek102_de_caps, tek102_codes, tek102_de_map), #else # include "tek102-geom.h" # include "tek102-codes.h" # include "tek102-de-caps.h" # include "tek102-de-map.h" #endif #ifdef KBD KBD ("TEK119", "Tektronix", "XP119 Sun 5/PC (US)", 0, &sun5pc_geom, sun5pc_caps, tek119_codes, tek119_map), #else # include "tek119-codes.h" # include "tek119-map.h" #endif #ifdef KBD KBD ("TEK200US", "Tektronix", "VT200 (Ultrix; US)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_us_map), #else # include "tek200-geom.h" # include "tek200-caps.h" # include "tek200-codes.h" # include "tek200u-us-map.h" #endif #ifdef KBD KBD ("TEK200DA", "Tektronix", "VT200 (Ultrix; Danish)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_da_map), #else # include "tek200u-da-map.h" #endif #ifdef KBD KBD ("TEK200DE", "Tektronix", "VT200 (Ultrix; German)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_de_map), #else # include "tek200u-de-map.h" #endif #ifdef KBD KBD ("TEK200FI", "Tektronix", "VT200 (Ultrix; Finnish)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_fi_map), #else # include "tek200u-fi-map.h" #endif #ifdef KBD KBD ("TEK200FR", "Tektronix", "VT200 (Ultrix; French)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_fr_map), #else # include "tek200u-fr-map.h" #endif #ifdef KBD KBD ("TEK200IT", "Tektronix", "VT200 (Ultrix; Italian)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_it_map), #else # include "tek200u-it-map.h" #endif #ifdef KBD KBD ("TEK200KA", "Tektronix", "VT200 (Ultrix; Katakana)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_ka_map), #else # include "tek200u-ka-map.h" #endif #ifdef KBD KBD ("TEK200NO", "Tektronix", "VT200 (Ultrix; Norwegian)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_no_map), #else # include "tek200u-no-map.h" #endif #ifdef KBD KBD ("TEK200SP", "Tektronix", "VT200 (Ultrix; Spanish)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_sp_map), #else # include "tek200u-sp-map.h" #endif #ifdef KBD KBD ("TEK200SW", "Tektronix", "VT200 (Ultrix; Swedish)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_sw_map), #else # include "tek200u-sw-map.h" #endif #ifdef KBD KBD ("TEK200SWDE", "Tektronix", "VT200 (Ultrix; Swiss-German)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_swde_map), #else # include "tek200u-swde-map.h" #endif #ifdef KBD KBD ("TEK200UK", "Tektronix", "VT200 (Ultrix; United Kingdom)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200u_uk_map), #else # include "tek200u-uk-map.h" #endif #ifdef KBD KBD ("TEK200VMS", "Tektronix", "VT200 (VMS; US)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200v_us_map), #else # include "tek200v-us-map.h" #endif #ifdef KBD KBD ("TEK200ESC", "Tektronix", "VT200 (US-ESC)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200xesc_us_map), #else # include "tek200xesc-us-map.h" #endif #ifdef KBD KBD ("TEK200F11", "Tektronix", "VT200 (US-F11)", 0, &tek200_geom, tek200_caps, tek200_codes, tek200xf11_us_map), #else # include "tek200xf11-us-map.h" #endif #ifdef KBD KBD ("TEK401US", "Tektronix", "Tek-LK401 (US)", 0, &lk401_geom, lk401_caps, tek401_codes, tek401_map), #else # include "tek401-codes.h" # include "tek401-map.h" #endif #ifdef KBD KBD ("TEK401SF", "Tektronix", "Tek-LK401 (Swedish TTY)", 0, &lk401_geom, lk401sf_caps, tek401_codes, tek401sf_map), #else # include "tek401sf-map.h" #endif #ifdef KBD KBD ("TEK401SFDP", "Tektronix", "Tek-LK401 (Swedish DP)", 0, &lk401_geom, lk401sf_caps, tek401_codes, tek401sfdp_map), #else # include "tek401sfdp-map.h" #endif #ifdef KBD KBD ("TEKsun4", "Tektronix", "Tek-Sun Type4 (US)", 0, &sun4_geom, sun4_caps, teksun4_codes, teksun4_map), #else # include "teksun4-codes.h" # include "teksun4-map.h" #endif #ifdef KBD KBD ("TEKXN11", "Tektronix", "XN11 Terminal (Swedish/Finnish)", 0, &tekxn10_geom, tekxn10_sf_caps, tekxn10_sf_codes, tekxn10_sf_map), #else # include "tekxn10-geom.h" # include "tekxn10-sf-codes.h" # include "tekxn10-sf-caps.h" # include "tekxn10-sf-map.h" #endif #ifdef KBD KBD ("TM4000M", "Texas Instruments", "TravelMate 4000M (US)", 0, &tm4000m_geom, tm4000m_caps, tm4000m_codes, tm4000m_map), #else # include "tm4000m-geom.h" # include "tm4000m-caps.h" # include "tm4000m-codes.h" # include "tm4000m-map.h" #endif #ifdef KBD KBD ("Explorer", "Texas Instruments", "Explorer (US)", "Texas Instruments Explorer", &explorer_geom, explorer_caps, explorer_codes, explorer_map), #else # include "explorer-geom.h" # include "explorer-caps.h" # include "explorer-codes.h" # include "explorer-map.h" #endif #ifdef KBD KBD ("Libretto", "Toshiba", "Libretto 100CT (US)", 0, &libretto100_geom, libretto100_caps, libretto100_codes, xfree86us_map), #else # include "libretto100-geom.h" # include "libretto100-caps.h" # include "libretto100-codes.h" #endif #ifdef KBD KBD ("Tecra", "Toshiba", "Tecra 500CDT (US)", 0, &tecra500_geom, tecra500_caps, tecra500_codes, tecra500_map), #else # include "tecra500-geom.h" # include "tecra500-caps.h" # include "tecra500-codes.h" # include "tecra500-map.h" #endif #ifdef KBD KBD ("Portege", "Toshiba", "Portege 34xxCT (US)", 0, &portege34xx_geom, portege34xx_caps, portege34xx_codes, tecra500_map), #else # include "portege34xx-geom.h" # include "portege34xx-caps.h" # include "portege34xx-codes.h" #endif xkeycaps-2.47/kbds/sunsh-6868-codes.h0000644000175000017500000000152710206731452014774 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of the Sunshine KB-6868 105 key PC * keyboard. This is based on file "pc101-caps.h". * By John Coppens - 08/31/99 */ static const KeyCode sunsh_6868_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 51, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 0, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 113, 116, 117, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/hppcuk700rx-map.h0000644000175000017500000001163210206731452014774 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * HP PC 700-RX keyboard (UK Version) * By Chris Paulson-Ellis */ static const struct default_keycode_map hppcuk700rx_map [] = { { 16, 0, { XK_F1 }}, { 17, 0, { XK_Escape }}, { 22, 0, { XK_Tab, hpXK_BackTab }}, { 23, 0, { XK_grave, XK_notsign, XK_bar }}, { 24, 0, { XK_F2 }}, { 26, ControlMask, { XK_Control_L }}, { 27, ShiftMask, { XK_Shift_L }}, { 28, 0, { XK_backslash, XK_brokenbar }}, { 29, LockMask, { XK_Caps_Lock }}, { 30, 0, { XK_q, XK_Q, XK_periodcentered, XK_periodcentered }}, { 31, 0, { XK_1, XK_exclam, XK_exclamdown, XK_exclamdown }}, { 32, 0, { XK_F3 }}, { 33, 0, { XK_Kanji }}, { 34, Mod1Mask, { XK_Alt_L }}, { 35, 0, { XK_z, XK_Z, XK_paragraph, XK_paragraph }}, { 36, 0, { XK_s, XK_S, XK_ssharp, XK_ssharp }}, { 37, 0, { XK_a, XK_A, XK_aring, XK_Aring }}, { 38, 0, { XK_w, XK_W, XK_asciitilde, XK_asciitilde }}, { 39, 0, { XK_2, XK_quotedbl }}, { 40, 0, { XK_F4 }}, { 42, 0, { XK_c, XK_C, XK_ccedilla, XK_Ccedilla }}, { 43, 0, { XK_x, XK_X, XK_scaron, XK_Scaron }}, { 44, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 45, 0, { XK_e, XK_E, XK_ae, XK_AE }}, { 46, 0, { XK_4, XK_dollar, XK_onequarter, hpXK_Ydiaeresis }}, { 47, 0, { XK_3, XK_sterling }}, { 48, 0, { XK_F5 }}, { 50, 0, { XK_space }}, { 51, 0, { XK_v, XK_V, XK_section, XK_section }}, { 52, 0, { XK_f, XK_F, hpXK_guilder, hpXK_guilder }}, { 53, 0, { XK_t, XK_T, hpXK_mute_grave, hpXK_mute_grave }}, { 54, 0, { XK_r, XK_R, hpXK_mute_acute, hpXK_mute_acute }}, { 55, 0, { XK_5, XK_percent, XK_onehalf, XK_onehalf }}, { 56, 0, { XK_F6 }}, { 58, 0, { XK_n, XK_N, XK_ordfeminine, XK_ordfeminine }}, { 59, 0, { XK_b, XK_B, hpXK_block, hpXK_block }}, { 60, 0, { XK_h, XK_H, XK_yen, XK_yen }}, { 61, 0, { XK_g, XK_G, XK_currency, XK_currency }}, { 62, 0, { XK_y, XK_Y, hpXK_mute_asciicircum, hpXK_mute_asciicircum }}, { 63, 0, { XK_6, XK_asciicircum, XK_asciicircum, XK_asciicircum }}, { 64, 0, { XK_F7 }}, { 65, 0, { XK_Kanji }}, { 66, Mod1Mask, { XK_Alt_R }}, { 67, 0, { XK_m, XK_M, XK_masculine, XK_masculine }}, { 68, 0, { XK_j, XK_J, XK_dollar, XK_dollar }}, { 69, 0, { XK_u, XK_U, hpXK_mute_diaeresis, hpXK_mute_diaeresis }}, { 70, 0, { XK_7, XK_ampersand, XK_backslash, XK_backslash }}, { 71, 0, { XK_8, XK_asterisk, XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_F8 }}, { 74, 0, { XK_comma, XK_less, XK_less, XK_less }}, { 75, 0, { XK_k, XK_K, XK_cent, XK_cent }}, { 76, 0, { XK_i, XK_I, hpXK_mute_asciitilde, hpXK_mute_asciitilde }}, { 77, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 78, 0, { XK_0, XK_parenright, XK_questiondown, XK_questiondown }}, { 79, 0, { XK_9, XK_parenleft, XK_bracketright, XK_braceright }}, { 80, 0, { XK_F9, XK_KP_F1 }}, { 82, 0, { XK_period, XK_greater, XK_greater, XK_greater }}, { 83, 0, { XK_slash, XK_question, XK_underscore, XK_underscore }}, { 84, 0, { XK_l, XK_L, XK_sterling, XK_sterling }}, { 85, 0, { XK_semicolon, XK_colon, hpXK_lira, hpXK_lira }}, { 86, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 87, 0, { XK_minus, XK_underscore, hpXK_longminus, XK_macron }}, { 88, 0, { XK_F10, XK_KP_F2 }}, { 91, 0, { XK_apostrophe, XK_at }}, { 92, 0, { XK_numbersign, XK_asciitilde }}, { 93, 0, { XK_bracketleft, XK_braceleft, XK_degree, XK_degree }}, { 94, 0, { XK_equal, XK_plus, XK_plusminus, XK_plusminus }}, { 95, 0, { XK_F11, XK_KP_F3 }}, { 96, 0, { XK_Print, 0xFF15 }}, { 97, ControlMask, { XK_Control_R }}, { 98, ShiftMask, { XK_Shift_R }}, { 99, 0, { XK_Return }}, { 100, 0, { XK_bracketright, XK_braceright, XK_brokenbar, XK_brokenbar }}, { 103, 0, { XK_F12, XK_KP_F4 }}, { 104, 0, { XK_Scroll_Lock }}, { 105, 0, { XK_Down }}, { 106, 0, { XK_Left }}, { 107, 0, { XK_Pause, XK_Break }}, { 108, 0, { XK_Up }}, { 109, 0, { XK_Delete }}, { 110, 0, { XK_End }}, { 111, 0, { XK_BackSpace }}, { 112, 0, { XK_Insert }}, { 114, 0, { XK_KP_1, 0xFF9C }}, { 115, 0, { XK_Right }}, { 116, 0, { XK_KP_4, 0xFF96 }}, { 117, 0, { XK_KP_7, 0xFF95 }}, { 118, 0, { XK_Next }}, { 119, 0, { XK_Home }}, { 120, 0, { XK_Prior }}, { 121, 0, { XK_KP_0, 0xFF9E }}, { 122, 0, { XK_KP_Decimal, 0xFF9F }}, { 123, 0, { XK_KP_2, 0xFF99 }}, { 124, 0, { XK_KP_5 }}, { 125, 0, { XK_KP_6, 0xFF98 }}, { 126, 0, { XK_KP_8, 0xFF97 }}, { 127, 0, { XK_Num_Lock }}, { 128, 0, { XK_KP_Divide }}, { 130, 0, { XK_KP_Enter }}, { 131, 0, { XK_KP_3, 0xFF9B }}, { 132, Mod1Mask, { XK_Mode_switch }}, { 133, 0, { XK_KP_Add }}, { 134, 0, { XK_KP_9, 0xFF9A }}, { 135, 0, { XK_KP_Multiply }}, { 141, 0, { XK_KP_Subtract }}, }; xkeycaps-2.47/kbds/pc101-geom.h0000644000175000017500000000363310206731452013701 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of your basic 101 key PC-style * keyboard. Lots of vendors' keyboards are shaped like this. */ static const struct key_geometry pc101_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc101_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc101_geom_row6 [] = { {11, 7}, {7, 0}, {11, 7}, {48, 7}, {11, 7}, {7, 0}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc101_geom_rows [] = { ROW (pc101_geom_row0, 7), EMPTYROW (5), ROW (pc101_geom_row2, 7), ROW (pc101_geom_row3, 7), ROW (pc101_geom_row4, 7), ROW (pc101_geom_row5, 7), ROW (pc101_geom_row6, 7), }; static const struct keyboard_geometry pc101_geom = { sizeof (pc101_geom_rows) / sizeof (struct keyboard_row_geometry), pc101_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/pc104-caps.h0000644000175000017500000000376510206731452013711 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the key surfaces of your basic 104 key PC-style * keyboard. This is based on file "pc101-caps.h", as modified by Steven * Winikoff, 1997/04/23. */ static const struct key_strings pc104_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ms105-linux-map.h0000644000175000017500000000775410206731452014715 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keymap of a Microsoft `Natural' 105 key * keyboard, US layout, on Linux with Xfree86 3.1.1 (X11R6) * Generated by Matthias Rabe . */ static const struct default_keycode_map ms105_linux_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand, XK_braceleft }}, { 17, 0, { XK_8, XK_asterisk, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenleft, XK_bracketright }}, { 19, 0, { XK_0, XK_parenright, XK_braceright }}, { 20, 0, { XK_minus, XK_underscore, XK_backslash }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_q }}, { 25, 0, { XK_w, XK_W, XK_w }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_r }}, { 28, 0, { XK_t, XK_T, XK_t }}, { 29, 0, { XK_y, XK_Y, XK_y }}, { 30, 0, { XK_u, XK_U, XK_u }}, { 31, 0, { XK_i, XK_I, XK_i }}, { 32, 0, { XK_o, XK_O, XK_o }}, { 33, 0, { XK_p, XK_P, XK_p }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S, XK_s }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G, XK_g }}, { 43, 0, { XK_h, XK_H, XK_h }}, { 44, 0, { XK_j, XK_J, XK_j }}, { 45, 0, { XK_k, XK_K, XK_k }}, { 46, 0, { XK_l, XK_L, XK_l }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z, XK_z }}, { 53, 0, { XK_x, XK_X, XK_x }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V, XK_v }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N, XK_n }}, { 58, 0, { XK_m, XK_M, XK_m }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, Mod5Mask, { XK_Mode_switch, 0x1007FF01 }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, 0, { XK_Multi_key }}, { 110, 0, { XK_Pause }}, { 111, 0, { 0 }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod5Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }}, { 115, 0, { 0 }}, { 116, 0, { 0 }}, { 117, 0, { 0 }} }; xkeycaps-2.47/kbds/sun3-codes.h0000644000175000017500000000132010206731452014102 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Sun type 3 keyboard. */ static const KeyCode sun3_codes [] = { /* Row 0 */ 8, 10, 12, 13, 15, 17, 19, 21, 23, 24, 25, 50, 28, 29, 30, /* Row 1 */ 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 95, 49, 52, 53, 54, /* Row 2 */ 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, /* Row 3 */ 79, 80, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 100, /* Row 4 */ 102, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, /* Row 5 */ 126, 127, 128, 129, 26 }; xkeycaps-2.47/kbds/lk401sfdp-map.h0000644000175000017500000000667310206731452014422 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the default keymap of the Swedish DEC LK401 keyboard. * By Torbj|rn Lindgren */ static const struct default_keycode_map lk401sfdp_map [] = { { 86, 0, { XK_F1 }}, { 87, 0, { XK_F2 }}, { 88, 0, { XK_F3 }}, { 89, 0, { XK_F4 }}, { 90, 0, { XK_F5 }}, { 100, 0, { XK_F6 }}, { 101, 0, { XK_F7 }}, { 102, 0, { XK_F8 }}, { 103, 0, { XK_F9 }}, { 104, 0, { XK_F10 }}, { 113, 0, { XK_Escape, XK_F11 }}, { 114, 0, { XK_F12 }}, { 115, 0, { XK_F13 }}, { 116, 0, { XK_F14 }}, { 124, 0, { XK_Help }}, { 125, 0, { XK_Menu }}, { 128, 0, { XK_F17 }}, { 129, 0, { XK_F18 }}, { 130, 0, { XK_F19 }}, { 131, 0, { XK_F20 }}, { 138, 0, { XK_Find }}, { 139, 0, { XK_Insert }}, { 140, 0, { DXK_Remove }}, { 141, 0, { XK_Select }}, { 142, 0, { XK_Prior }}, { 143, 0, { XK_Next }}, { 146, 0, { XK_KP_0 }}, { 148, 0, { XK_KP_Decimal }}, { 149, 0, { XK_KP_Enter }}, { 150, 0, { XK_KP_1 }}, { 151, 0, { XK_KP_2 }}, { 152, 0, { XK_KP_3 }}, { 153, 0, { XK_KP_4 }}, { 154, 0, { XK_KP_5 }}, { 155, 0, { XK_KP_6 }}, { 156, 0, { XK_KP_Separator }}, { 157, 0, { XK_KP_7 }}, { 158, 0, { XK_KP_8 }}, { 159, 0, { XK_KP_9 }}, { 160, 0, { XK_KP_Subtract }}, { 161, 0, { XK_KP_F1 }}, { 162, 0, { XK_KP_F2 }}, { 163, 0, { XK_KP_F3 }}, { 164, 0, { XK_KP_F4 }}, { 167, 0, { XK_Left }}, { 168, 0, { XK_Right }}, { 169, 0, { XK_Down }}, { 170, 0, { XK_Up }}, { 171, ShiftMask, { XK_Shift_R }}, { 172, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 173, Mod2Mask, { XK_Multi_key }}, { 174, ShiftMask, { XK_Shift_L }}, { 175, ControlMask, { XK_Control_L }}, { 176, LockMask, { XK_Caps_Lock }}, { 177, Mod2Mask, { XK_Multi_key }}, { 178, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 188, 0, { XK_Delete }}, { 189, 0, { XK_Return }}, { 190, 0, { XK_Tab }}, { 191, 0, { XK_asciitilde, XK_degree }}, { 192, 0, { XK_1, XK_exclam }}, { 193, 0, { XK_Q }}, { 194, 0, { XK_A }}, { 195, 0, { XK_Z }}, { 197, 0, { XK_2, XK_quotedbl }}, { 198, 0, { XK_W }}, { 199, 0, { XK_S }}, { 200, 0, { XK_X }}, { 201, 0, { XK_less, XK_greater }}, { 203, 0, { XK_3, XK_at }}, { 204, 0, { XK_E }}, { 205, 0, { XK_D }}, { 206, 0, { XK_C }}, { 208, 0, { XK_4, XK_dollar }}, { 209, 0, { XK_R }}, { 210, 0, { XK_F }}, { 211, 0, { XK_V }}, { 212, 0, { XK_space }}, { 214, 0, { XK_5, XK_percent }}, { 215, 0, { XK_T }}, { 216, 0, { XK_G }}, { 217, 0, { XK_B }}, { 219, 0, { XK_6, XK_ampersand }}, { 220, 0, { XK_Y }}, { 221, 0, { XK_H }}, { 222, 0, { XK_N }}, { 224, 0, { XK_7, XK_slash }}, { 225, 0, { XK_U }}, { 226, 0, { XK_J }}, { 227, 0, { XK_M }}, { 229, 0, { XK_8, XK_parenleft }}, { 230, 0, { XK_I }}, { 231, 0, { XK_K }}, { 232, 0, { XK_comma, XK_semicolon }}, { 234, 0, { XK_9, XK_parenright }}, { 235, 0, { XK_O }}, { 236, 0, { XK_L }}, { 237, 0, { XK_period, XK_colon }}, { 239, 0, { XK_0, XK_equal }}, { 240, 0, { XK_P }}, { 242, 0, { XK_braceright, XK_braceleft }}, { 243, 0, { XK_minus, XK_underscore }}, { 245, 0, { XK_asciicircum, XK_grave }}, { 246, 0, { XK_numbersign, XK_backslash }}, { 247, 0, { XK_apostrophe, XK_asterisk }}, { 249, 0, { XK_plus, XK_question }}, { 250, 0, { XK_bracketright, XK_bracketleft }}, { 251, 0, { XK_bar }} }; xkeycaps-2.47/kbds/sun5-codes.h0000644000175000017500000000212510206731452014110 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Sun type 5 keyboard, * with both OpenWindows and X Consortium R4 and R5 servers. * (Note: the X Consortium R6 server has different keycodes!) * By Carl Witty . * * Even though the Type5 and Type5/PC keyboards are physically very * similar, their keycodes differ more. */ static const KeyCode sun5_codes [] = { /* Row 0 */ 125, 22, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 52, 9, 11, 55, /* Row 1 */ 8, 10, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 95, 49, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 32, 33, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 50, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 56, 58, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 100, /* Row 4 */ 79, 80, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ 102, 104, 126, 26, 127, 128, 129, 74, 20, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/ms105si-caps.h0000644000175000017500000000411310206731452014247 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of the MS PC keyboard * with Slovene layout. * By Andrej Presern . */ static const struct key_strings ms105si_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtSc", "", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, /* Row 2 */ {" \250", " \270", 0}, {"!", "1 ~", 0}, {"\"", "2", 0}, {"#", "3 ^", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "'", 0}, {"*", "+", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", " \\", 0}, {"W", " |", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\251", " \367", 0}, {"\320", " \327", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", " [", 0}, {"G", " ]", 0}, {"H", 0}, {"J", 0}, {"K", " \263", 0}, {"L", " \243", 0}, {"\310", 0}, {"\306", " \337", 0}, {"\256", " \244", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", " @", 0}, {"B", " {", 0}, {"N", " }", 0}, {"M", " \247", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Control", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Control", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/sun5de-geom.h0000644000175000017500000000432010206731452014252 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the physical layout of the Sun type 5 keyboards with * German layout. * By Carl Witty , Sylvain Meunier , * Andreas Schuch and jwz. * */ static const struct key_geometry sun5de_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5de_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5de_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {8, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5de_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {37, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5de_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {9, 7}, {7,7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5de_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {57, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun5de_geom_rows [] = { ROW (sun5de_geom_row0, 7), EMPTYROW (7), ROW (sun5de_geom_row1, 7), ROW (sun5de_geom_row2, 7), ROW (sun5de_geom_row3, 7), ROW (sun5de_geom_row4, 7), ROW (sun5de_geom_row5, 7), }; static const struct keyboard_geometry sun5de_geom = { sizeof (sun5de_geom_rows) / sizeof (struct keyboard_row_geometry), sun5de_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/NeXT-map.h0000644000175000017500000000546410206731452013525 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NeXTstation non-ADB keyboard * for the co-Xist 3.0 X server. By Eric Benson . * * Note: this doesn't pass the "Write Output" test for correctness, * as described in defining.txt. It still needs work. */ static const struct default_keycode_map NeXT_map [] = { { 11, 0, { XK_backslash, XK_bar }}, { 12, 0, { XK_bracketright, XK_braceright }}, { 13, 0, { XK_bracketleft, XK_braceleft }}, { 14, 0, { XK_I }}, { 15, 0, { XK_O }}, { 16, 0, { XK_P }}, { 17, 0, { XK_Left }}, { 19, 0, { XK_KP_0 }}, { 20, 0, { XK_KP_Decimal }}, { 21, 0, { XK_KP_Enter }}, { 23, 0, { XK_Down }}, { 24, 0, { XK_Right }}, { 25, 0, { XK_KP_1 }}, { 26, 0, { XK_KP_4 }}, { 27, 0, { XK_KP_6 }}, { 28, 0, { XK_KP_3 }}, { 29, 0, { XK_KP_Add }}, { 30, 0, { XK_Up }}, { 31, 0, { XK_KP_2 }}, { 32, 0, { XK_KP_5 }}, { 35, 0, { XK_BackSpace }}, { 36, 0, { XK_equal, XK_plus }}, { 37, 0, { XK_minus, XK_underscore }}, { 38, 0, { XK_8, XK_asterisk }}, { 39, 0, { XK_9, XK_parenleft }}, { 40, 0, { XK_0, XK_parenright }}, { 41, 0, { XK_KP_7 }}, { 42, 0, { XK_KP_8 }}, { 43, 0, { XK_KP_9 }}, { 44, 0, { XK_KP_Subtract }}, { 45, 0, { XK_KP_Multiply }}, { 46, 0, { XK_grave, XK_asciitilde }}, { 47, 0, { XK_KP_Equal }}, { 48, 0, { XK_KP_Divide }}, { 50, 0, { XK_Return }}, { 51, 0, { XK_apostrophe, XK_quotedbl }}, { 52, 0, { XK_semicolon, XK_colon }}, { 53, 0, { XK_L }}, { 54, 0, { XK_comma, XK_less }}, { 55, 0, { XK_period, XK_greater }}, { 56, 0, { XK_slash, XK_question }}, { 57, 0, { XK_Z }}, { 58, 0, { XK_X }}, { 59, 0, { XK_C }}, { 60, 0, { XK_V }}, { 61, 0, { XK_B }}, { 62, 0, { XK_M }}, { 63, 0, { XK_N }}, { 64, 0, { XK_space }}, { 65, 0, { XK_A }}, { 66, 0, { XK_S }}, { 67, 0, { XK_D }}, { 68, 0, { XK_F }}, { 69, 0, { XK_G }}, { 70, 0, { XK_K }}, { 71, 0, { XK_J }}, { 72, 0, { XK_H }}, { 73, 0, { XK_Tab }}, { 74, 0, { XK_Q }}, { 75, 0, { XK_W }}, { 76, 0, { XK_E }}, { 77, 0, { XK_R }}, { 78, 0, { XK_U }}, { 79, 0, { XK_Y }}, { 80, 0, { XK_T }}, { 81, 0, { XK_Escape }}, { 82, 0, { XK_1, XK_exclam }}, { 83, 0, { XK_2, XK_at }}, { 84, 0, { XK_3, XK_numbersign }}, { 85, 0, { XK_4, XK_dollar }}, { 86, 0, { XK_7, XK_ampersand }}, { 87, 0, { XK_6, XK_asciicircum }}, { 88, 0, { XK_5, XK_percent }}, { 126, ControlMask, { XK_Control_L }}, { 127, ShiftMask, { XK_Shift_L }}, { 128, Mod1Mask, { XK_Alt_L }}, { 129, Mod2Mask, { XK_Meta_L }}, { 130, Mod2Mask, { XK_Meta_R }}, { 131, ShiftMask, { XK_Shift_R }}, { 132, Mod1Mask, { XK_Alt_R }} }; xkeycaps-2.47/kbds/c1v-codes.h0000644000175000017500000000152410206740731013711 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997, 1998 * Jamie Zawinski * * This file describes the keycodes of a Sony PCG-C1V ("Picturebook") * series keyboard. * by Christoph Berg 010901 * (copied from pc105-codes.h) */ static const KeyCode c1v_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 77, 111, 106, 107, 78, 110, 114, /* Fn */ /* Row 1 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, /* Row 2 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, /* Row 3 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, /* Row 4 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, 98, 62, 99, /* Fn: PgUp */ /* Row 5 */ 37, 0, 49, 115, 64, 65, 113, 117, 109, 100, 104, 102, 97, 105, 103 /* Fn: Home, PgDn, End */ }; xkeycaps-2.47/kbds/sun5ifc101-codes.h0000644000175000017500000000221610206731452015015 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * This file describes the keycodes of the Sun type 5 PC-style keyboard, * with OpenWindows and X Consortium R4 and R5 servers. * By Carl Witty and Sylvain Meunier . * Modified for Sun Inferface Converter and 101-key PS/2 keyboard by * Eric Fischer */ static const KeyCode sun5ifc101_codes [] = { /* Row 0 */ /* 125, */ 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, /* 52, 9, 11, 55, */ /* Row 1 */ /* 8, 10, */ 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ /* 32, 33, */ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 95, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ /* 56, 58, */ 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 100, /* Row 4 */ /* 79, 80, */ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ /* 102, 104, */ 83, 26, /* 127, */ 128, 20, 129, /* 129, 74, 20, */ 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/sun5-r6-map.h0000644000175000017500000001057010206731452014120 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the default keymap of the Sun type 5 keyboard * as interpreted by X Consortium X11R6 servers. Generated by * Carson Gaspar */ static const struct default_keycode_map sun5_r6_map [] = { /* this key has a keycode but no keysym in the default map */ { 22, 0, { 0 }}, /* the blank key above ESC */ { 8, 0, { XK_Cancel, 0, XK_F11 }}, { 9, 0, { SunXK_AudioLowerVolume, SunXK_VideoLowerBrightness }}, { 10, 0, { XK_Redo, 0, XK_F12 }}, { 11, 0, { SunXK_AudioRaiseVolume, SunXK_VideoRaiseBrightness }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11, 0, SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12, 0, SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_Pause, 0, XK_Break }}, { 29, 0, { XK_Print, 0, XK_Sys_Req, SunXK_Sys_Req }}, { 30, 0, { XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, 0, { SunXK_Props, 0, XK_F13 }}, { 33, 0, { XK_Undo, 0, XK_F14 }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde, XK_acute }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { SunXK_AudioMute, SunXK_VideoDegauss }}, { 53, 0, { XK_KP_Divide }}, { 54, 0, { XK_KP_Multiply }}, { 55, 0, { SunXK_PowerSwitch, SunXK_PowerSwitchShift }}, { 56, 0, { SunXK_Front, 0, XK_F15 }}, { 57, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 58, 0, { SunXK_Copy, 0, XK_F16 }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_KP_Home, XK_KP_7 }}, { 76, 0, { XK_KP_Up, XK_KP_8 }}, { 77, 0, { XK_KP_Prior, XK_KP_9 }}, { 78, 0, { XK_KP_Subtract }}, { 79, 0, { SunXK_Open, 0, XK_F17 }}, { 80, 0, { SunXK_Paste, 0, XK_F18 }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl, XK_acute }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_KP_Left, XK_KP_4 }}, { 99, 0, { 0, XK_KP_5 }}, { 100, 0, { XK_KP_Right, XK_KP_6 }}, { 101, 0, { XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_Find, 0, XK_F19 }}, { 103, 0, { XK_Prior }}, { 104, 0, { SunXK_Cut, 0, XK_F20 }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_KP_End, XK_KP_1 }}, { 120, 0, { XK_KP_Down, XK_KP_2 }}, { 121, 0, { XK_KP_Next, XK_KP_3 }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/hppcde-codes.h0000644000175000017500000000142110206731452014457 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the keycodes of the HP PC German keyboard. * By Todd Richmond */ static const KeyCode hppcde_codes [] = { /* Row 0 */ 39, 84, 83, 82, 81, 89, 90, 91, 92, 45, 41, 43, 47, 80, 86, 15, /* Row 2 */ 71, 70, 69, 68, 67, 66, 65, 64, 96, 97, 98, 99, 100, 101, 110, 118, 119, 88, 25, 29, 31, /* Row 3 */ 63, 62, 61, 60, 59, 58, 57, 56, 104, 105, 106, 107, 108, 117, 111, 125, 127, 21, 17, 19, 27, /* Row 4 */ 55, 53, 52, 51, 50, 49, 48, 112, 113, 114, 115, 116, 124, 16, 18, 20, /* Row 5 */ 13, 126, 36, 35, 34, 33, 32, 128, 120, 121, 122, 123, 12, 134, 24, 26, 28, 23, /* Row 6 */ 14, 11, 129, 10, 8, 132, 133, 135, 30, 44 }; xkeycaps-2.47/kbds/openwin104-codes.h0000644000175000017500000000176410206731452015132 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996, 1997 * Jamie Zawinski * * This file describes the keycodes of a Compaq 104 key keyboard for * Solaris 5.5.1/Intel and OpenWindows. This keyboard is probably the * same as the generic 104 key keyboard, with the addition of two * "StartMenu" keys and a "RightClick" key. * By Dave Carrigan . */ static KeyCode openwin104_codes [] = { /* Row 0 */ 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, /* Row 2 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 82, 87, 92, 97, 102, 107, 112, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 83, 88, 93, 98, 103, 108, 113, /* Row 4 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 99, 104, 109, /* Row 5 */ 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 90, 100, 105, 110, 115, /* Row 6 */ 65, 66, 67, 68, 69, 70, 72, 71, 86, 91, 96, 106, 111 }; xkeycaps-2.47/kbds/hppcsf700rx-map.h0000644000175000017500000001135510206731452014767 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1999 * Jamie Zawinski * * HP 700/RX PC keyboard (Swedish/Finnish Version) * by Heikki Kantola */ static const struct default_keycode_map hppcsf700rx_map [] = { { 16, 0, { XK_F1 }}, { 17, 0, { XK_Escape }}, { 22, 0, { XK_Tab, hpXK_BackTab }}, { 23, 0, { XK_section, XK_onehalf }}, { 24, 0, { XK_F2 }}, { 26, ControlMask, { XK_Control_L }}, { 27, ShiftMask, { XK_Shift_L }}, { 28, 0, { XK_less, XK_greater, XK_bar }}, { 29, LockMask, { XK_Caps_Lock }}, { 30, 0, { XK_q, XK_Q, XK_periodcentered, XK_periodcentered }}, { 31, 0, { XK_1, XK_exclam, XK_exclamdown, XK_exclamdown }}, { 32, 0, { XK_F3 }}, { 33, 0, { XK_Kanji }}, { 34, Mod1Mask, { XK_Alt_L }}, { 35, 0, { XK_z, XK_Z, XK_paragraph, XK_paragraph }}, { 36, 0, { XK_s, XK_S, XK_ssharp, XK_ssharp }}, { 37, 0, { XK_a, XK_A, XK_aring, XK_Aring }}, { 38, 0, { XK_w, XK_W, XK_asciitilde, XK_asciitilde }}, { 39, 0, { XK_2, XK_quotedbl, XK_at }}, { 40, 0, { XK_F4 }}, { 42, 0, { XK_c, XK_C, XK_ccedilla, XK_Ccedilla }}, { 43, 0, { XK_x, XK_X, XK_scaron, XK_Scaron }}, { 44, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 45, 0, { XK_e, XK_E, XK_ae, XK_AE }}, { 46, 0, { XK_4, XK_currency, XK_dollar, XK_onequarter, hpXK_Ydiaeresis }}, { 47, 0, { XK_3, XK_numbersign, XK_sterling }}, { 48, 0, { XK_F5 }}, { 50, 0, { XK_space }}, { 51, 0, { XK_v, XK_V, XK_section, XK_section }}, { 52, 0, { XK_f, XK_F, hpXK_guilder, hpXK_guilder }}, { 53, 0, { XK_t, XK_T, hpXK_mute_grave, hpXK_mute_grave }}, { 54, 0, { XK_r, XK_R, hpXK_mute_acute, hpXK_mute_acute }}, { 55, 0, { XK_5, XK_percent, XK_onehalf, XK_onehalf }}, { 56, 0, { XK_F6 }}, { 58, 0, { XK_n, XK_N, XK_ordfeminine, XK_ordfeminine }}, { 59, 0, { XK_b, XK_B, hpXK_block, hpXK_block }}, { 60, 0, { XK_h, XK_H, XK_yen, XK_yen }}, { 61, 0, { XK_g, XK_G, XK_currency, XK_currency }}, { 62, 0, { XK_y, XK_Y, hpXK_mute_asciicircum, hpXK_mute_asciicircum }}, { 63, 0, { XK_6, XK_asciicircum, XK_asciicircum, XK_asciicircum }}, { 64, 0, { XK_F7 }}, { 65, 0, { XK_Kanji }}, { 66, Mod1Mask, { XK_Alt_R }}, { 67, 0, { XK_m, XK_M, XK_masculine, XK_masculine }}, { 68, 0, { XK_j, XK_J, XK_dollar, XK_dollar }}, { 69, 0, { XK_u, XK_U, hpXK_mute_diaeresis, hpXK_mute_diaeresis }}, { 70, 0, { XK_7, XK_slash, XK_braceleft }}, { 71, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 72, 0, { XK_F8 }}, { 74, 0, { XK_comma, XK_semicolon, XK_less, XK_less }}, { 75, 0, { XK_k, XK_K, XK_cent, XK_cent }}, { 76, 0, { XK_i, XK_I, hpXK_mute_asciitilde, hpXK_mute_asciitilde }}, { 77, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 78, 0, { XK_0, XK_equal, XK_braceright }}, { 79, 0, { XK_9, XK_parenright, XK_bracketright }}, { 80, 0, { XK_F9, XK_KP_F1 }}, { 82, 0, { XK_period, XK_comma, XK_greater, XK_greater }}, { 83, 0, { XK_slash, XK_question, XK_underscore, XK_underscore }}, { 84, 0, { XK_l, XK_L, XK_sterling, XK_sterling }}, { 85, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 86, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 87, 0, { XK_plus, XK_question, XK_backslash }}, { 88, 0, { XK_F10, XK_KP_F2 }}, { 91, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 92, 0, { XK_apostrophe, XK_asterisk }}, { 93, 0, { XK_aring, XK_Aring }}, { 94, 0, { XK_acute, XK_grave }}, { 95, 0, { XK_F11, XK_KP_F3 }}, { 96, 0, { XK_Print, 0xFF15 }}, { 97, ControlMask, { XK_Control_R }}, { 98, ShiftMask, { XK_Shift_R }}, { 99, 0, { XK_Return }}, { 100, 0, { XK_diaeresis, XK_asciicircum, XK_asciitilde }}, { 103, 0, { XK_F12, XK_KP_F4 }}, { 104, 0, { XK_Scroll_Lock }}, { 105, 0, { XK_Down }}, { 106, 0, { XK_Left }}, { 107, 0, { XK_Pause, XK_Break }}, { 108, 0, { XK_Up }}, { 109, 0, { XK_Delete }}, { 110, 0, { XK_End }}, { 111, 0, { XK_BackSpace }}, { 112, 0, { XK_Insert }}, { 114, 0, { XK_KP_1, 0xFF9C }}, { 115, 0, { XK_Right }}, { 116, 0, { XK_KP_4, 0xFF96 }}, { 117, 0, { XK_KP_7, 0xFF95 }}, { 118, 0, { XK_Next }}, { 119, 0, { XK_Home }}, { 120, 0, { XK_Prior }}, { 121, 0, { XK_KP_0, 0xFF9E }}, { 122, 0, { XK_KP_Decimal, 0xFF9F }}, { 123, 0, { XK_KP_2, 0xFF99 }}, { 124, 0, { XK_KP_5 }}, { 125, 0, { XK_KP_6, 0xFF98 }}, { 126, 0, { XK_KP_8, 0xFF97 }}, { 127, 0, { XK_Num_Lock }}, { 128, 0, { XK_KP_Divide }}, { 130, 0, { XK_KP_Enter }}, { 131, 0, { XK_KP_3, 0xFF9B }}, { 132, Mod1Mask, { XK_Mode_switch }}, { 133, 0, { XK_KP_Add }}, { 134, 0, { XK_KP_9, 0xFF9A }}, { 135, 0, { XK_KP_Multiply }}, { 141, 0, { XK_KP_Subtract }}, }; xkeycaps-2.47/kbds/sun5sw-codes.h0000644000175000017500000000156310206731452014467 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Sun type 5 Swedish keyboard. * By Magnus Hammerin * */ static const KeyCode sun5sw_codes [] = { /* Row 0 */ 125, 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 52, 9, 11, 55, /* Row 1 */ 8, 10, 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 32, 33, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 56, 58, 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, /* Row 4 */ 79, 80, 106, 131, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ 102, 104, 83, 26, 127, 128, 129, 0, 20, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/rtsw8-map.h0000644000175000017500000001136010206731452013766 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the IBM PC/RT keyboard, * 8-bit Swedish layout. Generated by Torbj|rn Lindgren */ static const struct default_keycode_map rtsw8_map [] = { { 7, 0, { XK_F1 }}, { 8, 0, { XK_Escape }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_onehalf, XK_section, XK_bar }}, { 15, 0, { XK_F2 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_less, XK_greater, XK_backslash }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_quotedbl, XK_at }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar, XK_currency }}, { 38, 0, { XK_3, XK_numbersign, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_ampersand }}, { 55, 0, { XK_F7 }}, { 57, Mod5Mask, { XK_Mode_switch }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_slash }}, { 62, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_semicolon }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_equal, XK_braceleft }}, { 70, 0, { XK_9, XK_parenright, XK_bracketright }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_colon }}, { 74, 0, { XK_minus, XK_underscore }}, { 75, 0, { XK_L }}, { 76, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 77, 0, { XK_P }}, { 78, 0, { XK_plus, XK_question, XK_braceright }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 83, 0, { XK_apostrophe, XK_asterisk }}, { 84, 0, { XK_aring, XK_Aring }}, { 85, 0, { XK_apostrophe, XK_grave, XK_asciitilde }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Print }}, { 88, 0, { XK_Meta_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_asciitilde, XK_asciicircum }}, { 94, 0, { XK_F12 }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 98, 0, { XK_Pause }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace, XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Separator }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, 0, { XK_Num_Lock }}, { 119, 0, { XK_KP_Divide }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_KP_9 }}, { 126, 0, { XK_KP_Multiply }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/ncd102sf-caps.h0000644000175000017500000000352710206731452014376 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD N102 Swedish/Finnish * keyboard. By Pekka Nikander */ static const struct key_strings ncd102sf_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", 0}, {"Scroll", "lock", 0}, {"Setup", 0}, /* Row 2 */ {"\275", "\247", 0}, {"!", "1", 0}, {"\\", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "+", 0}, {"`", "\264", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num ", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0, 0}, {"^", "\250", 0}, {"Return", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"+", 0}, /* Row 4 */ {"Caps", "lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0, 0}, {"\304", 0, 0}, {"*", "'", 0}, {"4", 0}, {"5", 0}, {"6", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/tp770-caps.h0000644000175000017500000000272010206731452013731 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the key surfaces of the IBM ThinkPad 770ED keyboard. * By Jamie Zawinski */ static const struct key_strings tp770_caps [] = { /* Row 0 */ {"Esc","",0}, {"Prt Sc", "Sys Rq", 0}, {"NumLk", "ScrLk", 0}, {"Pause", "Break", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, /* Row 2 */ {"F1",0}, {"F2",0}, {"F3",0}, {"F4",0}, {"F5",0}, {"F6",0}, {"F7",0}, {"F8",0}, {"F9",0}, {"F10",0}, {"F11",0}, {"F12",0}, {"Delete",0}, {"End",0}, {"Page","Down",0}, /* Row 3 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, /* Row 4 */ {"Tab",0},{"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, /* Row 5 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, /* Row 6 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, /* Row 7 */ {"Fn", 0}, {"Ctrl", 0}, {"Alt", 0}, { " ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"UpArrow", 0}, /* Row 8 */ {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0} }; xkeycaps-2.47/kbds/tecra500-caps.h0000644000175000017500000000302710206731452014374 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of the Toshiba Tecra 500 keyboard. * By Cesar Augusto Rorato Crusius . */ static const struct key_strings tecra500_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtSc", 0}, {"Pause", 0}, /* Row 2 */ {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Home", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"PgUp", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"PgDn", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"End", 0}, /* Row 6 */ {"Ctrl", 0}, {"Fn", 0}, {"Alt", 0}, {" ", 0}, {"~", "`", 0}, {"Ins", 0}, {"Del", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0} }; xkeycaps-2.47/kbds/presario-caps.h0000644000175000017500000000273010206731452014675 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the key surfaces of the Compaq Presario 1655 keyboard * By Hans Huebner */ static const struct key_strings presario_caps [] = { /* Row 1 */ {"Esc","",0}, {"F1",0}, {"F2",0}, {"F3",0}, {"F4",0}, {"F5",0}, {"F6",0}, {"F7",0}, {"F8",0}, {"F9",0}, {"F10",0}, {"F11",0}, {"F12",0}, {"Prt Sc", "Sys Rq", 0}, {"NumLk", "ScrLk", 0}, {"Pause", "Break", 0}, {"Del",0}, /* Row 3 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", "", 0}, {"Home", "", 0}, /* Row 4 */ {"Tab",0},{"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"PgUp", "", 0}, /* Row 5 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"PgDn", 0}, /* Row 6 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"End", 0}, /* Row 7 */ {"Fn", 0}, {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {"|", "\\", 0}, { " ", 0}, {"Ins", 0}, {"Alt", 0}, {"=/+/", 0}, {"##", 0}, {"Up", 0}, /* Row 8 */ {"Left", 0}, {"Down", 0}, {"Right", 0} }; xkeycaps-2.47/kbds/nws3410-codes.h0000644000175000017500000000234610206731452014342 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the keycodes of the SONY NWS3410 keyboard. * Keyboard model NWP-411A * By Dirk Jablonowski * * The blank key between "?" and "Shift_R" is physically disabled (you have to * open up the keyboard and remove a piece of plastic to enable it) but once * you do that it generates keycode 72. * * The blank keys between "Xfer" and "Enter" are also physically disabled, * and is rather strange once you enable it: * it generates the keycodes 79 and 80 alternately; that is, * it will generate the sequence 79 KeyPress, 79 KeyRelease, * 80 KeyPress, 80 KeyRelease if pressed and released twice. */ static const KeyCode nws3410_codes [] = { /* Row 0 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, /* Row 2 */ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 82, 83, 84, 85, /* Row 3 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 60, 86, 87, 88, 89, /* Row 4 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 90, 91, 92, 93, /* Row 5 */ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 94, 95, 96, 97, /* Row 6 */ 74, 75, 76, 77, 78, 79, 80, 81, 98, 99, 100 }; xkeycaps-2.47/kbds/ncd101-caps.h0000644000175000017500000000337610206731452014046 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD X terminal N101 keyboard. */ static const struct key_strings ncd101_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Line ", "Feed", 0}, {"Break", 0}, {"Setup", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num ", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"+", 0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"4", 0}, {"5", 0}, {"6", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Caps", "Lock", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Option", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/ga5k-caps.h0000644000175000017500000000357510206731452013710 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Concurrent GA5000 keyboard. * By black@westford.ccur.com. */ static const struct key_strings ga5k_caps [] = { /* Row 0 */ {"Sel", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Menu", 0}, {"Help", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"~", "`", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Caps", "Lock", 0}, {"Alt", 0}, {" ", 0}, {"|", "\\", 0}, {"Line", "Feed", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/xfree86sw-map.h0000644000175000017500000001216410206731452014543 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the default SW keymap used by the XFree86 3.3.1 server. * Generated by Mikael Hedin 980218 */ static const struct default_keycode_map xfree86sw_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_onesuperior, XK_exclamdown }}, { 11, 0, { XK_2, XK_quotedbl, XK_at, XK_oneeighth }}, { 12, 0, { XK_3, XK_numbersign, XK_sterling, XK_sterling }}, { 13, 0, { XK_4, XK_currency, XK_dollar, XK_dollar }}, { 14, 0, { XK_5, XK_percent, XK_onehalf, XK_threeeighths }}, { 15, 0, { XK_6, XK_ampersand, XK_threequarters, XK_fiveeighths }}, { 16, 0, { XK_7, XK_slash, XK_braceleft, XK_seveneighths }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft, XK_trademark }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright, XK_plusminus }}, { 19, 0, { XK_0, XK_equal, XK_braceright, XK_degree }}, { 20, 0, { XK_plus, XK_question, XK_backslash, XK_questiondown }}, { 21, 0, { XK_acute, XK_grave, XK_dead_cedilla, XK_dead_ogonek }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 25, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 28, 0, { XK_t, XK_T, XK_tslash, XK_Tslash }}, { 29, 0, { XK_y, XK_Y, XK_leftarrow, XK_yen }}, { 30, 0, { XK_u, XK_U, XK_downarrow, XK_uparrow }}, { 31, 0, { XK_i, XK_I, XK_rightarrow, XK_idotless }}, { 32, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 33, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 34, 0, { XK_aring, XK_Aring, XK_dead_diaeresis, XK_dead_abovering }}, { 35, 0, { XK_diaeresis, XK_asciicircum, XK_dead_tilde, XK_dead_macron }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 39, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 40, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 41, 0, { XK_f, XK_F, XK_dstroke, XK_ordfeminine }}, { 42, 0, { XK_g, XK_G, XK_eng, XK_ENG }}, { 43, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K, XK_kra, XK_ampersand }}, { 46, 0, { XK_l, XK_L, XK_lstroke, XK_Lstroke }}, { 47, 0, { XK_odiaeresis, XK_Odiaeresis, XK_dead_acute, XK_dead_doubleacute }}, { 48, 0, { XK_adiaeresis, XK_Adiaeresis, XK_dead_circumflex, XK_dead_caron }}, { 49, 0, { XK_section, XK_onehalf, XK_notsign }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_apostrophe, XK_asterisk, XK_dead_grave, XK_dead_breve }}, { 52, 0, { XK_z, XK_Z, XK_guillemotleft, XK_less }}, { 53, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 54, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 55, 0, { XK_v, XK_V, XK_leftdoublequotemark, XK_grave }}, { 56, 0, { XK_b, XK_B, XK_rightdoublequotemark, XK_apostrophe }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 59, 0, { XK_comma, XK_semicolon, XK_horizconnector, XK_multiply }}, { 60, 0, { XK_period, XK_colon, XK_periodcentered, XK_division }}, { 61, 0, { XK_minus, XK_underscore, XK_dead_belowdot, XK_dead_abovedot }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Separator }}, { 94, 0, { XK_less, XK_greater, XK_bar, XK_brokenbar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, 0, { XK_Multi_key }}, { 117, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/sun4-xc-map.h0000644000175000017500000000721010206731452014177 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 4 keyboard, * with X Consortium R4 and R5 servers. */ static const struct default_keycode_map sun4_xc_map [] = { /* this key has a keycode but no keysym in the default map */ { 20, 0, { 0 }}, /* Alt Graph, to right of Compose */ { 8, 0, { XK_F11 }}, { 10, 0, { XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, 0, { XK_Alt_L }}, { 28, 0, { XK_F21, XK_Pause }}, { 29, 0, { XK_F22 }}, { 30, 0, { XK_F23 }}, { 32, 0, { XK_F13 }}, { 33, 0, { XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_F24, XK_KP_Equal }}, { 53, 0, { XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15 }}, { 57, 0, { XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_KP_7 }}, { 76, 0, { XK_Up, XK_KP_8 }}, { 77, 0, { XK_F29, XK_KP_9 }}, { 78, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 79, 0, { XK_F17 }}, { 80, 0, { XK_F18 }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter, XK_KP_Enter }}, { 98, 0, { XK_Left, XK_KP_4 }}, { 99, 0, { XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19 }}, { 104, 0, { XK_F20 }}, { 105, 0, { XK_Num_Lock, XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_R13, XK_KP_1 }}, { 120, 0, { XK_Down, XK_KP_2 }}, { 121, 0, { XK_F35, XK_KP_3 }}, { 125, 0, { XK_Help, XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 132, 0, { XK_KP_Add, XK_KP_Add }} }; xkeycaps-2.47/kbds/hpitffi-caps.h0000644000175000017500000000402510206731452014501 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996, 1999 * Jamie Zawinski * * This file describes the key surfaces of the HP 300, 400, and 700 series * keyboards (Finnish). By Tor Lillqvist */ static const struct key_strings hpitffi_caps [] = { /* Row 0 */ {"Alkutila", "Seis", 0}, {"Pys\344yt\344", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"Menu", 0}, {"Omat", "J\344rj", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"Pyyhi", "rivi", 0}, {"Pyyhi", "n\344ytt\366", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, /* Row 2 */ {">", "<", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "+", 0}, {"\311", "\351", 0}, {"Backspace", 0}, {"Lis\344\344", "rivi", 0}, {"Poista", "rivi", 0}, {"*", 0}, {"/", 0}, {"+", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"\334", 0}, {"*", "'", 0}, {"Lis\344\344", "merkki", 0}, {"Poista", "merkki", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"L\344het\344", 0}, /* Row 4 */ {"Lukitus", 0}, {"Ohjaus", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"Return", 0}, {"Home", 0}, {"Edell", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, /* Row 5 */ {"Poista", "Vara", 0}, {"Vaihto", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Vaihto", 0}, {"Poimi", 0}, {"yl\366s", 0}, {"Seur", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Tab", 0}, /* Row 6 */ {"Kopio", "L\344het\344", 0}, {"Lis\344", "merkki", 0}, {" ", 0}, {"Lis\344", "merkki", 0}, {"vas", 0}, {"alas", 0}, {"oik", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/pc102pt-caps.h0000644000175000017500000000366410206731452014251 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the key surfaces of a generic 102 key PC-style * keyboard. By Jan Wedekind */ static const struct key_strings pc102pt_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print Screen","SysReq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"|", "\\", 0}, {"!", "1", 0}, {"\"", "2", "@"}, {"#", "3", "£"}, {"$", "4", "§"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "'", 0}, {"»", "«", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"*", "+", "¨" }, {"`", "'", 0 }, {"Enter", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"ç", 0}, {"ª", "º", 0}, {"^", "~", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/sun5-geom.h0000644000175000017500000000632010206731452013743 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the physical layout of the Sun type 5 keyboards. * By Carl Witty , Sylvain Meunier , * and jwz. * * The "PC" version differs from the regular type 5 keyboard in that the top * row of the main block ends in a wide BS key instead of "|\" and "~`", and * the first key on the bottom row (Control here, Caps on the other one) is * wider. */ static const struct key_geometry sun5_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5pc_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {11, 7}, {7, 7}, {7, 7}, {59, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct key_geometry sun5pc_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {57, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun5_geom_rows [] = { ROW (sun5_geom_row0, 7), EMPTYROW (7), ROW (sun5_geom_row1, 7), ROW (sun5_geom_row2, 7), ROW (sun5_geom_row3, 7), ROW (sun5_geom_row4, 7), ROW (sun5_geom_row5, 7), }; static const struct keyboard_row_geometry sun5pc_geom_rows [] = { ROW (sun5_geom_row0, 7), EMPTYROW (7), ROW (sun5pc_geom_row1, 7), ROW (sun5_geom_row2, 7), ROW (sun5_geom_row3, 7), ROW (sun5_geom_row4, 7), ROW (sun5pc_geom_row5, 7), }; static const struct keyboard_geometry sun5_geom = { sizeof (sun5_geom_rows) / sizeof (struct keyboard_row_geometry), sun5_geom_rows, 6, 3, 3 }; static const struct keyboard_geometry sun5pc_geom = { sizeof (sun5pc_geom_rows) / sizeof (struct keyboard_row_geometry), sun5pc_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/rs6k-aix-map.h0000644000175000017500000000731010206731452014343 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the IBM RS/6000 keyboard. * Generated by Tom McConnell on * IBM RS/6000 55S (550), AIX-3.2.4, with IBM's X11R4 (AIXWindows.) * * On the IBM Xstation 130, keycode 72 (the right Ctrl/Act key) generates * ModControl, but on the IBM RS/6000 it is used for window manager stuff. */ static const struct default_keycode_map rs6k_aix_map [] = { { 9, 0, { XK_grave, XK_asciitilde }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 23, 0, { XK_BackSpace }}, { 24, 0, { XK_Tab }}, { 25, 0, { XK_q, XK_Q }}, { 26, 0, { XK_w, XK_W }}, { 27, 0, { XK_e, XK_E }}, { 28, 0, { XK_r, XK_R }}, { 29, 0, { XK_t, XK_T }}, { 30, 0, { XK_y, XK_Y }}, { 31, 0, { XK_u, XK_U }}, { 32, 0, { XK_i, XK_I }}, { 33, 0, { XK_o, XK_O }}, { 34, 0, { XK_p, XK_P }}, { 35, 0, { XK_bracketleft, XK_braceleft }}, { 36, 0, { XK_bracketright, XK_braceright }}, { 37, 0, { XK_backslash, XK_bar }}, { 38, LockMask, { XK_Caps_Lock }}, { 39, 0, { XK_a, XK_A }}, { 40, 0, { XK_s, XK_S }}, { 41, 0, { XK_d, XK_D }}, { 42, 0, { XK_f, XK_F }}, { 43, 0, { XK_g, XK_G }}, { 44, 0, { XK_h, XK_H }}, { 45, 0, { XK_j, XK_J }}, { 46, 0, { XK_k, XK_K }}, { 47, 0, { XK_l, XK_L }}, { 48, 0, { XK_semicolon, XK_colon }}, { 49, 0, { XK_apostrophe, XK_quotedbl }}, { 51, 0, { XK_Return, XK_Return }}, { 52, ShiftMask, { XK_Shift_L }}, { 54, 0, { XK_z, XK_Z }}, { 55, 0, { XK_x, XK_X }}, { 56, 0, { XK_c, XK_C }}, { 57, 0, { XK_v, XK_V }}, { 58, 0, { XK_b, XK_B }}, { 59, 0, { XK_n, XK_N }}, { 60, 0, { XK_m, XK_M }}, { 61, 0, { XK_comma, XK_less }}, { 62, 0, { XK_period, XK_greater }}, { 63, 0, { XK_slash, XK_question }}, { 65, ShiftMask, { XK_Shift_R }}, { 66, ControlMask, { XK_Control_L }}, { 68, Mod1Mask, { XK_Alt_L }}, { 69, 0, { XK_space, XK_space }}, { 70, Mod1Mask, { XK_Alt_R }}, { 72, 0, { XK_Execute }}, { 83, 0, { XK_Insert }}, { 84, 0, { XK_Delete }}, { 87, 0, { XK_Left }}, { 88, 0, { XK_Home }}, { 89, 0, { XK_End }}, { 91, 0, { XK_Up }}, { 92, 0, { XK_Down }}, { 93, 0, { XK_Prior }}, { 94, 0, { XK_Next }}, { 97, 0, { XK_Right }}, { 98, Mod5Mask, { XK_Num_Lock }}, { 99, 0, { XK_KP_7 }}, { 100, 0, { XK_KP_4 }}, { 101, 0, { XK_KP_1 }}, { 103, 0, { XK_KP_Divide }}, { 104, 0, { XK_KP_8 }}, { 105, 0, { XK_KP_5 }}, { 106, 0, { XK_KP_2 }}, { 107, 0, { XK_KP_0 }}, { 108, 0, { XK_KP_Multiply }}, { 109, 0, { XK_KP_9 }}, { 110, 0, { XK_KP_6 }}, { 111, 0, { XK_KP_3 }}, { 112, 0, { XK_KP_Decimal }}, { 113, 0, { XK_KP_Subtract }}, { 114, 0, { XK_KP_Add }}, { 116, 0, { XK_KP_Enter }}, { 118, 0, { XK_Escape }}, { 120, 0, { XK_F1 }}, { 121, 0, { XK_F2 }}, { 122, 0, { XK_F3 }}, { 123, 0, { XK_F4 }}, { 124, 0, { XK_F5 }}, { 125, 0, { XK_F6 }}, { 126, 0, { XK_F7 }}, { 127, 0, { XK_F8 }}, { 128, 0, { XK_F9 }}, { 129, 0, { XK_F10 }}, { 130, 0, { XK_F11 }}, { 131, 0, { XK_F12 }}, { 132, 0, { XK_Print }}, { 133, 0, { XK_Cancel }}, { 134, 0, { XK_Pause }}, { 139, 0, { XK_Multi_key }}, { 140, 0, { XK_Kanji }}, { 141, 0, { XK_Mode_switch }} }; xkeycaps-2.47/kbds/sun5swfr-caps.h0000644000175000017500000000457210206731452014653 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Sun Swiss-French type 5 keyboard. * By Philippe A. Kipfer (Philippe.Kipfer@di.epfl.ch), dec.1993. * This keyboard meet the TUV standard. * Defined from Sun document "Notes claviers Sun type 5" ref. #800-6803-10 * */ static const struct key_strings sun5swfr_caps [] = { /* Row 0 */ {"Help", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Degauss", "Mute", 0}, {"Dim", "Quiet", 0}, {"Bright", "Loud", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"0", "'", 0}, {"+", "1", "|"}, {"\"", "2", 0}, {"*", "3", "#"}, {"g", "4", "^"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", "`"}, {"?", "'", "'"}, {"`", "^", "~"}, {"Back", 0, 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"|", "h", "["}, {"!", "\"", "]"}, {"Enter", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"v", "i", 0}, {"d", "`", "{"}, {"#", "$", "}"}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {">", "<", "\\"}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"upArrow", 0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pc102-codes.h0000644000175000017500000000145710206731452014052 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of a generic 102 key PC keyboard * on Linux with Xfree86 2.0. By Jan Wedekind */ static const KeyCode pc102_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 83, 84, 85, /* Row 5 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 64, 65, 113, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/tek102-de-caps.h0000644000175000017500000000377610206731452014460 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the key surfaces of the Tektronix X358 keyboard, * _TEK_KEYBOARD_TYPE = "TEK102" (102-key German Keyboard) * By Christoph Tietz . */ static const struct key_strings tek102_de_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", 0}, {"Break", 0}, {"Modus", "Pause", 0}, /* Row 2 */ {"\260", "^", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"\247", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "\337", "\\"}, {"`", "\264", 0}, {"LeftArrow", 0}, {"Einfg", 0}, {"Pos1", 0}, {"Bild", "UpArrow", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0, "@"}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+", "~"}, {"Enter", 0}, {"Entf", 0}, {"Ende", 0}, {"Bild", "DownArrow", 0}, {"7", "Pos1", 0}, {"8", "UpArrow", 0}, {"9", "Bild", "U"}, {"+", 0}, /* Row 4 */ {"Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"'", "#", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", "|"}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "Ende", 0}, {"2", "DownArrow", 0}, {"3", "Bild", "D"}, {"Enter", 0}, /* Row 6 */ {"Strg", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Strg", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Einfg", 0}, {",", "Entf", 0} }; xkeycaps-2.47/kbds/ncd101-codes.h0000644000175000017500000000136710206731452014213 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD X terminal N101 keyboard. */ static const KeyCode ncd101_codes [] = { /* Row 0 */ 8, 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 95, 98, /* Row 2 */ 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 103, 110, 111, 118, 119, 126, 132, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 92, 100, 101, 109, 108, 117, 125, 124, /* Row 4 */ 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 90, 107, 115, 116, /* Row 5 */ 18, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 99, 105, 114, 122, 121, /* Row 6 */ 17, 25, 41, 57, 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/pc104-codes.h0000644000175000017500000000157010206731452014050 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the keycodes of a generic 104 key PC keyboard * on NetBSD with Xfree86 3.x. This is based on file "linux102-codes.h", * as modified by Steven Winikoff, 1997/04/23. */ static const KeyCode pc104_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 113, 116, 117, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/rtsw-caps.h0000644000175000017500000000350010206731452014044 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the key surfaces of the IBM PC/RT Swedish * keyboard. By Torbj|rn Lindgren */ static const struct key_strings rtsw_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "lock", 0}, {"Pause", 0}, /* Row 2 */ {"\275", "\247", "|"}, {"!", "1", 0}, {"\"", "2", "@"}, {"£", "3", "#"}, {"$", "4", "¤"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "{"}, {"?", "+", "}"}, {"`", "'", "~"}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num ", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"Å", 0}, {"^", 0}, {"Return", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"+", 0}, /* Row 4 */ {"Caps", "lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"Ö", 0}, {"Ä", 0}, {"*", "'", 0}, {"4", 0}, {"5", 0}, {"6", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", "\\"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Action", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/magat-codes.h0000644000175000017500000000142110206731452014305 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the MIPS Magnum AT/US keyboard. * By Michael Elbel */ static const KeyCode magat_codes [] = { /* Row 0 */ 126, 13, 14, 12, 20, 11, 19, 139, 18, 9, 17, 128, 15, 24, 134, 31, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 63, 32, 39, 127, 23, 132, 131, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 101, 64, 48, 56, 116, 125, 133, 129, /* Row 4 */ 96, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 98, 115, 123, 124, /* Row 5 */ 26, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 33, 113, 122, 130, 10, /* Row 6 */ 28, 25, 49, 27, 16, 40, 55, 47, 120, 121 }; xkeycaps-2.47/kbds/phasex-pxch2-map.h0000644000175000017500000000664410206731452015222 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keysyms of the PhaseX PXCH2 (Wyse) * keyboard. By Jonathan Abbey */ static const struct default_keycode_map phasex_pxch2_map [] = { { 8, 0, { XK_Home, XK_KP_7 }}, { 9, 0, { XK_period, XK_greater }}, { 10, 0, { XK_K }}, { 11, 0, { XK_U }}, { 12, 0, { XK_5, XK_percent }}, { 13, 0, { XK_backslash, XK_bar }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_Escape }}, { 16, 0, { XK_KP_Add }}, { 17, 0, { XK_equal, XK_plus }}, { 18, 0, { XK_Return }}, { 19, 0, { XK_Y }}, { 20, Mod1Mask, { XK_Alt_L }}, { 21, 0, { XK_2, XK_at }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_1, XK_exclam }}, { 24, 0, { XK_KP_Enter }}, { 25, 0, { XK_comma, XK_less }}, { 26, 0, { XK_F12 }}, { 27, 0, { XK_O }}, { 28, 0, { XK_Num_Lock }}, { 29, LockMask, { XK_Caps_Lock }}, { 30, ControlMask, { XK_Control_L }}, { 31, 0, { XK_backslash, XK_bar }}, { 32, 0, { XK_Delete, XK_KP_Decimal }}, { 33, 0, { XK_F11 }}, { 34, 0, { XK_slash, XK_question }}, { 35, 0, { XK_I }}, { 36, 0, { XK_semicolon, XK_colon }}, { 37, ShiftMask, { XK_Shift_R }}, { 39, ShiftMask, { XK_Shift_L }}, { 40, 0, { XK_Insert, XK_KP_0 }}, { 41, 0, { XK_Prior, XK_KP_9 }}, { 42, 0, { XK_KP_Subtract }}, { 43, 0, { XK_KP_Multiply }}, { 44, 0, { XK_apostrophe, XK_quotedbl }}, { 45, 0, { XK_Select }}, { 46, ControlMask, { XK_Control_R }}, { 47, 0, { XK_space }}, { 48, 0, { XK_KP_Divide }}, { 49, 0, { XK_Z }}, { 50, 0, { XK_L }}, { 51, 0, { XK_minus, XK_underscore }}, { 52, Mod1Mask, { XK_Alt_R }}, { 53, 0, { XK_bracketright, XK_braceright }}, { 54, 0, { XK_Scroll_Lock }}, { 55, 0, { XK_bracketleft, XK_braceleft }}, { 56, 0, { XK_End, XK_KP_1 }}, { 57, 0, { XK_B }}, { 58, 0, { XK_J }}, { 59, 0, { XK_T }}, { 60, 0, { XK_3, XK_numbersign }}, { 61, 0, { XK_Insert }}, { 62, 0, { XK_F7 }}, { 63, 0, { XK_BackSpace }}, { 64, 0, { XK_Down, XK_KP_2 }}, { 65, 0, { XK_M }}, { 66, 0, { XK_H }}, { 67, 0, { XK_P }}, { 68, 0, { XK_4, XK_dollar }}, { 69, 0, { XK_Home }}, { 70, 0, { XK_F6 }}, { 71, 0, { XK_Right }}, { 72, 0, { XK_Next, XK_KP_3 }}, { 73, 0, { XK_N }}, { 74, 0, { XK_G }}, { 75, 0, { XK_R }}, { 76, 0, { XK_0, XK_parenright }}, { 77, 0, { XK_Prior }}, { 78, 0, { XK_F5 }}, { 79, 0, { XK_Up }}, { 80, 0, { XK_Left, XK_KP_4 }}, { 81, 0, { XK_V }}, { 82, 0, { XK_D }}, { 83, 0, { XK_W }}, { 84, 0, { XK_6, XK_asciicircum }}, { 85, 0, { XK_Delete }}, { 86, 0, { XK_F4 }}, { 87, 0, { XK_Down }}, { 88, 0, { XK_KP_5 }}, { 89, 0, { XK_X }}, { 90, 0, { XK_F }}, { 91, 0, { XK_E }}, { 92, 0, { XK_7, XK_ampersand }}, { 93, 0, { XK_End }}, { 94, 0, { XK_F3 }}, { 95, 0, { XK_Left }}, { 96, 0, { XK_Right, XK_KP_6 }}, { 97, 0, { XK_C }}, { 98, 0, { XK_S }}, { 99, 0, { XK_Q }}, { 100, 0, { XK_8, XK_asterisk }}, { 101, 0, { XK_Next }}, { 102, 0, { XK_F2 }}, { 103, 0, { XK_Print }}, { 104, 0, { XK_Up, XK_KP_8 }}, { 105, 0, { XK_F9 }}, { 106, 0, { XK_A }}, { 107, 0, { XK_F8 }}, { 108, 0, { XK_9, XK_parenleft }}, { 109, 0, { XK_F1 }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Tab }}, }; xkeycaps-2.47/kbds/pc105cf-caps.h0000644000175000017500000000414010206731452014207 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the key surfaces of the keyboard with useless * Microsoft keys. It's the CF keyboard written by * Michel Catudal */ static const struct key_strings pc105cf_caps [] = { /* Row 0 */ {"\311chap" ,0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Imp\311c","Syst"}, {"D\351fil", 0, 0}, {"Pause", "Intrp"}, /* Row 2 */ {"#", "|", "\\"}, {"!", "1", "\261"}, {"\"", "2", "@"}, {"/", "3", "\243"}, {"$", "4", "\242"}, {"%", "5", "\241"}, {"?", "6", "\277"}, {"&", "7", "|"}, {"*", "8", "\262"}, {"(", "9", "\263"}, {")", "0", "\274"}, {"_", "-", "\275"}, {"+", "=", "\276"}, {"Retour", 0}, {"Inser", 0}, {"Pos 1", 0}, {"Pg AR", 0}, {"Num", 0}, {"\367", 0}, {"\327", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"^", "^", "["}, {"\250", "\270", "]"}, {"Entr", 0}, {"Suppr", 0}, {"Fin", 0}, {"Pg AV", 0}, {"7", "Pos 1", 0}, {"8", "UpArrow", 0}, {"9", "Pg AR", 0}, {"+", 0}, /* Row 4 */ {"FixMaj", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", "~"}, {"`", "`", "{"}, {">", "<", "}"}, {"4", "LeftArrow", 0}, {"5", "~", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"\273", "\253", "\260"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", "\321", "\361"}, {"M", "\265"}, {"'", "," , "<"}, {"\"", ".", ">"}, {"\311", "\351", "'"}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Entr", 0}, /* Row 6 */ {"Ctrl", 0}, {"[", "]", 0}, {"Alt", 0}, {" ", 0}, {"AltCar", 0}, {"{", "<", 0}, {"}", ">", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Inser", 0}, {".", "Suppr", 0} }; xkeycaps-2.47/kbds/pck301-caps.h0000644000175000017500000000360110206731452014050 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * A 107-key tiny-backspace giant-enter keyboard description. */ static const struct key_strings pck301_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"<-", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Windoze", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Windoze", 0}, {"Menu", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/uw102no-map.h0000644000175000017500000001033110206731452014107 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * This file describes the keymap of a "KeyTronic" 102 key PC-style * keyboard, Norwegian layout, on UnixWare 2 (with the X11R5 server) after * loading the Norwegian xmodmap. * Generated by Endre Witzo . */ static const struct default_keycode_map uw102no_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl, 0, XK_at }}, { 12, 0, { XK_3, XK_numbersign, 0, XK_sterling }}, { 13, 0, { XK_4, XK_currency, 0, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, 0, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, 0, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, 0, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, 0, XK_braceright }}, { 20, 0, { XK_plus, XK_question }}, { 21, 0, { XK_backslash, XK_usldead_grave, 0, XK_usldead_acute }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_aring, XK_Aring }}, { 35, 0, { XK_usldead_diaeresis, XK_usldead_asciicircum, 0, XK_usldead_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_oslash, XK_Ooblique }}, { 48, 0, { XK_ae, XK_AE }}, { 49, 0, { XK_bar, XK_section, 0, XK_brokenbar }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_apostrophe, XK_asterisk }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_L }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space, XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F13 }}, { 68, 0, { XK_F2, XK_F14 }}, { 69, 0, { XK_F3, XK_F15 }}, { 70, 0, { XK_F4, XK_F16 }}, { 71, 0, { XK_F5, XK_F17 }}, { 72, 0, { XK_F6, XK_F18 }}, { 73, 0, { XK_F7, XK_F19 }}, { 74, 0, { XK_F8, XK_F20 }}, { 75, 0, { XK_F9, XK_F21 }}, { 76, 0, { XK_F10, XK_F22 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, 0, { XK_Scroll_Lock }}, { 79, 0, { XK_Home, XK_KP_7, XK_KP_7, XK_Home }}, { 80, 0, { XK_Up, XK_KP_8, XK_KP_8, XK_Up }}, { 81, 0, { XK_Prior, XK_KP_9, XK_KP_9, XK_Prior }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_Left, XK_KP_4, XK_KP_4, XK_Left }}, { 84, 0, { XK_Begin, XK_KP_5, XK_KP_5, XK_Begin }}, { 85, 0, { XK_Right, XK_KP_6, XK_KP_6, XK_Right }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_End, XK_KP_1, XK_KP_1, XK_End }}, { 88, 0, { XK_Down, XK_KP_2, XK_KP_2, XK_Down }}, { 89, 0, { XK_Next, XK_KP_3, XK_KP_3, XK_Next }}, { 90, 0, { XK_Insert, XK_KP_0, XK_KP_0, XK_Insert }}, { 91, 0, { XK_Delete, XK_KP_Decimal, XK_KP_Decimal, XK_Delete }}, { 92, 0, { XK_Print }}, { 93, 0, { XK_Down }}, { 94, 0, { XK_less, XK_greater }}, { 95, 0, { XK_F11, XK_F23 }}, { 96, 0, { XK_F12, XK_F24 }}, { 118, 0, { XK_Left }}, { 119, 0, { XK_Prior }}, { 120, Mod3Mask, { XK_Mode_switch }}, { 122, Mod3Mask, { XK_Alt_R }}, { 123, ControlMask, { XK_Control_L }}, { 124, 0, { XK_KP_Enter }}, { 125, 0, { XK_KP_Divide }}, { 127, 0, { XK_Pause }}, { 128, 0, { XK_Up }}, { 129, 0, { XK_Delete }}, { 130, 0, { XK_End }}, { 131, 0, { XK_Insert }}, { 133, 0, { XK_Right }}, { 134, 0, { XK_Next }}, { 135, 0, { XK_Home }} }; xkeycaps-2.47/kbds/ncd107-codes.h0000644000175000017500000000160210206731452014211 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the keycodes of the NCD 107 keyboard * By Ronan Waide */ static const KeyCode ncd107_codes [] = { /* Row 0 */ 130, 8, 135, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 81, 92, 87, 95, 93, 118, /* Row 1 */ 131, 40, 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 123, 103, 119, 126, 132, /* Row 2 */ 129, 72, 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 90, 108, 117, 125, 124, /* Row 3 */ 133, 104, 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 102, /* end of RET key */ 107, 115, 116, /* end of KP_Add */ /* Row 4 */ 134, 9, 18, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 19, 89, 105, 114, 122, 121, /* Row 5 */ 16, /* other half of HELP */ 17, 88, 25, 41, 57, 32, 48, 112, 113 }; xkeycaps-2.47/kbds/rs6kde-aix-map.h0000644000175000017500000000741110206731452014656 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the IBM RS/6000 german keyboard. * Generated by Joerg Stippa on * IBM RS/6000 32H (320), AIX-3.2.5, with IBM's X11R5 (AIXWindows.) */ static const struct default_keycode_map rs6kde_aix_map [] = { { 9, 0, { XK_dead_circumflex, XK_degree }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 12, 0, { XK_3, XK_section, XK_threesuperior }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, XK_braceright }}, { 20, 0, { XK_ssharp, XK_question, XK_backslash }}, { 21, 0, { XK_dead_acute, XK_dead_grave }}, { 23, 0, { XK_BackSpace }}, { 24, 0, { XK_Tab }}, { 25, 0, { XK_q, XK_Q, XK_at }}, { 26, 0, { XK_w, XK_W }}, { 27, 0, { XK_e, XK_E }}, { 28, 0, { XK_r, XK_R }}, { 29, 0, { XK_t, XK_T }}, { 30, 0, { XK_z, XK_Z }}, { 31, 0, { XK_u, XK_U }}, { 32, 0, { XK_i, XK_I }}, { 33, 0, { XK_o, XK_O }}, { 34, 0, { XK_p, XK_P }}, { 35, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 36, 0, { XK_plus, XK_asterisk, XK_dead_tilde }}, { 38, LockMask, { XK_Shift_Lock }}, { 39, 0, { XK_a, XK_A }}, { 40, 0, { XK_s, XK_S }}, { 41, 0, { XK_d, XK_D }}, { 42, 0, { XK_f, XK_F }}, { 43, 0, { XK_g, XK_G }}, { 44, 0, { XK_h, XK_H }}, { 45, 0, { XK_j, XK_J }}, { 46, 0, { XK_k, XK_K }}, { 47, 0, { XK_l, XK_L }}, { 48, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 49, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 50, 0, { XK_numbersign, XK_apostrophe }}, { 51, 0, { XK_Return, XK_Return }}, { 52, ShiftMask, { XK_Shift_L }}, { 53, 0, { XK_less, XK_greater, XK_bar }}, { 54, 0, { XK_y, XK_Y }}, { 55, 0, { XK_x, XK_X }}, { 56, 0, { XK_c, XK_C }}, { 57, 0, { XK_v, XK_V }}, { 58, 0, { XK_b, XK_B }}, { 59, 0, { XK_n, XK_N }}, { 60, 0, { XK_m, XK_M, XK_mu }}, { 61, 0, { XK_comma, XK_semicolon }}, { 62, 0, { XK_period, XK_colon }}, { 63, 0, { XK_minus, XK_underscore }}, { 65, ShiftMask, { XK_Shift_R }}, { 66, ControlMask, { XK_Control_L }}, { 68, Mod1Mask, { XK_Alt_L }}, { 69, 0, { XK_space, XK_space }}, { 70, Mod2Mask, { XK_Mode_switch }}, { 72, 0, { XK_Execute }}, { 83, 0, { XK_Insert }}, { 84, 0, { XK_Delete }}, { 87, 0, { XK_Left }}, { 88, 0, { XK_Home }}, { 89, 0, { XK_End }}, { 91, 0, { XK_Up }}, { 92, 0, { XK_Down }}, { 93, 0, { XK_Prior }}, { 94, 0, { XK_Next }}, { 97, 0, { XK_Right }}, { 98, Mod5Mask, { XK_Num_Lock }}, { 99, 0, { XK_KP_7 }}, { 100, 0, { XK_KP_4 }}, { 101, 0, { XK_KP_1 }}, { 103, 0, { XK_KP_Divide }}, { 104, 0, { XK_KP_8 }}, { 105, 0, { XK_KP_5 }}, { 106, 0, { XK_KP_2 }}, { 107, 0, { XK_KP_0 }}, { 108, 0, { XK_KP_Multiply }}, { 109, 0, { XK_KP_9 }}, { 110, 0, { XK_KP_6 }}, { 111, 0, { XK_KP_3 }}, { 112, 0, { XK_KP_Decimal }}, { 113, 0, { XK_KP_Subtract }}, { 114, 0, { XK_KP_Add }}, { 116, 0, { XK_KP_Enter }}, { 118, 0, { XK_Escape }}, { 120, 0, { XK_F1 }}, { 121, 0, { XK_F2 }}, { 122, 0, { XK_F3 }}, { 123, 0, { XK_F4 }}, { 124, 0, { XK_F5 }}, { 125, 0, { XK_F6 }}, { 126, 0, { XK_F7 }}, { 127, 0, { XK_F8 }}, { 128, 0, { XK_F9 }}, { 129, 0, { XK_F10 }}, { 130, 0, { XK_F11 }}, { 131, 0, { XK_F12 }}, { 132, 0, { XK_Print }}, { 133, 0, { XK_Cancel }}, { 134, 0, { XK_Pause }}, { 139, 0, { XK_Multi_key }}, { 140, 0, { XK_Kanji }}, { 141, Mod2Mask, { XK_Mode_switch }} }; xkeycaps-2.47/kbds/lk421-codes.h0000644000175000017500000000266010206731452014057 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the DEC LK421 keyboard. * By Tom Ivar Helbekkmo * * The LK421 is really an LK401 that has been shrunk by removing the keypads, * and having them doubled on normal keys through the use of a new "Extend" * modifier that's local to the keyboard; it is not "visible" to the X clients. * * This file displays two images of the keyboard, the "normal" one on top, * and one containing only the "extended" keyboard at the bottom. This is * necessary because each key has two keycodes... */ static const KeyCode lk421_codes [] = { /* Row 0 */ 86, 87, 88, 89, 90, 100, 101, 102, 103, 104, 167, 169, 170, 168, /* Row 1 */ 191, 192, 197, 203, 208, 214, 219, 224, 229, 234, 239, 249, 245, 188, /* Row 2 */ 190, 193, 198, 204, 209, 215, 220, 225, 230, 235, 240, 250, 246, 247, 201, /* Row 3 */ 175, 194, 199, 205, 210, 216, 221, 226, 231, 236, 242, 251, 189, /* Row 4 */ 174, 195, 200, 206, 211, 217, 222, 227, 232, 237, 243, 171, /* Row 5 */ 177, 172, 212, 178, 173, /* Second version: */ /* Row 7 */ 113, 114, 115, 116, 124, 125, 128, 129, 130, 131, /* Row 8 */ 161, 162, 163, 164, 138, 139, 140, /* Row 9 */ 157, 158, 159, 160, 141, 142, 143, /* Row 10 */ 153, 154, 155, 156, 149, /* Row 11 */ 150, 151, 152, 148, 176, /* Row 12 */ 0, 146 }; xkeycaps-2.47/kbds/tek200u-de-map.h0000644000175000017500000000700410206731452014457 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "german" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_de_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_asciitilde, XK_asciicircum }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Y }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_section }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Z }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 85, 0, { XK_P }}, { 86, 0, { XK_ssharp, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 91, 0, { XK_numbersign, XK_apostrophe }}, { 92, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 93, 0, { XK_acute, XK_grave }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_plus, XK_asterisk }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/tek102-geom.h0000644000175000017500000000375710206731452014072 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the physical layout of the Tektronix X358 keyboard, * _TEK_KEYBOARD_TYPE = "TEK102" (102-key German Keyboard) * * By Christoph Tietz . */ static const struct key_geometry tek102_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek102_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek102_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {9, 14}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry tek102_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {36, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry tek102_geom_row5 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {18, 7}, {10, 0}, {7, 7}, {10, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry tek102_geom_row6 [] = { {12, 7}, {7, 0}, {11, 7}, {47, 7}, {11, 7}, {7, 0}, {10, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry tek102_geom_rows [] = { ROW (tek102_geom_row0, 7), EMPTYROW (5), ROW (tek102_geom_row2, 7), ROW (tek102_geom_row3, 7), ROW (tek102_geom_row4, 7), ROW (tek102_geom_row5, 7), ROW (tek102_geom_row6, 7), }; static const struct keyboard_geometry tek102_geom = { sizeof (tek102_geom_rows) / sizeof (struct keyboard_row_geometry), tek102_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/elite-codes.h0000644000175000017500000000130410206731452014316 0ustar cbcb/* xkeycaps, Copyright (c) 1997 Jamie Zawinski * * This file describes keycodes generated by the Midwest-Micro * Elite Soundbook multimedia notebook keyboard interface. * By Garst R. Reese */ static const KeyCode elite_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 77, 111, 78, 110, /* Row 2 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 97, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 99, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 105, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 103, /* Row 6 */ 0, 37, 64, 49, 65, 113, 106, 107, 100, 104, 102 }; xkeycaps-2.47/kbds/sunsh-6868-geom.h0000644000175000017500000000404610206731452014625 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the physical layout of a Brazilian ABNT2 107 key PC * keyboard. This is based on file "pc101-geom.h". * By Andre Gerhard - 05/12/98 */ static const struct key_geometry sunsh_6868_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sunsh_6868_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sunsh_6868_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sunsh_6868_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {44, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sunsh_6868_geom_row5 [] = { {15, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {13, 7}, {7, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sunsh_6868_geom_row6 [] = { {9, 7}, {9, 7}, {9, 7}, {40, 7}, {9, 7}, {9, 7}, {11, 7}, {9, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sunsh_6868_geom_rows [] = { ROW (sunsh_6868_geom_row0, 7), EMPTYROW (5), ROW (sunsh_6868_geom_row2, 7), ROW (sunsh_6868_geom_row3, 7), ROW (sunsh_6868_geom_row4, 7), ROW (sunsh_6868_geom_row5, 7), ROW (sunsh_6868_geom_row6, 7), }; static const struct keyboard_geometry sunsh_6868_geom = { sizeof (sunsh_6868_geom_rows) / sizeof (struct keyboard_row_geometry), sunsh_6868_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/macstd-caps.h0000644000175000017500000000301010206731452014314 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Apple Standard ADB keyboard * for X11R6 server on NetBSD/mac68k. By Ken Nakata . */ static const struct key_strings macstd_caps [] = { /* Row 0 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"delete", 0}, {"clear", 0}, {"=", 0}, {"/", 0}, {"*", 0}, /* Row 1 */ {"tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"+", 0}, /* Row 2 */ {"control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"return", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {"-", 0}, /* Row 3 */ {"shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"shift", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"enter", 0}, /* Row 4 */ {"caps", "lock", 0}, {"option", 0}, {"command", 0}, {"~", "`", 0}, {" ", 0}, {"|", "\\", 0}, {"LeftArrow", 0}, {"RightArrow", 0}, {"DownArrow", 0}, {"UpArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/sun5pc-xc-map.h0000644000175000017500000001026510206731452014527 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * by Jamie Zawinski * * This file describes the default keymap of the Sun type 5 PC-style keyboard * as interpreted by X Consortium R4 and R5 servers. * By Carl Witty and Sylvain Meunier . */ static const struct default_keycode_map sun5pc_xc_map [] = { /* these have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 20, 0, { 0 }}, /* Alt Graph, to right of Compose */ { 27, 0, { 0 }}, /* UpArrow */ { 31, 0, { 0 }}, /* LeftArrow */ { 34, 0, { 0 }}, /* DownArrow */ { 35, 0, { 0 }}, /* DownArrow */ { 51, 0, { 0 }}, /* Insert */ { 55, 0, { 0 }}, /* Power */ { 59, 0, { 0 }}, /* Home */ { 81, 0, { 0 }}, /* End */ { 103, 0, { 0 }}, /* Page Up */ { 130, 0, { 0 }}, /* Page Down */ { 8, 0, { XK_F11 }}, { 10, 0, { XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, 0, { XK_Alt_L }}, { 28, 0, { XK_F21, XK_Pause }}, { 29, 0, { XK_F22 }}, { 30, 0, { XK_F23 }}, { 32, Mod3Mask, { XK_F13 }}, { 33, 0, { XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_F24, XK_KP_Equal }}, { 53, 0, { XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15 }}, { 57, 0, { XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_KP_7 }}, { 76, 0, { XK_Up, XK_KP_8 }}, { 77, 0, { XK_F29, XK_KP_9 }}, { 78, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 79, 0, { XK_F17 }}, { 80, Mod3Mask, { XK_F18 }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter, XK_KP_Enter }}, { 98, 0, { XK_Left, XK_KP_4 }}, { 99, 0, { XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19 }}, { 104, Mod3Mask, { XK_F20 }}, { 105, Mod2Mask, { XK_Num_Lock, XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_F33, XK_KP_1 }}, { 120, 0, { XK_Down, XK_KP_2 }}, { 121, 0, { XK_F35, XK_KP_3 }}, { 125, 0, { XK_Help, XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 132, 0, { XK_KP_Add, XK_KP_Add }} }; xkeycaps-2.47/kbds/hhkb-geom.h0000644000175000017500000000465610206731452013777 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the layout of the Happy Hacking Keyboard by PFU ltd. * By Christoph Berg 990821. * * This keyboard is designes to match close the Sun type 5 keyboard, thanks for * the authors of hhbkl-geom.h, from which I copied most of this file. * * The HHKB has only 60 keys, but features a Fn-key, with which most of the * other PC style keys can be emulated. * * I only added support for the keyboard mode where the "Delete" key geneates * the "BackSpace" keysym, which is probably the best mode. (Jumper 1 set * to 1; 0 is factory default.) * * DIP switch 2 selects Meta or Windows keys, the latter appear on the far * right bottom in xkeycaps. */ /* "virtual" keys while Fn pressed */ static const struct key_geometry hhbk_geom_row0 [] = { {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hhbk_geom_row1 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry hhbk_geom_row2 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, /* Fn keys */ /* {4, 0}, {7, 7} BS key if DIP switch 0 off */ }; static const struct key_geometry hhbk_geom_row3 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} /* Fn keys */ }; static const struct key_geometry hhbk_geom_row4 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {7, 7}, {10, 0}, {7, 7}, {7, 7}, {7, 7} /* Fn keys */ }; static const struct key_geometry hhbk_geom_row5 [] = { {11, 0}, {7, 7}, {10, 7}, {42, 7}, {10, 7}, {7, 7}, {22, 0}, {10, 7}, {10, 7}, {10, 7} /* Fn keys: caps lock, windows */ }; static const struct keyboard_row_geometry hhbk_geom_rows [] = { ROW (hhbk_geom_row0, 7), EMPTYROW (4), ROW (hhbk_geom_row1, 7), ROW (hhbk_geom_row2, 7), ROW (hhbk_geom_row3, 7), ROW (hhbk_geom_row4, 7), ROW (hhbk_geom_row5, 7), }; static const struct keyboard_geometry hhkb_geom = { sizeof (hhbk_geom_rows) / sizeof (struct keyboard_row_geometry), hhbk_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/pc102es-caps.h0000644000175000017500000000406210206731452014226 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the key surfaces of a generic 102 key PC-style * spanish (spaniard) keyboard. Manuel J. Galan * */ static const struct key_strings pc102es_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Impr", "Pant", 0}, {"Bloq", "Despl", 0}, {"Pausa", 0}, /* Row 2 */ {"\252", "\272 \\", 0}, {"!", "1 |", 0}, {"\"", "2 @", 0}, {"\267", "3 #", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6 \254", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "'", 0}, {"\241", "\277", 0}, {"Retroceso", 0}, {"Insert", 0}, {"Inicio", 0}, {"Re", "Pag", 0}, {"Bloq", "Num", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"^", "` [", 0 }, {"*", "+ ]", 0 }, {"Intro", 0}, {"Supr", 0}, /* "Home" -> "Del" says leguern@inf.enst.fr */ {"Fin", 0}, {"Av", "Pag", 0}, {"7", "Inicio", 0}, {"8", "UpArrow", 0}, {"9", "Re Pag", 0}, {"+", 0}, /* Row 4 */ {"Bloq","Mayus", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\321", 0}, {"\250", "' {", 0}, {"\307", " }", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"UpArrow", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"UpArrow", 0}, {"UpArrow", 0}, {"1", "Fin", 0}, {"2", "DownArrow", 0}, {"3", "Av Pag", 0}, {"Intro", 0}, /* Row 6 */ {"Control", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Control", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Supr", 0} }; xkeycaps-2.47/kbds/NeXT-caps.h0000644000175000017500000000275110206731452013672 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NeXTstation non-ADB keyboard * for the co-Xist 3.0 X server. By Eric Benson . */ static const struct key_strings NeXT_caps [] = { /* Row 0 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"~", "`", 0}, {"=", 0}, {"/", 0}, {"*", 0}, /* Row 1 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 2 */ {"Control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {"+", 0}, /* Row 3 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 4 */ {"Alternate", 0}, {"Command", 0}, {" ", 0}, {"Command", 0}, {"Alternate", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/nws1250-caps.h0000644000175000017500000000273410206731452014174 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the SONY NWS1250 keyboard. * By Pavel Rosendorf */ static const struct key_strings nws1250_caps [] = { /* Row 0 */ {"POWER", " ON ", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, /* Row 2 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"Bs", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Ins", "Del", 0}, {"Ret", 0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"~", "`", 0}, {"Return", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {0, 0}, {"Shift", 0}, /* Row 6 */ {"Alt", 0}, {0, 0}, {"Caps", 0}, {"Nfer", 0}, {" ", 0}, {"Xfer", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"UpArrow", 0}, {"RightArrow", 0}, {"Enter", 0} }; xkeycaps-2.47/kbds/magat-map.h0000644000175000017500000000631010206731452013767 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the MIPS Magnum AT/US keyboard. * By Michael Elbel */ static const struct default_keycode_map magat_map [] = { { 9, 0, { XK_F9 }}, { 10, 0, { XK_KP_Enter }}, { 11, 0, { XK_F5 }}, { 12, 0, { XK_F3 }}, { 13, 0, { XK_F1 }}, { 14, 0, { XK_F2 }}, { 15, 0, { XK_F12 }}, { 16, ControlMask, { XK_Control_R }}, { 17, 0, { XK_F10 }}, { 18, 0, { XK_F8 }}, { 19, 0, { XK_F6 }}, { 20, 0, { XK_F4 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_KP_Divide }}, { 24, 0, { XK_Print }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 27, Mod1Mask, { XK_Alt_R }}, { 28, ControlMask, { XK_Control_L }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 31, 0, { XK_Break }}, { 32, 0, { XK_Home }}, { 33, 0, { XK_Up }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_Prior }}, { 40, 0, { XK_Left }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_Right }}, { 48, 0, { XK_End }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_Down }}, { 56, 0, { XK_Next }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_Insert }}, { 64, 0, { XK_Delete }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 73, 0, { XK_comma, XK_less }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 81, 0, { XK_period, XK_greater }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 96, LockMask, { XK_Caps_Lock }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 101, 0, { XK_backslash, XK_bar }}, { 110, 0, { XK_BackSpace }}, { 113, 0, { XK_KP_1 }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_Escape }}, { 127, 0, { XK_Num_Lock }}, { 128, 0, { XK_F11 }}, { 129, 0, { XK_KP_Add }}, { 130, 0, { XK_KP_3 }}, { 131, 0, { XK_KP_Subtract }}, { 132, 0, { XK_KP_Multiply }}, { 133, 0, { XK_KP_9 }}, { 134, 0, { XK_Pause }}, { 139, 0, { XK_F7 }} }; xkeycaps-2.47/kbds/ncd123-map.h0000644000175000017500000001330410206731452013671 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996 * Jamie Zawinski * * This file describes the default keymap of the NCD123-UX keyboard. * Generated by John Palmieri */ static const struct default_keycode_map ncd123_map [] = { { 8, 0, { XK_Escape }}, { 9, 0, { XK_Help }}, { 10, 0, { XK_F11, XK_F11, XK_Cancel }}, { 11, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_Escape }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F14, XK_F14, XK_Undo }}, { 17, LockMask, { XK_Caps_Lock }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_F15, XK_F15, SunXK_Front }}, { 20, ControlMask, { XK_Control_L }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 24, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 25, Mod4Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 32, 0, { XK_F17, XK_F17, SunXK_Open }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 40, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 48, 0, { XK_F19, XK_F19, XK_Find }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 56, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 57, 0, { XK_Multi_key }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 64, Mod1Mask, { XK_Meta_L }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 72, Mod1Mask, { XK_Meta_R }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 86, 0, { SunXK_F36 }}, { 87, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 88, Mod2Mask, { XK_Mode_switch }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 92, 0, { XK_BackSpace }}, { 94, 0, { SunXK_F37 }}, { 95, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 98, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_grave, XK_asciitilde }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 108, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 113, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 114, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 115, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 116, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 117, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 118, Mod3Mask, { XK_Num_Lock }}, { 119, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 120, 0, { XK_less, XK_greater }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 123, 0, { XK_backslash, XK_bar }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 126, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 132, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 135, 0, { XK_F1 }}, { 218, 0, { XK_agrave, XK_Agrave }}, { 219, 0, { XK_egrave, XK_Egrave }}, { 220, 0, { XK_igrave, XK_Igrave }}, { 221, 0, { XK_ograve, XK_Ograve }}, { 222, 0, { XK_ugrave, XK_Ugrave }}, { 223, 0, { XK_grave }}, { 224, 0, { XK_acircumflex, XK_Acircumflex }}, { 225, 0, { XK_ecircumflex, XK_Ecircumflex }}, { 226, 0, { XK_icircumflex, XK_Icircumflex }}, { 227, 0, { XK_ocircumflex, XK_Ocircumflex }}, { 228, 0, { XK_ucircumflex, XK_Ucircumflex }}, { 229, 0, { XK_asciicircum }}, { 230, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 231, 0, { XK_ediaeresis, XK_Ediaeresis }}, { 232, 0, { XK_idiaeresis, XK_Idiaeresis }}, { 233, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 234, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 235, 0, { XK_ydiaeresis }}, { 236, 0, { XK_diaeresis, XK_diaeresis }}, { 237, 0, { XK_atilde, XK_Atilde }}, { 238, 0, { XK_ntilde, XK_Ntilde }}, { 239, 0, { XK_otilde, XK_Otilde }}, { 240, 0, { XK_asciitilde }}, { 241, 0, { XK_aacute, XK_Aacute }}, { 242, 0, { XK_eacute, XK_Eacute }}, { 243, 0, { XK_iacute, XK_Iacute }}, { 244, 0, { XK_oacute, XK_Oacute }}, { 245, 0, { XK_uacute, XK_Uacute }}, { 246, 0, { XK_acute }}, { 247, 0, { XK_ccedilla, XK_Ccedilla }}, { 248, 0, { XK_cedilla }}, { 80, 0, { 0 }}, { 81, 0, { 0 }}, { 83, 0, { 0 }}, { 127, 0, { 0 }}, { 128, 0, { 0 }}, { 129, 0, { 0 }}, { 130, 0, { 0 }}, { 131, 0, { 0 }} }; xkeycaps-2.47/kbds/tek102-de-map.h0000644000175000017500000000740710206731452014302 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the default keymap of the Tektronix X358 keyboard, * _TEK_KEYBOARD_TYPE = "TEK102" (102-key German Keyboard) * Generated by Christoph Tietz . */ static const struct default_keycode_map tek102_de_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_asciicircum, XK_degree }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 27, 0, { XK_less, XK_greater }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L }}, { 34, 0, { XK_Y }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_section }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Z }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 65, 0, { XK_Alt_R }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 85, 0, { XK_P }}, { 86, 0, { XK_ssharp, XK_question }}, { 87, 0, { XK_F10 }}, { 90, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 91, 0, { XK_numbersign, XK_apostrophe }}, { 92, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 93, 0, { XK_acute, XK_grave }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Linefeed }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_plus, XK_asterisk }}, { 102, 0, { XK_F12 }}, { 103, 0, { XK_Break }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { XK_VoidSymbol, XK_Pause }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1, XK_End }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4, XK_Left }}, { 116, 0, { XK_KP_7, XK_Home }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0, XK_Insert }}, { 121, 0, { XK_comma, XK_Delete }}, { 122, 0, { XK_KP_2, XK_Down }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6, XK_Right }}, { 125, 0, { XK_KP_8, XK_Up }}, { 126, 0, { XK_Num_Lock }}, { 127, 0, { XK_division }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3, XK_Next }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_9, XK_Prior }}, { 134, 0, { XK_multiply }}, { 140, 0, { XK_KP_Subtract }}, { 168, 0, { XK_bar }}, { 170, 0, { XK_at }}, { 179, 0, { XK_twosuperior }}, { 187, 0, { XK_threesuperior }}, { 207, 0, { XK_mu }}, { 210, 0, { XK_braceleft }}, { 211, 0, { XK_bracketleft }}, { 218, 0, { XK_braceright }}, { 219, 0, { XK_bracketright }}, { 227, 0, { XK_backslash }}, { 240, 0, { XK_asciitilde }} }; xkeycaps-2.47/kbds/ncd108-map.h0000644000175000017500000000673110206731452013702 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD X terminal N108 keyboard. */ static const struct default_keycode_map ncd108_map [] = { /* these have keycodes but no keysyms in the default map */ { 100, 0, { 0 }}, /* Remove */ { 119, 0, { XK_Multi_key }}, /* Compose Left */ { 120, 0, { XK_Multi_key }}, /* Compose Right */ { 8, 0, { XK_KP_F1 }}, { 9, 0, { XK_less, XK_greater }}, { 10, 0, { XK_Escape }}, { 11, 0, { XK_BackSpace }}, { 12, 0, { XK_Linefeed }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_grave, XK_asciitilde }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F1 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 57, Mod1Mask, { XK_Alt_R }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 80, 0, { XK_F14 }}, { 81, 0, { XK_Help }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 83, 0, { XK_backslash, XK_bar }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 87, 0, { XK_KP_F4 }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 95, 0, { XK_KP_F3 }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 99, 0, { XK_Up }}, { 101, 0, { XK_Select }}, { 102, 0, { XK_Delete }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Find }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Decimal }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, 0, { XK_KP_F2 }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 124, 0, { XK_KP_Separator }}, { 125, 0, { XK_KP_9 }}, { 127, 0, { XK_Menu }}, { 128, 0, { XK_F17 }}, { 129, 0, { XK_F18 }}, { 130, 0, { XK_F19 }}, { 131, 0, { XK_F20 }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/pc102-caps.h0000644000175000017500000000372110206731452013677 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of a generic 102 key PC-style * keyboard. By Jan Wedekind */ static const struct key_strings pc102_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0 }, {"}", "]", 0 }, {"Enter", 0}, {"Del", 0}, /* "Home" -> "Del" says leguern@inf.enst.fr */ {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"|", "\\", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/tekxn10-sf-map.h0000644000175000017500000001061510206731452014601 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * Default mapping for Tektronix XN10/XN11 with Swedish keyboard * By Kristian Ejvind (Kristian.Ejvind@sth.frontec.se) */ static const struct default_keycode_map tekxn10_sf_map [] = { { 9, 0, { XK_Escape, XK_Escape }}, { 10, 0, { XK_asciitilde, XK_degree }}, { 11, 0, { XK_1, XK_exclam }}, { 12, 0, { XK_2, XK_quotedbl }}, { 13, 0, { XK_3, XK_section }}, { 14, 0, { XK_4, XK_currency }}, { 15, 0, { XK_5, XK_percent }}, { 16, 0, { XK_6, XK_ampersand }}, { 17, 0, { XK_7, XK_slash }}, { 18, 0, { XK_8, XK_parenleft }}, { 19, 0, { XK_9, XK_parenright }}, { 20, 0, { XK_0, XK_equal }}, { 21, 0, { XK_plus, XK_question }}, { 22, 0, { XK_asciicircum, XK_grave }}, { 23, 0, { XK_BackSpace, XK_BackSpace }}, { 24, 0, { XK_Delete, XK_Delete }}, { 25, 0, { XK_Linefeed, XK_Linefeed }}, { 26, 0, { XK_Tab, XK_Tab }}, { 27, 0, { XK_q, XK_Q }}, { 28, 0, { XK_w, XK_W }}, { 29, 0, { XK_e, XK_E }}, { 30, 0, { XK_r, XK_R }}, { 31, 0, { XK_t, XK_T }}, { 32, 0, { XK_y, XK_Y }}, { 33, 0, { XK_u, XK_U }}, { 34, 0, { XK_i, XK_I }}, { 35, 0, { XK_o, XK_O }}, { 36, 0, { XK_p, XK_P }}, { 37, 0, { XK_aring, XK_Aring }}, { 38, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 39, 0, { XK_Return, XK_Return }}, { 40, ControlMask, { XK_Control_L, XK_Control_L }}, { 41, LockMask, { XK_Caps_Lock, XK_Caps_Lock }}, { 42, 0, { XK_a, XK_A }}, { 43, 0, { XK_s, XK_S }}, { 44, 0, { XK_d, XK_D }}, { 45, 0, { XK_f, XK_F }}, { 46, 0, { XK_g, XK_G }}, { 47, 0, { XK_h, XK_H }}, { 48, 0, { XK_j, XK_J }}, { 49, 0, { XK_k, XK_K }}, { 50, 0, { XK_l, XK_L }}, { 51, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 52, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 53, 0, { XK_apostrophe, XK_asterisk }}, { 54, ShiftMask, { XK_Shift_L, XK_Shift_L }}, { 55, 0, { XK_less, XK_greater }}, { 56, 0, { XK_z, XK_Z }}, { 57, 0, { XK_x, XK_X }}, { 58, 0, { XK_c, XK_C }}, { 59, 0, { XK_v, XK_V }}, { 60, 0, { XK_b, XK_B }}, { 61, 0, { XK_n, XK_N }}, { 62, 0, { XK_m, XK_M }}, { 63, 0, { XK_comma, XK_semicolon }}, { 64, 0, { XK_period, XK_colon }}, { 65, 0, { XK_minus, XK_underscore }}, { 66, ShiftMask, { XK_Shift_R, XK_Shift_R }}, { 67, Mod1Mask, { XK_Alt_L, XK_Alt_L }}, { 68, 0, { XK_space, XK_space }}, { 69, 0, { TekXK_Tek, TekXK_Tek }}, { 70, 0, { XK_KP_F1, XK_KP_F1 }}, { 71, 0, { XK_KP_F2, XK_KP_F2 }}, { 72, 0, { XK_KP_F3, XK_KP_F3 }}, { 73, 0, { XK_KP_F4, XK_KP_F4 }}, { 74, 0, { XK_KP_7, XK_KP_7 }}, { 75, 0, { XK_KP_8, XK_KP_8 }}, { 76, 0, { XK_KP_9, XK_KP_9 }}, { 77, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 78, 0, { XK_KP_4, XK_KP_4 }}, { 79, 0, { XK_KP_5, XK_KP_5 }}, { 80, 0, { XK_KP_6, XK_KP_6 }}, { 81, 0, { XK_KP_Separator, XK_KP_Separator }}, { 82, 0, { XK_KP_1, XK_KP_1 }}, { 83, 0, { XK_KP_2, XK_KP_2 }}, { 84, 0, { XK_KP_3, XK_KP_3 }}, { 85, 0, { XK_KP_0, XK_KP_0 }}, { 86, 0, { XK_KP_Decimal, XK_KP_Decimal }}, { 87, 0, { XK_KP_Enter, XK_KP_Enter }}, { 88, 0, { XK_Find, XK_Find }}, { 89, 0, { XK_Insert, XK_Insert }}, { 90, 0, { TekXK_Remove, TekXK_Remove }}, { 91, 0, { XK_Select, XK_Select }}, { 92, 0, { XK_Prior, XK_Prior }}, { 93, 0, { XK_Next, XK_Next }}, { 94, 0, { TekXK_Hold, TekXK_Hold }}, { 95, 0, { TekXK_Copy, TekXK_Copy }}, { 96, 0, { TekXK_Setup, TekXK_Setup }}, { 97, 0, { XK_Menu, XK_Menu }}, { 98, 0, { XK_Break, XK_Break }}, { 99, 0, { XK_F6, XK_F6 }}, { 100, 0, { XK_F7, XK_F7 }}, { 101, 0, { XK_F8, XK_F8 }}, { 102, 0, { XK_F9, XK_F9 }}, { 103, 0, { XK_F10, XK_F10 }}, { 104, 0, { XK_F11, XK_F11 }}, { 105, 0, { XK_F12, XK_F12 }}, { 106, 0, { XK_F13, XK_F13 }}, { 107, 0, { XK_F14, XK_F14 }}, { 108, 0, { XK_Help, XK_Help }}, { 109, 0, { XK_Execute, XK_Execute }}, { 110, 0, { XK_F17, XK_F17 }}, { 111, 0, { XK_F18, XK_F18 }}, { 112, 0, { XK_F19, XK_F19 }}, { 113, 0, { XK_F20, XK_F20 }}, { 114, 0, { XK_Right, XK_Right }}, { 115, 0, { XK_Up, XK_Up }}, { 116, 0, { XK_Left, XK_Left }}, { 117, 0, { XK_Down, XK_Down }}, /* * It's impossible to generate keycode 118 on this keyboard, * but it still has got a default mapping! */ { 118, Mod1Mask, { 0 }}, }; xkeycaps-2.47/kbds/dell-codes.h0000644000175000017500000000133410206731452014137 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the DELL PC keyboard. */ static const KeyCode dell_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 64, 65, 113, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/apollo-geom.h0000644000175000017500000000371210206731452014341 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the physical layout of an HP Apollo-thingy type * keyboard. By Mick J Hellstrom */ static const struct key_geometry apollo_geom_row0 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 0}, {10, 7}, {11, 7}, {10, 7}, {11, 7}, {10, 7}, {7, 0}, {10, 7}, {11, 7}, {10, 7}, {11, 7}, {10, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry apollo_geom_row1 [] = { {7, 7}, {7, 7}, {7, 7}, {10, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 7} }; static const struct key_geometry apollo_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {10, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {6, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry apollo_geom_row3 [] = { {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry apollo_geom_row4 [] = { {7, 7}, {7, 7}, {7, 7}, {5, 0}, {7, 7}, {14, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry apollo_geom_row5 [] = { {7, 7}, {7, 7}, {7, 7}, {36, 0}, {55, 7}, {37, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry apollo_geom_rows [] = { ROW (apollo_geom_row0, 7), ROW (apollo_geom_row1, 7), ROW (apollo_geom_row2, 7), ROW (apollo_geom_row3, 7), ROW (apollo_geom_row4, 7), ROW (apollo_geom_row5, 7), }; static const struct keyboard_geometry apollo_geom = { sizeof (apollo_geom_rows) / sizeof (struct keyboard_row_geometry), apollo_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/sun5es-codes.h0000644000175000017500000000157310206731452014446 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Sun type 5 keyboard with Spanish * layout. By anonymous. */ static const KeyCode sun5es_codes [] = { /* Row 0 */ 125, 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 52, 9, 11, 55, /* Row 1 */ 8, 10, 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 32, 33, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 56, 58, 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, /* Row 4 */ 79, 80, 106, 131, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ 102, 104, 83, 26, 127, 128, 129, 74, 20, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/ncd97-codes.h0000644000175000017500000000132410206731452014142 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD X terminal N97 keyboard. */ static const KeyCode ncd97_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 95, 0, /* Row 2 */ 8, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 14, 102, 118, 119, 126, 124, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 92, 100, 108, 117, 125, 132, /* Row 4 */ 17, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 90, 87, 107, 115, 116, 109, /* Row 5 */ 18, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 99, 88, 105, 114, 122, 121, /* Row 6 */ 20, 25, 41, 57, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/tek101-c-codes.h0000644000175000017500000000160110206731452014441 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Tektronix XP217C keyboard, * _TEK_KEYBOARD_TYPE = "ibm101" (101-key North American Keyboard) * * Generated by Dan Glastonbury */ static const KeyCode tek101_c_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, 95, 103, 106, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 111, 118, 119, 126, 127, 134, 140, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 100, 108, 109, 117, 116, 125, 133, 132, /* Row 4 */ 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 98, 115, 123, 124, /* Row 5 */ 26, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 107, 113, 122, 130, 129, /* Row 6 */ 25, 33, 49, 65, 96, 105, 104, 114, 120, 121 }; xkeycaps-2.47/kbds/ncd108-caps.h0000644000175000017500000000436310206731452014052 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD N108 and VT220 keyboards. * These two keyboards differ only slightly. */ #ifdef VT220_KLUDGE # define ncd108_caps ncd220_caps #endif static const struct key_strings ncd108_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", "Compose Setup", 0}, {"F4", 0}, {"F5", "Break", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", "Esc", 0}, {"F12", "Backspace", 0}, {"F13", "Line Feed", 0}, {"F14", 0}, {"Help", 0}, {"Do", 0}, {"F17", 0}, {"F18", 0}, {"F19", 0}, {"F20", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"", "<", 0}, #else /* n108 */ {"<", ">", 0}, #endif {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, #ifdef VT220_KLUDGE {",", ",", 0}, {".", ".", 0}, #else /* n108 */ {"<", ",", 0}, {">", ".", 0}, #endif {"?", "/", 0}, {"Shift", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Compose", "Character", 0}, #ifndef VT220_KLUDGE {"Alt", 0}, #endif {" ", 0}, #ifndef VT220_KLUDGE {"Alt", 0}, {"Compose", "Character", 0}, #endif {"0", 0}, {".", 0} }; #undef ncd108_caps xkeycaps-2.47/kbds/ga5k-codes.h0000644000175000017500000000153710206731452014053 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Concurrent GA5000 keyboard. * By black@westford.ccur.com. */ static const KeyCode ga5k_codes [] = { /* Row 0 */ 145, 162, 151, 163, 152, 164, 153, 154, 165, 155, 166, 156, 168, 146, 170, 133, /* Row 2 */ 245, 177, 178, 179, 180, 181, 182, 183, 184, 185, 176, 173, 189, 136, 157, 169, 158, 171, 186, 191, 230, /* Row 3 */ 137, 209, 215, 197, 210, 212, 217, 213, 201, 207, 208, 227, 221, 188, 255, 161, 159, 232, 234, 231, 242, /* Row 4 */ 129, 193, 211, 196, 198, 199, 200, 202, 203, 204, 187, 167, 141, 240, 243, 239, /* Row 5 */ 128, 218, 216, 185, 214, 194, 206, 205, 172, 174, 175, 139, 241, 244, 149, 148, 134, /* Row 6 */ 130, 140, 160, 220, 138, 147, 144, 150, 143, 142 }; xkeycaps-2.47/kbds/gw2kn-codes.h0000644000175000017500000000176510206731452014257 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the keycodes of the Gateway 2000 keyboard for * Windows 95. * * Like the Microsoft "Natural" Keyboard, this keyboard also unfortunately * does not generate keycodes for the new modifier keys in the bottom row * (the "Microsoft" and "Menu" keys), and thus cannot be bound. */ static const KeyCode gw2kn_codes [] = { /* Row 0 */ 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, /* Row 2 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 82, 87, 92, 97, 102, 107, 112, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 83, 88, 93, 98, 103, 108, 113, /* Row 4 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 99, 104, 109, /* Row 5 */ 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 90, 100, 105, 110, 115, /* Row 6 */ 65, 0, 67, 68, 69, 0, 0, 71, 86, 91, 96, 106, 111 }; xkeycaps-2.47/kbds/mac-geom.h0000644000175000017500000000366410206731452013621 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Apple Extended Keyboard II. * By John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. */ static const struct key_geometry mac_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry mac_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry mac_geom_row3 [] = { {11, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {9, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry mac_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {38, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry mac_geom_row5 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry mac_geom_row6 [] = { {10, 7}, {8, 7}, {11, 7}, {48, 7}, {11, 7}, {8, 7}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry mac_geom_rows [] = { ROW (mac_geom_row0, 7), EMPTYROW (5), ROW (mac_geom_row2, 7), ROW (mac_geom_row3, 7), ROW (mac_geom_row4, 7), ROW (mac_geom_row5, 7), ROW (mac_geom_row6, 7), }; static const struct keyboard_geometry mac_geom = { sizeof (mac_geom_rows) / sizeof (struct keyboard_row_geometry), mac_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/explorer-geom.h0000644000175000017500000000403310206731452014710 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the TI explorer Lisp Machine * keyboard. */ static const struct key_geometry explorer_geom_row0 [] = { {14, 7}, {3, 0}, {9, 7}, {9, 7}, {9, 7}, {9, 7}, {2, 0}, {8, 7}, {8, 7}, {8, 7}, {8, 7}, {2, 0}, {9, 7}, {9, 7}, {9, 7}, {9, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry explorer_geom_row2 [] = { {14, 7}, {3, 0}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {8, 7}, {7, 7}, {7, 7}, {7, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry explorer_geom_row3 [] = { {14, 7}, {3, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry explorer_geom_row4 [] = { {14, 7}, {3, 0}, {14, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry explorer_geom_row5 [] = { {17, 0}, {7, 7}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {10, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry explorer_geom_row6 [] = { {7, 7}, {7, 7}, {3, 0}, {12, 7}, {12, 7}, {56, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {29, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry explorer_geom_rows [] = { ROW (explorer_geom_row0, 7), EMPTYROW (4), ROW (explorer_geom_row2, 7), ROW (explorer_geom_row3, 7), ROW (explorer_geom_row4, 7), ROW (explorer_geom_row5, 7), ROW (explorer_geom_row6, 7), }; static const struct keyboard_geometry explorer_geom = { sizeof (explorer_geom_rows) / sizeof (struct keyboard_row_geometry), explorer_geom_rows, 5, 3, 3 }; xkeycaps-2.47/kbds/sun5uk-codes.h0000644000175000017500000000177410206731452014461 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Sun UK type 5 keyboard. * By Jeremy Prior (jez@howell.com), 16th Aug 1995 * Based on Sun Swiss-French Type 5 Keyboard, * by Philippe A. Kipfer (Philippe.Kipfer@di.epfl.ch), dec.1993. * */ static const KeyCode sun5uk_codes [] = { /* Row 0 */ 125, 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 52, 9, 11, 55, /* Row 1 */ 8, 10, 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 32, 33, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 56, 58, 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, /* Row 4 */ 79, 80, 106, 131, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ 102, 104, 83, 26, 127, 128, 129, 74, 20, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/gw2k-map.h0000644000175000017500000001303710206731452013554 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the default keymap for the * Gateway 2000 AnyKey programmable PC keyboard. * Generated by Jarrod Smith * * Important notes about this keyboard: * * In order for all the keysyms to work properly, the programmable ROM * inside the keyboard may need to be reset to factory default by pressing * -- * even if you have NEVER programmed anything into the keyboard! If you * have programmed macros in that you don't want to lose, you should be * able to save them by using the DOS utility that came with the keyboard * BEFORE you reset the ROM. * * I couldn't get xmodmap to get the BackSpace keysym working right for my * keyboard until I did this. It would let me change the keysym for my * backspace key from Delete to BackSpace which is what I wanted it to do, * but I have no clue what the BackSpace keysym was doing! Certainly not * Backspacing!!! It worked on the command-line, but in some X apps it * would give me the <+/-> character, and in others, nothing... weird. * * Also, there are four diagonal cursor keys on this keyboard (up-left, * up-right, down-left, down-right) which each generate two keycodes per * keypress event. I didn't know what to do about this in the * gw2k-codes.h file, so I just put in the first keycode that gets * generated (see the comments in row4 and row6 in that file). Also, I * didn't know what to put in the gw2k-caps.h file since there are no * diagonal arrow keycaps to put on the keys, so again, I put the keycap * that corresponds to the first keycode generated (I tried putting both * on, but it looked funny to me) and "shifted" the arrows to differentiate * them from the normal up and down keys. */ static const struct default_keycode_map gw2k_map [] = { /* This key has a keycode, but no keysym in the default map */ { 111, 0, { XK_Print }}, /* Print Screen */ { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand, XK_braceleft }}, { 17, 0, { XK_8, XK_asterisk, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenleft, XK_bracketright }}, { 19, 0, { XK_0, XK_parenright, XK_braceright }}, { 20, 0, { XK_minus, XK_underscore, XK_backslash }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_q }}, { 25, 0, { XK_w, XK_W, XK_w }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_r }}, { 28, 0, { XK_t, XK_T, XK_t }}, { 29, 0, { XK_y, XK_Y, XK_y }}, { 30, 0, { XK_u, XK_U, XK_u }}, { 31, 0, { XK_i, XK_I, XK_i }}, { 32, 0, { XK_o, XK_O, XK_o }}, { 33, 0, { XK_p, XK_P, XK_p }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S, XK_s }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G, XK_g }}, { 43, 0, { XK_h, XK_H, XK_h }}, { 44, 0, { XK_j, XK_J, XK_j }}, { 45, 0, { XK_k, XK_K, XK_k }}, { 46, 0, { XK_l, XK_L, XK_l }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z, XK_z }}, { 53, 0, { XK_x, XK_X, XK_x }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V, XK_v }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N, XK_n }}, { 58, 0, { XK_m, XK_M, XK_m }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, Mod3Mask, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, Mod3Mask, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, Mod3Mask, { XK_F10, XK_F20 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, 0, { XK_Multi_key }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod5Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }} }; xkeycaps-2.47/kbds/sun4de-caps.h0000644000175000017500000000421110206731452014247 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1995, 1996 Jamie Zawinski * * This file describes the key surfaces of the Sun type 4 German keyboard * By Johannes Schmidt-Fischer */ static const struct key_strings sun4de_caps [] = { /* Row 0 */ {"Stop", "L1", 0}, {"Again", "L2", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"{", "[", "\253"}, {"}", "]", "\273"}, {"Del", 0}, {"Pause", "R1", 0}, {"PrSc", "R2", 0}, {"Scroll", "Lock", 0}, {"Num", "Lock", 0}, /* Row 1 */ {"Props", "L3", 0}, {"Undo", "L4", 0}, {"Esc", 0}, {"!", "1", 0}, {"\"", "2", "\262"}, {"\247", "3", "\263"}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "\260"}, {"(", "8", "`"}, {")", "9", "'"}, {"=", "0", "|"}, {"?", "\337", "\\"}, {"`", "'", 0}, {"Backspace", 0}, {"=", "R4", 0}, {"/", "R5", 0}, {"*", "R6", 0}, {"-", 0}, /* Row 2 */ {"Front", "L5", 0}, {"Copy", "L6", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+", "~"}, {"Return", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Open", "L7", 0}, {"Paste", "L8", 0}, {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"^", "#", "@"}, {"4", "LeftArrow", 0}, {"5", "R11", 0}, {"6", "RightArrow", 0}, /* Row 4 */ {"Find", "L9", 0}, {"Cut", "L10", 0}, {"Shift", 0}, {">", "<", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", "\265", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"Line ", "Feed", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Help", 0}, {"Ctrl", 0}, {"Alt", "Graph", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com ", "pose", 0}, {"Alt", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/sun5sw-caps.h0000644000175000017500000000435510206731452014322 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Sun type 5 Swedish keyboard. * By Magnus Hammerin */ static const struct key_strings sun5sw_caps [] = { /* Row 0 */ {"Help", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Degauss", "Mute", 0}, {"Dim", "Quiet", 0}, {"Bright", "Loud", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"\275", "\247", 0}, {"!", "1", 0}, {"\"", "2", "@"}, {"#", "3", "\243"}, {"\244", "4", "$"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "+", "\\"}, {"", "", 0}, {"Back ", "Space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"^", "", "~"}, {"Return", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Caps-", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"*", "'", "`"}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {">", "<", "|"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"upArrow", 0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/ncd123na-caps.h0000644000175000017500000000472010206731452014363 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of the NCD-123NA keyboard. * By Vladimir Alexiev . * Based on the NCD123-UX keyboard by John Palmieri . * * NOTE: "NA" might mean "North American" (who knows...) * In that case it might be appropriate to rename ncd123-* to ncd123ux-*, * and call this set of files simply ncd123-*. */ static const struct key_strings ncd123na_caps [] = { /* Row 0 */ {"Help", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", "Sys Rq"}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, {"Mute", 0}, {"Vol Dn", 0}, {"Vol Up", 0}, {"Setup", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Back ", "Space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {0}, {0}, {0}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {0}, {"upArrow", 0}, {0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/macext2-codes.h0000644000175000017500000000153110206731452014561 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Apple Extended Keyboard II. * By John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. */ static const KeyCode macext2_codes [] = { /* Row 0 */ 61, 130, 128, 107, 126, 104, 105, 106, 108, 109, 117, 111, 119, 113, 115, 121, /* Row 2 */ 58, 26, 27, 28, 29, 31, 30, 34, 36, 33, 37, 35, 32, 59, 122, 123, 124, 79, 89, 83, 75, /* Row 3 */ 56, 20, 21, 22, 23, 25, 24, 40, 42, 39, 43, 41, 38, 50, 125, 127, 129, 97, 99, 100, 86, /* Row 4 */ 65, 8, 9, 10, 11, 13, 12, 46, 48, 45, 49, 47, 44, 94, 95, 96, 77, /* Row 5 */ 64, 14, 15, 16, 17, 19, 53, 54, 51, 55, 52, 64, 70, 91, 92, 93, 84, /* Row 6 */ 62, 66, 63, 57, 63, 66, 62, 67, 69, 68, 90, 73 }; xkeycaps-2.47/kbds/xfree86is-map.h0000644000175000017500000000764510206731452014535 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the default IS keymap used by the XFree86 3.3.3 server. * Generated by Jens Pall Hafsteinsson, Axon ehf. Iceland 990711 * */ static const struct default_keycode_map xfree86is_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, 0, XK_exclamdown }}, { 11, 0, { XK_2, XK_quotedbl }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, XK_braceright }}, { 20, 0, { XK_odiaeresis, XK_Odiaeresis, XK_backslash }}, { 21, 0, { XK_minus, XK_underscore }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_eth, XK_ETH }}, { 35, 0, { XK_apostrophe, XK_question, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_ae, XK_AE }}, { 48, 0, { XK_dead_acute, 0, XK_asciicircum }}, { 49, 0, { XK_degree, XK_diaeresis }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_plus, XK_asterisk, XK_grave }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_thorn, XK_THORN }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Separator }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, 0, { XK_Multi_key }}, { 117, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/libretto100-codes.h0000644000175000017500000000125210206731452015263 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keycodes of a Toshiba Libretto 100CT/2.1 * (model no. 1254EA) laptop. * * david arnold 1999 */ static const KeyCode libretto100_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 110, 115, 117, /* Row 1 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, /* Row 2 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, /* Row 3 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, /* Row 4 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 98, 62, /* Row 5 */ 37, 64, 49, 65, 106, 107, 0, 100, 104, 102 }; xkeycaps-2.47/kbds/pc102fr-caps.h0000644000175000017500000000372410206731452014232 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the key surfaces of a french-like (azerty) 102 keys * PC-style keyboard. Generated by Fred Leguern */ static const struct key_strings pc102fr_caps [] = { /* Row 0 */ {"Echap", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Impr", "\351cran", 0}, {"Arr\352t", "d\351fil", 0}, {"Pause", 0}, /* Row 2 */ {"\262", 0}, {"1", "&", 0}, {"2", "\351 ~", 0}, {"3", "\" #", 0}, {"4", "' {", 0}, {"5", "( [", 0}, {"6", "- |",0}, {"7", "\350 `", 0}, {"8", "_ \\", 0}, {"9", "\347 ^", 0}, {"0", "\340 @", 0}, {"\260", ") ]", 0}, {"+", "= }", 0}, {"Retour", 0}, {"Inser", 0}, {"D\351but", 0}, {"Pr\351c", 0}, {"Verr", "num", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"A", 0}, {"Z", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\250", "^", 0 }, {"\243", "$ \244", 0 }, {"Entr\351e", 0}, {"Suppr", 0}, {"Fin", 0}, {"Suiv", 0}, {"7", "D\351but", 0}, {"8", "Haut", 0}, {"9", "Pr\351c", 0}, {"+", 0}, /* Row 4 */ {"Verr Maj", 0}, {"Q", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"M", 0}, {"%", "\371", 0}, {"\265", "*", 0}, {"4", "Gauche", 0}, {"5", 0}, {"6", "Droite", 0}, /* Row 5 */ {"Maj", 0}, {">", "<", 0}, {"W", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"?", ",", 0}, {".", ";", 0}, {"/", ":", 0}, {"\247", "!", 0}, {"Maj", 0}, {"Haut", 0}, {"1", "Fin", 0}, {"2", "Bas", 0}, {"3", "Suiv", 0}, {"Entr\351e", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"Gauche", 0}, {"Bas", 0}, {"Droite", 0}, {"0", "Inser", 0}, {".", "Suppr", 0} }; xkeycaps-2.47/kbds/sun4-linux-map.h0000644000175000017500000001037710206731452014734 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the default keymap of the Sun type 4 keyboard, * with XFree86 3.3 on Linux 2.0.35. Generated by Edgar Bonet * . */ static const struct default_keycode_map sun4_linux_map [] = { { 8, 0, { XK_Cancel, 0, XK_F11 }}, { 10, 0, { XK_Redo, 0, XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11, 0, SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12, 0, SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod3Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod2Mask, { XK_Alt_L }}, { 28, 0, { XK_Pause, 0, XK_F23 }}, { 29, 0, { XK_Print, 0, XK_F21 }}, { 30, 0, { XK_Break, XK_Scroll_Lock, XK_F22 }}, { 32, Mod5Mask, { SunXK_Props, 0, XK_F13 }}, { 33, 0, { XK_Undo, 0, XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde, XK_acute }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_KP_Equal, 0, XK_F24 }}, { 53, 0, { XK_KP_Divide, 0, XK_F25 }}, { 54, 0, { XK_KP_Multiply, 0, XK_F26 }}, { 56, 0, { SunXK_Front, 0, XK_F15 }}, { 57, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 58, 0, { SunXK_Copy, 0, XK_F16 }}, { 60, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 61, 0, { XK_q, XK_Q }}, { 62, 0, { XK_w, XK_W }}, { 63, 0, { XK_e, XK_E }}, { 64, 0, { XK_r, XK_R }}, { 65, 0, { XK_t, XK_T }}, { 66, 0, { XK_y, XK_Y }}, { 67, 0, { XK_u, XK_U }}, { 68, 0, { XK_i, XK_I }}, { 69, 0, { XK_o, XK_O }}, { 70, 0, { XK_p, XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_KP_Home, XK_KP_7, XK_F27 }}, { 76, 0, { XK_KP_Up, XK_KP_8, XK_F28 }}, { 77, 0, { XK_KP_Prior, XK_KP_9, XK_F29 }}, { 78, 0, { XK_KP_Subtract }}, { 79, 0, { SunXK_Open, 0, XK_F17 }}, { 80, Mod5Mask, { SunXK_Paste, 0, XK_F18 }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_a, XK_A }}, { 85, 0, { XK_s, XK_S }}, { 86, 0, { XK_d, XK_D }}, { 87, 0, { XK_f, XK_F }}, { 88, 0, { XK_g, XK_G }}, { 89, 0, { XK_h, XK_H }}, { 90, 0, { XK_j, XK_J }}, { 91, 0, { XK_k, XK_K }}, { 92, 0, { XK_l, XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl, XK_acute }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_KP_Left, XK_KP_4, XK_F30 }}, { 99, 0, { XK_KP_Begin, XK_KP_5, XK_F31 }}, { 100, 0, { XK_KP_Right, XK_KP_6, XK_F32 }}, { 101, 0, { XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_Find, 0, XK_F19 }}, { 104, Mod5Mask, { SunXK_Cut, 0, XK_F20 }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_z, XK_Z }}, { 108, 0, { XK_x, XK_X }}, { 109, 0, { XK_c, XK_C }}, { 110, 0, { XK_v, XK_V }}, { 111, 0, { XK_b, XK_B }}, { 112, 0, { XK_n, XK_N }}, { 113, 0, { XK_m, XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_KP_End, XK_KP_1, XK_F33 }}, { 120, 0, { XK_KP_Down, XK_KP_2, XK_F34 }}, { 121, 0, { XK_KP_Next, XK_KP_3, XK_F35 }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 132, 0, { XK_KP_Add }}, }; xkeycaps-2.47/kbds/pc84-caps.h0000644000175000017500000000315310206731452013627 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1999 Jamie Zawinski * * This file describes the key surfaces of original 84 key PC/AT-style * keyboards. * by Ken Rose */ static const struct key_strings pc84_caps [] = { /* Row 1 */ {"F1", 0}, {"F2", 0}, {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"LeftArrow", 0}, {"Esc", 0}, {"Num", "Lock", 0}, {"Scroll", "Lock", 0}, {"Sys", "Req", 0}, /* Row 2 */ {"F3", 0}, {"F4", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"PrtSc", "*", 0}, /* Row 3 */ {"F5", 0}, {"F6", 0}, {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, {"-", 0}, /* Row 4 */ {"F7", 0}, {"F8", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"+", 0}, /* Row 5 */ {"F9", 0}, {"F10", 0}, {"Alt", 0}, {" ", 0}, {"Caps", "Lock", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/tek401-codes.h0000644000175000017500000000152110206731452014225 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the keycodes of the Tektronix LK401 keyboard. * By Torbj|rn Lindgren */ static const KeyCode tek401_codes [] = { /* Row 0 */ 15, 23, 106, 39, 47, 55, 63, 71, 79, 87, 18, 19, 20, 88, 89, 135, 136, 137, 138, 139, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 118, 111, 108, 16, 126, 103, 95, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 98, 109, 119, 117, 116, 125, 133, 140, /* Row 4 */ 25, 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 91, 107, 115, 123, 124, 132, /* Row 5 */ 26, 17, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 105, 104, 114, 113, 122, 130, 129, /* Row 6 */ 33, 40, 49, 56, 65, 120, 121 }; xkeycaps-2.47/kbds/phasex-pxch2-codes.h0000644000175000017500000000177110206731452015536 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * * This file describes the keycodes of the PhaseX PXCH2 (Wyse) * keyboard. By Jonathan Abbey * */ static const KeyCode phasex_pxch2_codes [] = { /* Row 0 */ 0x0f, 0x6d, 0x66, 0x5e, 0x56, 0x4e, 0x46, 0x3e, 0x6b, 0x69, 0x0e, 0x21, 0x1a, 0x67, 0, 0x6e, /* Row 2 */ 0x16, 0x17, 0x15, 0x3c, 0x44, 0x0c, 0x54, 0x5c, 0x64, 0x6c, 0x4c, 0x33, 0x11, 0x3f, 0x3d, 0x45, 0x4d, 0x1c, 0x30, 0x2b, 0x2a, /* Row 3 */ 0x6f, 0x63, 0x53, 0x5b, 0x4b, 0x3b, 0x13, 0x0b, 0x23, 0x1b, 0x43, 0x37, 0x35, 0x0d, 0x55, 0x5d, 0x65, 0x08, 0x68, 0x29, 0x10, /* Row 4 */ 0x1d, 0x6a, 0x62, 0x52, 0x5a, 0x4a, 0x42, 0x3a, 0x0a, 0x32, 0x24, 0x2c, 0x12, 0x50, 0x58, 0x60, /* Row 5 */ 0x27, 0x31, 0x59, 0x61, 0x51, 0x39, 0x49, 0x41, 0x19, 0x09, 0x22, 0x25, 0x4f, 0x38, 0x40, 0x48, 0x18, /* Row 6 */ 0x1e, 0x14, 0x2f, 0x34, 0x2e, 0x5f, 0x57, 0x47, 0x28, 0x20 }; xkeycaps-2.47/kbds/xfree86da-map.h0000644000175000017500000001211210206731452014467 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1997 Jamie Zawinski * * This file describes the default DA keymap used by the XFree86 2.0 server. * Generated by Anders Wegge Jakobsen . */ static const struct default_keycode_map xfree86da_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_onesuperior, XK_exclamdown }}, { 11, 0, { XK_2, XK_quotedbl, XK_at, XK_oneeighth }}, { 12, 0, { XK_3, XK_numbersign, XK_sterling, XK_threesuperior }}, { 13, 0, { XK_4, XK_currency, XK_dollar, XK_onequarter }}, { 14, 0, { XK_5, XK_percent, XK_onehalf, XK_threeeighths }}, { 15, 0, { XK_6, XK_ampersand, XK_threequarters, XK_fiveeighths }}, { 16, 0, { XK_7, XK_slash, XK_braceleft, XK_seveneighths }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft, XK_trademark }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright, XK_plusminus }}, { 19, 0, { XK_0, XK_equal, XK_braceright, XK_degree }}, { 20, 0, { XK_plus, XK_question, XK_backslash, XK_questiondown }}, { 21, 0, { XK_acute, XK_grave, XK_bar, XK_ogonek }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 25, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 28, 0, { XK_t, XK_T, XK_tslash, XK_Tslash }}, { 29, 0, { XK_y, XK_Y, XK_leftarrow, XK_yen }}, { 30, 0, { XK_u, XK_U, XK_downarrow, XK_uparrow }}, { 31, 0, { XK_i, XK_I, XK_rightarrow, XK_idotless }}, { 32, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 33, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 34, 0, { XK_aring, XK_Aring, XK_dead_diaeresis, XK_dead_abovering }}, { 35, 0, { XK_diaeresis, XK_asciicircum, XK_asciitilde, XK_macron }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 39, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 40, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 41, 0, { XK_f, XK_F, XK_dstroke, XK_ordfeminine }}, { 42, 0, { XK_g, XK_G, XK_eng, XK_ENG }}, { 43, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K, XK_kra, XK_ampersand }}, { 46, 0, { XK_l, XK_L, XK_lstroke, XK_Lstroke }}, { 47, 0, { XK_ae, XK_AE, XK_dead_acute, XK_dead_doubleacute }}, { 48, 0, { XK_oslash, XK_Ooblique, XK_dead_circumflex, XK_dead_caron }}, { 49, 0, { XK_onehalf, XK_section, XK_notsign }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_apostrophe, XK_asterisk, XK_dead_grave, XK_dead_breve }}, { 52, 0, { XK_z, XK_Z, XK_guillemotleft, XK_less }}, { 53, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 54, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 55, 0, { XK_v, XK_V, XK_leftdoublequotemark, XK_grave }}, { 56, 0, { XK_b, XK_B, XK_rightdoublequotemark, XK_apostrophe }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 59, 0, { XK_comma, XK_semicolon, XK_horizconnector, XK_multiply }}, { 60, 0, { XK_period, XK_colon, XK_periodcentered, XK_division }}, { 61, 0, { XK_minus, XK_underscore, XK_dead_belowdot, XK_dead_abovedot }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_backslash }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, 0, { XK_Multi_key }}, { 117, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/pcxal-r6-map.h0000644000175000017500000000755510206731452014346 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * generated 1997-05-18 by , using jwz's build-map.sh script. * * OS: Linux reptile.scrye.com 2.0.27 #1 Sat Dec 21 23:44:11 EST 1996 i486 * X: XFree86 v3.2 with XKEYBOARD enabled and default XF86Config file. * XkbKeymap "xfree86(us)" */ static const struct default_keycode_map pcxal_r6_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, Mod4Mask, { XK_Meta_R }}, { 117, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/xfree86sr-map.h0000644000175000017500000001207510206731452014537 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999 * Jamie Zawinski * * This file describes the default SR keymap used by the XFree86 X server. * * Keymap file of the 102 keys PC-style keyboard, swiss french layout (qwertz). * Linux 2.0.35 / XFree86 3.3 * * By Martin Ouwehand * * This map file was obtained under the following conditions: * * * RedHat 5.2 with XFree86 3.3.2 (I've heard reports that * things are slightly different under RedHat 5.1) * * * before starting X, the console's keyboard is configured with: * * loadkeys fr_CH-latin1 * * * In the /usr/X11R6/lib/X11/XF86Config file's "Keyboard" Section * we have the following two lines: * * RightAlt ModeShift * XkbLayout "sf" * * The "Modeshift" line is necessary to get a usable keyboard * and a satisfactory output from the "build-map.sh" script * (to be able to get e.g. the "@" and "#" characters with * + "2" and + "3"). * * Note that I didn't define things like "LeftAlt Meta" or bind a key * to "Compose" to keep things as simple as possible. * */ static const struct default_keycode_map xfree86sr_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_plus }}, { 11, 0, { XK_2, XK_quotedbl, XK_at }}, { 12, 0, { XK_3, XK_asterisk, XK_numbersign }}, { 13, 0, { XK_4, XK_ccedilla }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand, XK_notsign }}, { 16, 0, { XK_7, XK_slash, XK_bar }}, { 17, 0, { XK_8, XK_parenleft, XK_cent }}, { 18, 0, { XK_9, XK_parenright }}, { 19, 0, { XK_0, XK_equal }}, { 20, 0, { XK_apostrophe, XK_question, XK_dead_acute }}, { 21, 0, { XK_dead_circumflex, XK_dead_grave, XK_dead_tilde }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_q }}, { 25, 0, { XK_w, XK_W, XK_w }}, { 26, 0, { XK_e, XK_E, XK_e }}, { 27, 0, { XK_r, XK_R, XK_r }}, { 28, 0, { XK_t, XK_T, XK_t }}, { 29, 0, { XK_z, XK_Z, XK_z }}, { 30, 0, { XK_u, XK_U, XK_u }}, { 31, 0, { XK_i, XK_I, XK_i }}, { 32, 0, { XK_o, XK_O, XK_o }}, { 33, 0, { XK_p, XK_P, XK_p }}, { 34, 0, { XK_egrave, XK_udiaeresis, XK_bracketleft }}, { 35, 0, { XK_dead_diaeresis, XK_exclam, XK_bracketright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A, XK_a }}, { 39, 0, { XK_s, XK_S, XK_s }}, { 40, 0, { XK_d, XK_D, XK_d }}, { 41, 0, { XK_f, XK_F, XK_f }}, { 42, 0, { XK_g, XK_G, XK_g }}, { 43, 0, { XK_h, XK_H, XK_h }}, { 44, 0, { XK_j, XK_J, XK_j }}, { 45, 0, { XK_k, XK_K, XK_k }}, { 46, 0, { XK_l, XK_L, XK_l }}, { 47, 0, { XK_eacute, XK_odiaeresis }}, { 48, 0, { XK_agrave, XK_adiaeresis, XK_braceleft }}, { 49, 0, { XK_section, XK_degree }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_dollar, XK_sterling, XK_braceright }}, { 52, 0, { XK_y, XK_Y, XK_y }}, { 53, 0, { XK_x, XK_X, XK_x }}, { 54, 0, { XK_c, XK_C, XK_c }}, { 55, 0, { XK_v, XK_V, XK_v }}, { 56, 0, { XK_b, XK_B, XK_b }}, { 57, 0, { XK_n, XK_N, XK_n }}, { 58, 0, { XK_m, XK_M, XK_m }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F13 }}, { 68, 0, { XK_F2, XK_F14 }}, { 69, 0, { XK_F3, XK_F15 }}, { 70, 0, { XK_F4, XK_F16 }}, { 71, 0, { XK_F5, XK_F17 }}, { 72, 0, { XK_F6, XK_F18 }}, { 73, 0, { XK_F7, XK_F19 }}, { 74, 0, { XK_F8, XK_F20 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, 0, { XK_Multi_key }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Separator }}, { 94, 0, { XK_less, XK_greater, XK_backslash }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { 0 }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }}, }; xkeycaps-2.47/kbds/hhkb-codes.h0000644000175000017500000000146110206731452014134 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Happy Hacking Keyboard (PC mode). * By Christoph Berg 990821. */ static const KeyCode hhkb_pc_codes [] = { /* Row 0 - function keys */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 106, 107, /* Row 1 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 51, 49, /* Row 2 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 22, /* 107 for Delete */ 111, 78, 110, 98, /* 22, BS */ /* Row 3 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 97, 99, 100, 102, /* Row 4 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 0, /* Fn */ 103, 105, 104, /* Row 5 */ 64, 131, 65, 129, 113, 66, 115, 116 /* caps lock, windows */ }; xkeycaps-2.47/kbds/pc101-2-geom.h0000644000175000017500000000407710206731452014043 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of a "MITSUMI KPQ-E99YC" * 101 key AT/XT switchable PC-style keyboard. * This differs from the keyboard we know as `pc101' in the placement * of the "\ and |" key. * By Gord Vreugdenhil */ static const struct key_geometry pc101_2_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_2_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_2_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc101_2_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 0}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc101_2_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc101_2_geom_row6 [] = { {11, 7}, {7, 0}, {11, 7}, {48, 7}, {11, 7}, {7, 0}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc101_2_geom_rows [] = { ROW (pc101_2_geom_row0, 7), EMPTYROW (5), ROW (pc101_2_geom_row2, 7), ROW (pc101_2_geom_row3, 7), ROW (pc101_2_geom_row4, 7), ROW (pc101_2_geom_row5, 7), ROW (pc101_2_geom_row6, 7), }; static const struct keyboard_geometry pc101_2_geom = { sizeof (pc101_2_geom_rows) / sizeof (struct keyboard_row_geometry), pc101_2_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/hpps2din_us-map.h0000644000175000017500000001241110206731452015133 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * HP PS2_DIN keyboard (US Version) default map * Generated by Michael Piotrowski on a * B132L running HP-UX 10.20 */ static const struct default_keycode_map hpps2din_us_map [] = { { 16, 0, { XK_F1 }}, { 17, 0, { XK_Escape }}, { 22, 0, { XK_Tab, hpXK_BackTab }}, { 23, 0, { XK_grave, XK_asciitilde, XK_guillemotleft, XK_guillemotright }}, { 24, 0, { XK_F2 }}, { 26, ControlMask, { XK_Control_L }}, { 27, ShiftMask, { XK_Shift_L }}, { 29, LockMask, { XK_Caps_Lock }}, { 30, 0, { XK_q, XK_Q, XK_periodcentered, XK_periodcentered }}, { 31, 0, { XK_1, XK_exclam, XK_exclamdown, XK_exclamdown }}, { 32, 0, { XK_F3 }}, { 33, 0, { XK_Kanji }}, { 34, Mod1Mask, { XK_Alt_L }}, { 35, 0, { XK_z, XK_Z, XK_paragraph, XK_paragraph }}, { 36, 0, { XK_s, XK_S, XK_ssharp, XK_ssharp }}, { 37, 0, { XK_a, XK_A, XK_aring, XK_Aring }}, { 38, 0, { XK_w, XK_W, XK_asciitilde, XK_asciitilde }}, { 39, 0, { XK_2, XK_at, XK_at, XK_at }}, { 40, 0, { XK_F4 }}, { 42, 0, { XK_c, XK_C, XK_ccedilla, XK_Ccedilla }}, { 43, 0, { XK_x, XK_X, XK_scaron, XK_Scaron }}, { 44, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 45, 0, { XK_e, XK_E, XK_ae, XK_AE }}, { 46, 0, { XK_4, XK_dollar, XK_onequarter, hpXK_Ydiaeresis }}, { 47, 0, { XK_3, XK_numbersign, XK_numbersign, XK_numbersign }}, { 48, 0, { XK_F5 }}, { 50, 0, { XK_space }}, { 51, 0, { XK_v, XK_V, XK_section, XK_section }}, { 52, 0, { XK_f, XK_F, hpXK_guilder, hpXK_guilder }}, { 53, 0, { XK_t, XK_T, XK_usldead_grave, XK_usldead_grave }}, { 54, 0, { XK_r, XK_R, XK_usldead_acute, XK_usldead_acute }}, { 55, 0, { XK_5, XK_percent, XK_onehalf, XK_onehalf }}, { 56, 0, { XK_F6 }}, { 58, 0, { XK_n, XK_N, XK_ordfeminine, XK_ordfeminine }}, { 59, 0, { XK_b, XK_B, hpXK_block, hpXK_block }}, { 60, 0, { XK_h, XK_H, XK_yen, XK_yen }}, { 61, 0, { XK_g, XK_G, XK_currency, XK_currency }}, { 62, 0, { XK_y, XK_Y, XK_usldead_asciicircum, XK_usldead_asciicircum }}, { 63, 0, { XK_6, XK_asciicircum, XK_asciicircum, XK_asciicircum }}, { 64, 0, { XK_F7 }}, { 65, 0, { XK_Kanji }}, { 66, Mod1Mask, { XK_Alt_R }}, { 67, 0, { XK_m, XK_M, XK_masculine, XK_masculine }}, { 68, 0, { XK_j, XK_J, XK_dollar, XK_dollar }}, { 69, 0, { XK_u, XK_U, XK_usldead_diaeresis, XK_usldead_diaeresis }}, { 70, 0, { XK_7, XK_ampersand, XK_backslash, XK_backslash }}, { 71, 0, { XK_8, XK_asterisk, XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_F8 }}, { 74, 0, { XK_comma, XK_less, XK_less, XK_less }}, { 75, 0, { XK_k, XK_K, XK_cent, XK_cent }}, { 76, 0, { XK_i, XK_I, XK_usldead_asciitilde, XK_usldead_asciitilde }}, { 77, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 78, 0, { XK_0, XK_parenright, XK_questiondown, XK_questiondown }}, { 79, 0, { XK_9, XK_parenleft, XK_bracketright, XK_braceright }}, { 80, 0, { XK_F9, XK_KP_F1 }}, { 82, 0, { XK_period, XK_greater, XK_greater, XK_greater }}, { 83, 0, { XK_slash, XK_question, XK_underscore, XK_underscore }}, { 84, 0, { XK_l, XK_L, XK_sterling, XK_sterling }}, { 85, 0, { XK_semicolon, XK_colon, hpXK_lira, hpXK_lira }}, { 86, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 87, 0, { XK_minus, XK_underscore, hpXK_longminus, XK_macron }}, { 88, 0, { XK_F10, XK_KP_F2 }}, { 91, 0, { XK_apostrophe, XK_quotedbl, XK_grave, XK_apostrophe }}, { 93, 0, { XK_bracketleft, XK_braceleft, XK_degree, XK_degree }}, { 94, 0, { XK_equal, XK_plus, XK_plusminus, XK_plusminus }}, { 95, 0, { XK_F11, XK_KP_F3 }}, { 96, 0, { XK_Print, XK_Sys_Req }}, { 97, ControlMask, { XK_Control_R }}, { 98, ShiftMask, { XK_Shift_R }}, { 99, 0, { XK_Return }}, { 100, 0, { XK_bracketright, XK_braceright, XK_brokenbar, XK_brokenbar }}, { 101, 0, { XK_backslash, XK_bar, XK_mu, XK_mu }}, { 103, 0, { XK_F12, XK_KP_F4 }}, { 104, 0, { XK_Scroll_Lock }}, { 105, 0, { XK_Down }}, { 106, 0, { XK_Left }}, { 107, 0, { XK_Pause, XK_Break }}, { 108, 0, { XK_Up }}, { 109, 0, { XK_Delete }}, { 110, 0, { XK_End }}, { 111, 0, { XK_BackSpace }}, { 112, 0, { XK_Insert }}, { 114, 0, { XK_KP_1, XK_KP_End }}, { 115, 0, { XK_Right }}, { 116, 0, { XK_KP_4, XK_KP_Left }}, { 117, 0, { XK_KP_7, XK_KP_Home }}, { 118, 0, { XK_Next }}, { 119, 0, { XK_Home }}, { 120, 0, { XK_Prior }}, { 121, 0, { XK_KP_0, XK_KP_Insert }}, { 122, 0, { XK_KP_Decimal, XK_KP_Delete }}, { 123, 0, { XK_KP_2, XK_KP_Down }}, { 124, 0, { XK_KP_5 }}, { 125, 0, { XK_KP_6, XK_KP_Right }}, { 126, 0, { XK_KP_8, XK_KP_Up }}, { 127, 0, { XK_Num_Lock }}, { 128, 0, { XK_KP_Divide }}, { 130, 0, { XK_KP_Enter }}, { 131, 0, { XK_KP_3, XK_KP_Next }}, { 132, Mod1Mask, { XK_Mode_switch }}, { 133, 0, { XK_KP_Add }}, { 134, 0, { XK_KP_9, XK_KP_Prior }}, { 135, 0, { XK_KP_Multiply }}, { 141, 0, { XK_KP_Subtract }}, { 148, 0, { XK_Meta_L }}, { 149, 0, { XK_Meta_R }}, { 150, 0, { XK_Menu }}, }; xkeycaps-2.47/kbds/pc102-3-geom.h0000644000175000017500000000411110206731452014032 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the physical layout of a "Chicony KB-5312" * 102 key PC-style keyboard. * This differs from 'pc101-2' in a new key in the bottom-left corner * (between Z and left shift in the UK layout) * By Ben Harris */ static const struct key_geometry pc102_3_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_3_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_3_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc102_3_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 0}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_3_geom_row5 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc102_3_geom_row6 [] = { {11, 7}, {7, 0}, {11, 7}, {48, 7}, {11, 7}, {7, 0}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc102_3_geom_rows [] = { ROW (pc102_3_geom_row0, 7), EMPTYROW (5), ROW (pc102_3_geom_row2, 7), ROW (pc102_3_geom_row3, 7), ROW (pc102_3_geom_row4, 7), ROW (pc102_3_geom_row5, 7), ROW (pc102_3_geom_row6, 7), }; static const struct keyboard_geometry pc102_3_geom = { sizeof (pc102_3_geom_rows) / sizeof (struct keyboard_row_geometry), pc102_3_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/omni102-geom.h0000644000175000017500000000431510206731452014240 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the physical layout of the Northgate OmniKey 102P * keyboard model (part number: KYBD102P; vendor code: 20017; rev 1.0.) * By Jeffrey Templon . */ static const struct key_geometry omni102_geom_row0 [] = { { 7, 7}, {7, 7}, { 5, 0}, { 7, 7}, {98, 0}, { 3, 0}, { 7, 7}, { 7, 7}, {7, 7} }; static const struct key_geometry omni102_geom_row2 [] = { { 7, 7}, { 7, 7}, { 5, 0}, { 7, 7}, { 7, 7}, {7, 7}, { 7, 7}, {7, 7}, { 7, 7}, { 7, 7}, {7, 7}, { 7, 7}, {7, 7}, { 7, 7}, { 7, 7}, {7, 7}, {14, 7}, { 3, 0}, { 7, 7}, { 7, 7}, {7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, {7, 7}, { 7, 7} }; static const struct key_geometry omni102_geom_row3 [] = { { 7, 7}, { 7, 7}, { 5, 0}, {10, 7}, { 7, 7}, {7, 7}, { 7, 7}, {7, 7}, { 7, 7}, { 7, 7}, {7, 7}, { 7, 7}, {7, 7}, { 7, 7}, { 7, 7}, {7, 7}, {11,14}, { 3, 0}, { 7, 7}, { 7, 7}, {7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, {7, 7}, { 7, 7} }; static const struct key_geometry omni102_geom_row4 [] = { { 7, 7}, {7, 7}, { 5, 0}, {12, 7}, {7, 7}, { 7, 7}, {7, 7}, {7, 7}, { 7, 7}, {7, 7}, { 7, 7}, {7, 7}, {7, 7}, { 7, 7}, {7, 7}, {16, 0}, {3, 0}, {21, 0}, {3, 0}, { 7, 7}, {7, 7}, { 7, 7}, {7, 7} }; static const struct key_geometry omni102_geom_row5 [] = { { 7, 7}, {7, 7}, { 5, 0}, {15, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, { 7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, { 7, 7}, {13,7}, {7, 7}, { 3, 0}, { 7,0}, { 7, 7}, { 7, 0}, { 3,0}, { 7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry omni102_geom_row6 [] = { { 7, 7}, {7, 7}, { 5, 0}, { 9, 7}, {7, 7}, {9, 7}, {52,7}, {7, 7}, { 7, 7}, {7, 7}, {7, 7}, { 3, 0}, { 7, 7}, {7, 7}, {7, 7}, { 3, 0}, {14, 7}, {7, 7}, { 7, 0} }; static const struct keyboard_row_geometry omni102_geom_rows [] = { ROW (omni102_geom_row0, 7), EMPTYROW (5), ROW (omni102_geom_row2, 7), ROW (omni102_geom_row3, 7), ROW (omni102_geom_row4, 7), ROW (omni102_geom_row5, 7), ROW (omni102_geom_row6, 7), }; static const struct keyboard_geometry omni102_geom = { sizeof (omni102_geom_rows) / sizeof (struct keyboard_row_geometry), omni102_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/ncdpc-caps.h0000644000175000017500000000361510206731452014143 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD PC-Xview keyboard * By Jason Merrill */ static const struct key_strings ncdpc_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"LeftArrow", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/butterfly-codes.h0000644000175000017500000000170610206731452015242 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Soft key "Butterfly" keyboard * with US layout. * By Edgar Greuter . */ static const KeyCode butterfly_codes [] = { /* Row 0 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, /* Row 2 */ 92, 78, 127, 9, 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 77, 125, 63, 82, /* Row 3 */ 131, 135, 119, 97, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 79, 80, 81, 86, /* Row 4 */ 129, 130, 134, 98, 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 83, 84, 85, /* Row 5 */ 102, 128, 103, 124, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 87, 88, 89, 124, /* Row 6 */ 118, 93, 133, 37, 64, 94, 120, 65, 121, 126, 51, 122, 123, 90, 91, /* additional cursor block */ 140, 128, 141, 118, 142, 133, 143, 93, 144 }; xkeycaps-2.47/kbds/ncd220-caps.h0000644000175000017500000000047510206731452014045 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD VT220 keyboard,, via kludgy * conditionalizations in ncd108-caps.h (since the two keyboards differ only * slightly.) */ #define VT220_KLUDGE #include "ncd108-caps.h" #undef VT220_KLUDGE xkeycaps-2.47/kbds/sun3-geom.h0000644000175000017500000000334310206731452013743 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Sun type 3 keyboard. */ static const struct key_geometry sun3_geom_row0 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {14, 7}, {14, 7}, {14, 7}, {14, 7}, {14, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun3_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun3_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun3_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun3_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun3_geom_row5 [] = { {18, 0}, {9, 7}, {10, 7}, {65, 7}, {10, 7}, {11, 7} }; static const struct keyboard_row_geometry sun3_geom_rows [] = { ROW (sun3_geom_row0, 7), ROW (sun3_geom_row1, 7), ROW (sun3_geom_row2, 7), ROW (sun3_geom_row3, 7), ROW (sun3_geom_row4, 7), ROW (sun3_geom_row5, 7), }; static const struct keyboard_geometry sun3_geom = { sizeof (sun3_geom_rows) / sizeof (struct keyboard_row_geometry), sun3_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/magat-geom.h0000644000175000017500000000360110206731452014141 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the MIPS Magnum AT/US keyboard. * By Michael Elbel */ static const struct key_geometry magat_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry magat_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry magat_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry magat_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry magat_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry magat_geom_row6 [] = { {11, 7}, {7, 0}, {11, 7}, {48, 7}, {11, 7}, {7, 0}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry magat_geom_rows [] = { ROW (magat_geom_row0, 7), EMPTYROW (5), ROW (magat_geom_row2, 7), ROW (magat_geom_row3, 7), ROW (magat_geom_row4, 7), ROW (magat_geom_row5, 7), ROW (magat_geom_row6, 7), }; static const struct keyboard_geometry magat_geom = { sizeof (magat_geom_rows) / sizeof (struct keyboard_row_geometry), magat_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/sun4sw-map.h0000644000175000017500000001431110206731452014141 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the default keymap of the Sun type 4 Swedish keyboard * Generated by Torbj|rn Lindgren . */ static const struct default_keycode_map sun4sw_map [] = { { 8, 0, { XK_Cancel, 0, XK_F11 }}, { 10, 0, { XK_Redo, 0, XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11, 0, SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12, 0, SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, 0, { XK_Multi_key }}, { 21, 0, { XK_F6 }}, { 22, 0, { XK_asciitilde, XK_asciicircum }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 28, 0, { XK_Pause, 0, XK_F21 }}, { 29, 0, { XK_Print, 0, XK_F22 }}, { 30, 0, { XK_Break, XK_Scroll_Lock, XK_F23 }}, { 32, 0, { SunXK_Props, 0, XK_F13 }}, { 33, 0, { XK_Undo, 0, XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_quotedbl, XK_at }}, { 39, 0, { XK_3, XK_numbersign, XK_sterling }}, { 40, 0, { XK_4, XK_currency, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_ampersand }}, { 43, 0, { XK_7, XK_slash, XK_braceleft }}, { 44, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 45, 0, { XK_9, XK_parenright, XK_bracketright }}, { 46, 0, { XK_0, XK_equal, XK_braceright }}, { 47, 0, { XK_plus, XK_question, XK_backslash }}, { 48, 0, { SunXK_FA_Acute, SunXK_FA_Grave }}, { 49, 0, { XK_apostrophe, XK_asterisk, XK_grave }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_KP_Equal, 0, XK_F24 }}, { 53, 0, { XK_KP_Divide, 0, XK_F25 }}, { 54, 0, { XK_KP_Multiply, 0, XK_F26 }}, { 56, 0, { SunXK_Front, 0, XK_F15 }}, { 57, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 58, 0, { SunXK_Copy, 0, XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_Aring }}, { 72, 0, { SunXK_FA_Diaeresis, SunXK_FA_Circum, SunXK_FA_Tilde }}, { 73, 0, { XK_Delete }}, { 74, Mod2Mask, { XK_Mode_switch }}, { 75, 0, { XK_KP_Home, XK_KP_7, XK_F27 }}, { 76, 0, { XK_KP_Up, XK_KP_8, XK_F28 }}, { 77, 0, { XK_KP_Prior, XK_KP_9, XK_F28 }}, { 78, 0, { XK_KP_Subtract }}, { 79, 0, { SunXK_Open, 0, XK_F17 }}, { 80, 0, { SunXK_Paste, 0, XK_F18 }}, { 83, LockMask, { XK_Caps_Lock }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_Odiaeresis }}, { 94, 0, { XK_Adiaeresis }}, { 95, 0, { XK_section, XK_onehalf }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_KP_Left, XK_KP_4, XK_F30 }}, { 99, 0, { 0, XK_KP_5, XK_F31 }}, { 100, 0, { XK_KP_Right, XK_KP_6, XK_F32 }}, { 101, 0, { XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_Find, 0, XK_F19 }}, { 104, 0, { SunXK_Cut, 0, XK_F20 }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_KP_End, XK_KP_1, XK_F33 }}, { 120, 0, { XK_KP_Down, XK_KP_2, XK_F34 }}, { 121, 0, { XK_KP_Next, XK_KP_3, XK_F35 }}, { 125, 0, { XK_Help }}, { 126, ControlMask, { XK_Control_L }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 131, 0, { XK_less, XK_greater, XK_bar }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/xinside-map.h0000644000175000017500000000721310206731452014344 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996 * Jamie Zawinski * * This file describes the keymap of a generic 101 key Dell keyboard * on BSDI running the "Accelerated X" server from X Inside Inc. * By Joe Siegrist . */ static const struct default_keycode_map xinside_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, 0, { XK_Num_Lock }}, { 78, Mod4Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 92, 0, { XK_Print }}, { 93, 0, { XK_Down }}, { 94, 0, { XK_backslash, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 118, 0, { XK_Left }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_Meta_L }}, { 121, 0, { XK_Meta_R }}, { 122, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 123, ControlMask, { XK_Control_R }}, { 124, 0, { XK_KP_Enter }}, { 125, 0, { XK_KP_Divide }}, { 126, 0, { XK_Menu }}, { 127, 0, { XK_Pause }}, { 128, 0, { XK_Up }}, { 129, 0, { XK_Delete }}, { 130, 0, { XK_End }}, { 131, 0, { XK_Insert }}, { 133, 0, { XK_Right }}, { 134, 0, { XK_Next }}, { 135, 0, { XK_Home }}, { 136, 0, { XK_Break }}, { 137, 0, { XK_Sys_Req }} }; xkeycaps-2.47/kbds/pc101-3-codes.h0000644000175000017500000000206610206731452014206 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of a "Maxi-Switch 2192004" 101 key * PC-style keyboard under Linux with XFree86 2.0. * This differs from the keyboard we know as `pc101' in the placement * of the "\ and |" key. * * Note that the keypad keycodes are only generated when NumLock is on. * They generate different keycodes (the arrow keys, etc) otherwise. * * By Jamie Zawinski */ static const KeyCode pc101_3_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 51, 98, 87, 88, 89, 108, /* Row 6 */ 37, 64, 65, 113, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/ortek-codes.h0000644000175000017500000000164510206731452014350 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file contains the keycaps layout of a 107-key Ortek "Enhanced Keyboard" * This is based on the file "pc104-codes.h" * Unfortunately, the extra 3 keys don't work in X. * By Mike Hicks */ static const KeyCode ortek_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 0, 0, 0, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 111, 78, 110, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 106, 97, 99, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 107, 103, 105, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 51, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 113, 116, 117, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/sun5uk-geom.h0000644000175000017500000000433610206731452014310 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Sun UK type 5 keyboard. * By Jeremy Prior (jez@howell.com), 16th Aug 1995 * Based on Sun Swiss-French Type 5 Keyboard, * by Philippe A. Kipfer (Philippe.Kipfer@di.epfl.ch), dec.1993. */ static const struct key_geometry sun5uk_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5uk_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5uk_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {9, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5uk_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {38, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5uk_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {18,7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5uk_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {11, 7}, {7, 7}, {7, 7}, {59, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun5uk_geom_rows [] = { ROW (sun5uk_geom_row0, 7), EMPTYROW (7), ROW (sun5uk_geom_row1, 7), ROW (sun5uk_geom_row2, 7), ROW (sun5uk_geom_row3, 7), ROW (sun5uk_geom_row4, 7), ROW (sun5uk_geom_row5, 7), }; static const struct keyboard_geometry sun5uk_geom = { sizeof (sun5uk_geom_rows) / sizeof (struct keyboard_row_geometry), sun5uk_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/sco110-map.h0000644000175000017500000000632110206731452013706 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the SCO ODT 110 keyboard. * By Steven W. Orr . */ static const struct default_keycode_map sco110_map [] = { { 8, 0, { XK_Escape }}, { 9, 0, { XK_1, XK_exclam }}, { 10, 0, { XK_2, XK_at }}, { 11, 0, { XK_3, XK_numbersign }}, { 12, 0, { XK_4, XK_dollar }}, { 13, 0, { XK_5, XK_percent }}, { 14, 0, { XK_6, XK_asciicircum }}, { 15, 0, { XK_7, XK_ampersand }}, { 16, 0, { XK_8, XK_asterisk }}, { 17, 0, { XK_9, XK_parenleft }}, { 18, 0, { XK_0, XK_parenright }}, { 19, 0, { XK_minus, XK_underscore }}, { 20, 0, { XK_equal, XK_plus }}, { 21, 0, { XK_BackSpace }}, { 22, 0, { XK_Tab }}, { 23, 0, { XK_Q }}, { 24, 0, { XK_W }}, { 25, 0, { XK_E }}, { 26, 0, { XK_R }}, { 27, 0, { XK_T }}, { 28, 0, { XK_Y }}, { 29, 0, { XK_U }}, { 30, 0, { XK_I }}, { 31, 0, { XK_O }}, { 32, 0, { XK_P }}, { 33, 0, { XK_bracketleft, XK_braceleft }}, { 34, 0, { XK_bracketright, XK_braceright }}, { 35, 0, { XK_Return }}, { 36, ControlMask, { XK_Control_L }}, { 37, 0, { XK_A }}, { 38, 0, { XK_S }}, { 39, 0, { XK_D }}, { 40, 0, { XK_F }}, { 41, 0, { XK_G }}, { 42, 0, { XK_H }}, { 43, 0, { XK_J }}, { 44, 0, { XK_K }}, { 45, 0, { XK_L }}, { 46, 0, { XK_semicolon, XK_colon }}, { 47, 0, { XK_apostrophe, XK_quotedbl }}, { 48, 0, { XK_grave, XK_asciitilde }}, { 49, ShiftMask, { XK_Shift_L }}, { 50, 0, { XK_backslash, XK_bar }}, { 51, 0, { XK_Z }}, { 52, 0, { XK_X }}, { 53, 0, { XK_C }}, { 54, 0, { XK_V }}, { 55, 0, { XK_B }}, { 56, 0, { XK_N }}, { 57, 0, { XK_M }}, { 58, 0, { XK_comma, XK_less }}, { 59, 0, { XK_period, XK_greater }}, { 60, 0, { XK_slash, XK_question }}, { 61, ShiftMask, { XK_Shift_R }}, { 62, 0, { XK_KP_Multiply }}, { 63, Mod1Mask, { XK_Alt_L }}, { 64, 0, { XK_space }}, { 65, LockMask, { XK_Caps_Lock }}, { 66, 0, { XK_F1 }}, { 67, 0, { XK_F2 }}, { 68, 0, { XK_F3 }}, { 69, 0, { XK_F4 }}, { 70, 0, { XK_F5 }}, { 71, 0, { XK_F6 }}, { 72, 0, { XK_F7 }}, { 73, 0, { XK_F8 }}, { 74, 0, { XK_F9 }}, { 75, 0, { XK_F10 }}, { 76, 0, { XK_Num_Lock, XK_Num_Lock }}, { 77, 0, { XK_Cancel }}, { 78, 0, { XK_KP_7 }}, { 79, 0, { XK_KP_8 }}, { 80, 0, { XK_KP_9 }}, { 81, 0, { XK_KP_Subtract }}, { 82, 0, { XK_KP_4 }}, { 83, 0, { XK_KP_5 }}, { 84, 0, { XK_KP_6 }}, { 85, 0, { XK_KP_Add }}, { 86, 0, { XK_KP_1 }}, { 87, 0, { XK_KP_2 }}, { 88, 0, { XK_KP_3 }}, { 89, 0, { XK_KP_0 }}, { 90, 0, { XK_KP_Decimal }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_F12 }}, { 135, 0, { XK_Execute }}, { 136, Mod1Mask, { XK_Alt_R }}, { 137, 0, { XK_Insert }}, { 138, 0, { XK_Delete }}, { 139, 0, { XK_Home }}, { 140, 0, { XK_End }}, { 141, 0, { XK_Prior }}, { 142, 0, { XK_Next }}, { 143, 0, { XK_Right }}, { 144, 0, { XK_Left }}, { 145, 0, { XK_Up }}, { 146, 0, { XK_Down }}, { 147, 0, { XK_KP_Divide }}, { 148, 0, { XK_KP_Enter }}, { 149, 0, { XK_Pause }}, { 150, 0, { XK_Print }} }; xkeycaps-2.47/kbds/ncd123-codes.h0000644000175000017500000000162010206731452014207 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the NCD123-UX keyboard. * By John Palmieri */ static const KeyCode ncd123_codes [] = { /* Row 0 */ 9, 8, 135, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 95, 98, 80, 81, 83, 0, /* Row 1 */ 10, 11, 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 123, 102, 103, 110, 111, 118, 119, 126, 132, /* Row 2 */ 12, 16, 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 92, 100, 101, 109, 108, 117, 125, 124, /* Row 3 */ 19, 24, 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 90, 128, 129, 130, 107, 115, 116, /* Row 4 */ 32, 40, 18, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 127, 99, 131, 105, 114, 122, 121, /* Row 5 */ 48, 56, 17, 25, 64, 41, 72, 57, 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/shine106pt-caps.h0000644000175000017500000000413610206731452014754 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Microsoft "Natural" keyboard (part 58221). It's pretty much the same as pc101-caps.h, except for the additional modifier keys in the bottom row. */ static const struct key_strings shine106pt_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", "Help"}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Scrn", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, /* Row 2 */ {"|", "\\", 0}, {"!", "1", 0}, {"\"", "2", "@"}, {"#", "3", "£"}, {"$", "4", "§"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "'", 0}, {"»", "«", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"*", "+", "¨"}, {"`", "'", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"Ç", 0}, {"ª", "º", 0}, {"^", "~", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/macstd-map.h0000644000175000017500000000654210206731452014160 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the default keymap of the Apple Standard ADB keyboard * for X11R6 server on NetBSD/mac68k. By Ken Nakata . */ static const struct default_keycode_map macstd_map [] = { { 0, 0, { XK_A }}, { 1, 0, { XK_S }}, { 2, 0, { XK_D }}, { 3, 0, { XK_F }}, { 4, 0, { XK_H }}, { 5, 0, { XK_G }}, { 6, 0, { XK_Z }}, { 7, 0, { XK_X }}, { 8, 0, { XK_C }}, { 9, 0, { XK_V }}, { 11, 0, { XK_B }}, { 12, 0, { XK_Q }}, { 13, 0, { XK_W }}, { 14, 0, { XK_E }}, { 15, 0, { XK_R }}, { 16, 0, { XK_Y }}, { 17, 0, { XK_T }}, { 18, 0, { XK_1, XK_exclam }}, { 19, 0, { XK_2, XK_at }}, { 20, 0, { XK_3, XK_numbersign }}, { 21, 0, { XK_4, XK_dollar }}, { 22, 0, { XK_6, XK_asciicircum }}, { 23, 0, { XK_5, XK_percent }}, { 24, 0, { XK_equal, XK_plus }}, { 25, 0, { XK_9, XK_parenleft }}, { 26, 0, { XK_7, XK_ampersand }}, { 27, 0, { XK_minus, XK_underscore }}, { 28, 0, { XK_8, XK_asterisk }}, { 29, 0, { XK_0, XK_parenright }}, { 30, 0, { XK_bracketright, XK_braceright }}, { 31, 0, { XK_O }}, { 32, 0, { XK_U }}, { 33, 0, { XK_bracketleft, XK_braceleft }}, { 34, 0, { XK_I }}, { 35, 0, { XK_P }}, { 36, 0, { XK_Return }}, { 37, 0, { XK_L }}, { 38, 0, { XK_J }}, { 39, 0, { XK_apostrophe, XK_quotedbl }}, { 40, 0, { XK_K }}, { 41, 0, { XK_semicolon, XK_colon }}, { 42, 0, { XK_backslash, XK_bar }}, { 43, 0, { XK_comma, XK_less }}, { 44, 0, { XK_slash, XK_question }}, { 45, 0, { XK_N }}, { 46, 0, { XK_M }}, { 47, 0, { XK_period, XK_greater }}, { 48, 0, { XK_Tab }}, { 49, 0, { XK_space }}, { 50, 0, { XK_grave, XK_asciitilde }}, { 51, 0, { XK_Delete }}, { 53, 0, { XK_Escape }}, { 54, ControlMask, { XK_Control_L }}, { 55, 0, { XK_Meta_L }}, { 56, ShiftMask, { XK_Shift_L }}, { 57, LockMask, { XK_Caps_Lock }}, { 58, Mod1Mask, { XK_Alt_L }}, { 59, 0, { XK_Left }}, { 60, 0, { XK_Right }}, { 61, 0, { XK_Control_R }}, { 62, 0, { XK_Meta_R }}, { 65, 0, { XK_KP_Decimal }}, { 67, 0, { XK_KP_Multiply }}, { 69, 0, { XK_KP_Add }}, { 71, 0, { XK_Clear }}, { 75, 0, { XK_KP_Divide }}, { 76, 0, { XK_KP_Enter }}, { 78, 0, { XK_KP_Subtract }}, { 81, 0, { XK_KP_Equal }}, { 82, 0, { XK_KP_0 }}, { 83, 0, { XK_KP_1 }}, { 84, 0, { XK_KP_2 }}, { 85, 0, { XK_KP_3 }}, { 86, 0, { XK_KP_4 }}, { 87, 0, { XK_KP_5 }}, { 88, 0, { XK_KP_6 }}, { 89, 0, { XK_KP_7 }}, { 91, 0, { XK_KP_8 }}, { 92, 0, { XK_KP_9 }}, { 96, 0, { XK_F5 }}, { 97, 0, { XK_F6 }}, { 98, 0, { XK_F7 }}, { 99, 0, { XK_F3 }}, { 100, 0, { XK_F8 }}, { 101, 0, { XK_F9 }}, { 103, 0, { XK_F11 }}, { 105, 0, { XK_F13, XK_Print }}, { 107, 0, { XK_F14, XK_Pause }}, { 109, 0, { XK_F10 }}, { 111, 0, { XK_F12 }}, { 112, 0, { XK_Up }}, { 113, 0, { XK_F15, XK_Pause }}, { 114, 0, { XK_Help, XK_Insert }}, { 115, 0, { XK_Home }}, { 116, 0, { XK_Prior }}, { 117, 0, { XK_Delete }}, { 118, 0, { XK_F4 }}, { 119, 0, { XK_End }}, { 120, 0, { XK_F2 }}, { 121, 0, { XK_Next }}, { 122, 0, { XK_F1 }}, { 123, 0, { XK_Right }}, { 124, 0, { XK_Left }}, { 125, 0, { XK_Down }}, }; xkeycaps-2.47/kbds/hppcuk700rx-codes.h0000644000175000017500000000154410206731452015315 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the HP 700/RX PC X terminal keyboard. * (UK Version). * By Chris Paulson-Ellis */ static const KeyCode hppcuk700rx_codes [] = { /* Row 0 */ 17, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 95, 103, 96, 104, 107, /* Row 2 */ 23, 31, 39, 47, 46, 55, 63, 70, 71, 79, 78, 87, 94, 111, 112, 119, 120, 127, 128, 135, 141, /* Row 3 */ 22, 30, 38, 45, 54, 53, 62, 69, 76, 77, 86, 93, 100, 99, 109, 110, 118, 117, 126, 134, 133, /* Row 4 */ 29, 37, 36, 44, 52, 61, 60, 68, 75, 84, 85, 91, 92, 116, 124, 125, /* Row 5 */ 27, 28, 35, 43, 42, 51, 59, 58, 67, 74, 82, 83, 98, 108, 114, 123, 131, 130, /* Row 6 */ 26, 34, 50, 66, 97, 106, 105, 115, 121, 122 }; xkeycaps-2.47/kbds/sun5-ow-map.h0000644000175000017500000001077710206731452014227 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Sun type 5 keyboard * as interpreted by OpenWindows 3.0. * Generated by Eric Benson . */ static const struct default_keycode_map sun5_ow_map [] = { /* these keys have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 22, 0, { 0 }}, /* blank key between Help and F1 */ { 52, 0, { 0 }}, /* Degauss, Mute */ { 55, 0, { 0 }}, /* Power */ { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, 0, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, 0, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, 0, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/libretto100-caps.h0000644000175000017500000000345310206731452015121 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the key surfaces of the * Toshiba Libretto 100CT/2.1 (model no. PA1254EA) * Debian GNU/Linux 2.1 (kernel 2.2.9/glibc-2.0.7) * XFree86 3.3.2 (Debian package v3.3.2.3a-11) * NeoMagic Xserver (Debian package v1.1.0-1-1) * * david arnold september 1999 */ static const struct key_strings libretto100_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtSc", 0}, {"Pause", 0}, {"Wind", 0}, {"Menu", 0}, /* Row 1 */ {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", "Home"}, {"*", "8", "UpArrow"}, {"(", "9", "PgUp"}, {")", "0", "*"}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, /* Row 2 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", "", "LeftArrow"}, {"I", 0}, {"O", "", "RightArrow"}, {"P", "", "-"}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, /* Row 3 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", "", "End"}, {"K", "", "DownArrow"}, {"L", "", "PgDn"}, {":", ";", "+"}, {"\"", "'", 0}, {"Enter", 0}, /* Row 4 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", "", "Ins"}, {"<", ",", 0}, {">", ".", "Del"}, {"?", "/", "/"}, {"", "UpArrow", "PgUp"}, {"Shift", 0}, /* Row 5 */ {"Ctrl", 0}, {"Alt", 0}, {"~", "`", 0}, {" ", 0}, {"Ins", 0}, {"Del", 0}, {"Fn", 0}, {"", "LeftArrow", "Home"}, {"", "DownArrow", "PgDn"}, {"", "RightArrow", "End"} }; xkeycaps-2.47/kbds/trek-geom.h0000644000175000017500000000336310206731452014022 0ustar cbcb/* xkeycaps, Copyright (c) 1997, 1999 Jamie Zawinski * * This file describes the physical layout of the Micron * Transport Trek2 notebook keyboard layout. * By Alan Ho */ static const struct key_geometry trek_geom_row1 [] = { {16, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8} }; static const struct key_geometry trek_geom_row2 [] = { {8,10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {8, 10}, {8, 10} }; static const struct key_geometry trek_geom_row3 [] = { {8, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {8, 10}, {8, 10} }; static const struct key_geometry trek_geom_row4 [] = { {12, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {14, 10}, {8, 10} }; static const struct key_geometry trek_geom_row5 [] = { {16, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {10, 10}, {12, 10}, {8, 10}, {8,10} }; static const struct key_geometry trek_geom_row6 [] = { {10, 10}, {10, 10}, {10, 10}, {10, 10}, {50, 10}, {10, 10}, {10, 10}, {10, 10}, {8, 10}, {8, 10}, {8, 10} }; static const struct keyboard_row_geometry trek_geom_rows [] = { ROW (trek_geom_row1, 8), ROW (trek_geom_row2, 10), ROW (trek_geom_row3, 10), ROW (trek_geom_row4, 10), ROW (trek_geom_row5, 10), ROW (trek_geom_row6, 10) }; static const struct keyboard_geometry trek_geom = { sizeof (trek_geom_rows) / sizeof (struct keyboard_row_geometry), trek_geom_rows, 6, 4, 4 }; xkeycaps-2.47/kbds/xmint-codes.h0000644000175000017500000000116610206731452014361 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes keycodes generated by the Takaoka Xmint X Terminal. * By Christian Goetze */ static const KeyCode xmint_codes [] = { /* Row 0 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 21, /* Row 2 */ 20, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, /* Row 3 */ 11, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 22, /* Row 4 */ 10, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 23, /* Row 5 */ 8, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 9, 18, /* Row 6 */ 16, 14, 12, 19, 13, 15, 17 }; xkeycaps-2.47/kbds/ktx1000-caps.h0000644000175000017500000000366010206731452014163 0ustar cbcb/* xkeycaps, Copyright (c) 1994, ..., 1999 Jamie Zawinski * * This file describes what is printed on the keycaps of a KTX 1000 keyboard. * The file was edited Neil Zanella . */ static const struct key_strings ktx1000_caps [] = { /* Row 1 */ {"Esc", 0, 0}, {"F1", "Prt Sc", 0}, {"F2", "Sys Rq", 0}, {"F3", "Speed", 0}, {"F4", "Backlit", 0}, {"F5", "CRT/LCD", 0}, {"F6", "Gauge", 0}, {"F7", "KeyLock", 0}, {"F8", "Mute", 0}, {"F9", "Audio Down", 0}, {"F10", "Audio Up", 0}, {"F11", "Rest", 0}, {"F12", "Scroll", 0}, {"Num", "Lock", 0}, {"Pause", "Break", 0}, {"Insert", 0, 0}, {"Delete", 0, 0}, /* Row 2 */ {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", "7"}, {"*", "8", "8"}, {"(", "9", "9"}, {")", "0", "*"}, {"-", "_", 0}, {"+", "=", 0}, {"Backspace", "<----", 0}, {"Home", 0, 0}, /* Row 3 */ {"Tab", "<->", 0}, {"Q", 0, 0}, {"W", 0, 0}, {"E", 0, 0}, {"R", 0, 0}, {"T", 0, 0}, {"Y", 0, 0}, {"U", 0, "4"}, {"I", 0, "5"}, {"O", 0, "6"}, {"P", 0, "-"}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"PgUp", 0, 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0, 0}, {"S", 0, 0}, {"D", 0, 0}, {"F", 0, 0}, {"G", 0, 0}, {"H", 0, 0}, {"J", 0, "1"}, {"K", 0, "2"}, {"L", 0, "3"}, {":", ";", "+"}, {"\"", "'", 0}, {"Enter", "<--|", 0}, {"PgDn", 0, 0}, /* Row 5 */ {"Shift", "UpArrow", 0}, {"Z", 0, 0}, {"X", 0, 0}, {"C", 0, 0}, {"V", 0, 0}, {"B", 0, 0}, {"N", 0, 0}, {"M", 0, "0"}, {"<", ",", 0}, {">", ".", "."}, {"?", "/", "/"}, {"Shift", "UpArrow", 0}, {"UpArrow", "Contrast Up", 0}, {"End", 0, 0}, /* Row 6 */ {"Fn", 0, 0}, {"~", "`", 0}, {"Ctrl", 0, 0}, {"Alt", 0, 0}, {"Win", 0, 0}, {" ", 0, 0}, {"Win", 0, 0}, {"Menu", 0, 0}, {"Alt", 0, 0}, {"Ctrl", 0, 0}, {"Brightness Down", "LeftArrow", 0}, {"Contrast Down", "DownArrow", 0}, {"Brightness Up", "RightArrow", 0} }; xkeycaps-2.47/kbds/omniultra-caps.h0000644000175000017500000000442710206731452015070 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the key surfaces of a Northgate OmniKey Ultra * keyboard (part number: 560,0020, vendor code: 777, rev 6.04, 18 June 91). * By John A. Martin */ static const struct key_strings omniultra_caps [] = { /* Row 0 */ {"F11", 0}, {"F12", 0}, {"SF1", 0}, {"SF2", 0}, {"SF3", 0}, {"SF4", 0}, {"SF5", 0}, {"SF6", 0}, {"SF7", 0}, {"SF8", 0}, {"SF9", 0}, {"SF10", 0}, {"SF11", 0}, {"SF12", 0}, {"cPL", 0}, /* comma, Period, Lock */ {"Rate", "Select", 0}, {"SF", "Select", 0}, /* Row 2 */ {"F1", 0}, {"F2", 0}, {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"F3", 0}, {"F4", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0 }, {"}", "]", 0 }, {"Enter", 0}, {"Home", 0}, {"UpArrow", 0}, {"Page", "Up", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"F5", 0}, {"F6", 0}, {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"LeftArrow", 0}, {"OMNI", 0}, {"RightArrow",0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, {"=", 0}, /* Row 5 */ {"F7", 0}, {"F8", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"|", "\\", 0}, {"End", 0}, {"DownArrow", 0}, {"Page", "Down", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"F9", 0}, {"F10",0}, {"Alt", 0}, {"~", "`", 0}, {"Caps", "Lock", 0}, {" ", 0}, {"Ctrl", 0}, {"*", 0}, {"Alt", 0}, {"Insert", 0}, {"Delete", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/lk401sf-map.h0000644000175000017500000000662210206731452014070 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the default keymap of the Swedish DEC LK401 keyboard. * By Torbj|rn Lindgren */ static const struct default_keycode_map lk401sf_map [] = { { 86, 0, { XK_F1 }}, { 87, 0, { XK_F2 }}, { 88, 0, { XK_F3 }}, { 89, 0, { XK_F4 }}, { 90, 0, { XK_F5 }}, { 100, 0, { XK_F6 }}, { 101, 0, { XK_F7 }}, { 102, 0, { XK_F8 }}, { 103, 0, { XK_F9 }}, { 104, 0, { XK_F10 }}, { 113, 0, { XK_Escape, XK_F11 }}, { 114, 0, { XK_F12 }}, { 115, 0, { XK_F13 }}, { 116, 0, { XK_F14 }}, { 124, 0, { XK_Help }}, { 125, 0, { XK_Menu }}, { 128, 0, { XK_F17 }}, { 129, 0, { XK_F18 }}, { 130, 0, { XK_F19 }}, { 131, 0, { XK_F20 }}, { 138, 0, { XK_Find }}, { 139, 0, { XK_Insert }}, { 140, 0, { DXK_Remove }}, { 141, 0, { XK_Select }}, { 142, 0, { XK_Prior }}, { 143, 0, { XK_Next }}, { 146, 0, { XK_KP_0 }}, { 148, 0, { XK_KP_Decimal }}, { 149, 0, { XK_KP_Enter }}, { 150, 0, { XK_KP_1 }}, { 151, 0, { XK_KP_2 }}, { 152, 0, { XK_KP_3 }}, { 153, 0, { XK_KP_4 }}, { 154, 0, { XK_KP_5 }}, { 155, 0, { XK_KP_6 }}, { 156, 0, { XK_KP_Separator }}, { 157, 0, { XK_KP_7 }}, { 158, 0, { XK_KP_8 }}, { 159, 0, { XK_KP_9 }}, { 160, 0, { XK_KP_Subtract }}, { 161, 0, { XK_KP_F1 }}, { 162, 0, { XK_KP_F2 }}, { 163, 0, { XK_KP_F3 }}, { 164, 0, { XK_KP_F4 }}, { 167, 0, { XK_Left }}, { 168, 0, { XK_Right }}, { 169, 0, { XK_Down }}, { 170, 0, { XK_Up }}, { 171, ShiftMask, { XK_Shift_R }}, { 172, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 173, Mod2Mask, { XK_Multi_key }}, { 174, ShiftMask, { XK_Shift_L }}, { 175, ControlMask, { XK_Control_L }}, { 176, LockMask, { XK_Caps_Lock }}, { 177, Mod2Mask, { XK_Multi_key }}, { 178, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 188, 0, { XK_Delete }}, { 189, 0, { XK_Return }}, { 190, 0, { XK_Tab }}, { 191, 0, { XK_asciitilde, XK_degree }}, { 192, 0, { XK_1, XK_exclam }}, { 193, 0, { XK_Q }}, { 194, 0, { XK_A }}, { 195, 0, { XK_Z }}, { 197, 0, { XK_2, XK_quotedbl }}, { 198, 0, { XK_W }}, { 199, 0, { XK_S }}, { 200, 0, { XK_X }}, { 201, 0, { XK_less, XK_greater }}, { 203, 0, { XK_3, XK_section }}, { 204, 0, { XK_E }}, { 205, 0, { XK_D }}, { 206, 0, { XK_C }}, { 208, 0, { XK_4, XK_dollar }}, { 209, 0, { XK_R }}, { 210, 0, { XK_F }}, { 211, 0, { XK_V }}, { 212, 0, { XK_space }}, { 214, 0, { XK_5, XK_percent }}, { 215, 0, { XK_T }}, { 216, 0, { XK_G }}, { 217, 0, { XK_B }}, { 219, 0, { XK_6, XK_ampersand }}, { 220, 0, { XK_Y }}, { 221, 0, { XK_H }}, { 222, 0, { XK_N }}, { 224, 0, { XK_7, XK_slash }}, { 225, 0, { XK_U }}, { 226, 0, { XK_J }}, { 227, 0, { XK_M }}, { 229, 0, { XK_8, XK_parenleft }}, { 230, 0, { XK_I }}, { 231, 0, { XK_K }}, { 232, 0, { XK_comma, XK_semicolon }}, { 234, 0, { XK_9, XK_parenright }}, { 235, 0, { XK_O }}, { 236, 0, { XK_L }}, { 237, 0, { XK_period, XK_colon }}, { 239, 0, { XK_0, XK_equal }}, { 240, 0, { XK_P }}, { 242, 0, { XK_Odiaeresis }}, { 243, 0, { XK_minus, XK_underscore }}, { 245, 0, { XK_asciicircum, XK_grave }}, { 246, 0, { XK_Udiaeresis }}, { 247, 0, { XK_apostrophe, XK_asterisk }}, { 249, 0, { XK_plus, XK_question }}, { 250, 0, { XK_Aring }}, { 251, 0, { XK_Adiaeresis }} }; xkeycaps-2.47/kbds/apollo-map.h0000644000175000017500000000763510206731452014177 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the key mapping of an HP Apollo-thingy type keyboard. * By Mick J Hellstrom */ static const struct default_keycode_map apollo_map [] = { /* Row 0. */ { 9, 0, { XK_Select, XK_KP_Insert }}, { 10, 0, { XK_KP_Begin }}, { 11, 0, { XK_KP_Delete }}, { 12, 0, { XK_F10 }}, { 13, 0, { XK_F1 }}, { 14, 0, { XK_F2 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F4 }}, { 17, 0, { XK_F5 }}, { 18, 0, { XK_F6 }}, { 19, 0, { XK_F7 }}, { 20, 0, { XK_F8 }}, { 21, 0, { XK_F9 }}, { 22, 0, { XK_Redo }}, { 23, 0, { XK_KP_F1 }}, /* aka "READ". */ { 24, 0, { XK_KP_F3, XK_KP_F4}}, /* aka "EDIT, SAVE". */ { 25, 0, { XK_Break, XK_Cancel }}, /* aka "EXIT, ABORT". */ { 26, 0, { XK_Pause, XK_Help }}, /* aka "HOLD, HELP". */ /* Row 1. */ { 27, 0, { XK_F20, XK_F21 }}, /* aka "COPY, CUT". */ { 28, 0, { XK_F22, XK_Undo }}, /* aka "PASTE, UNDO". */ { 29, 0, { XK_F24, XK_F25 }}, /* aka "GROW, MOVE". */ { 31, 0, { XK_Escape }}, { 32, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_2, XK_at }}, { 34, 0, { XK_3, XK_numbersign }}, { 35, 0, { XK_4, XK_dollar }}, { 36, 0, { XK_5, XK_percent }}, { 37, 0, { XK_6, XK_asciicircum }}, { 38, 0, { XK_7, XK_ampersand }}, { 39, 0, { XK_8, XK_asterisk }}, { 40, 0, { XK_9, XK_parenleft }}, { 41, 0, { XK_0, XK_parenright }}, { 42, 0, { XK_minus, XK_underscore }}, { 43, 0, { XK_equal, XK_plus }}, { 44, 0, { XK_grave, XK_asciitilde }}, { 45, 0, { XK_BackSpace }}, /* Row 2. */ { 47, 0, { XK_KP_Home }}, { 48, 0, { XK_Execute, XK_Execute }}, /* aka CMD, SHELL */ { 49, 0, { XK_KP_End }}, { 52, 0, { XK_Tab }}, { 53, 0, { XK_Q }}, { 54, 0, { XK_W }}, { 55, 0, { XK_E }}, { 56, 0, { XK_R }}, { 57, 0, { XK_T }}, { 58, 0, { XK_Y }}, { 59, 0, { XK_U }}, { 60, 0, { XK_I }}, { 61, 0, { XK_O }}, { 62, 0, { XK_P }}, { 63, 0, { XK_bracketleft, XK_braceleft }}, { 64, 0, { XK_bracketright, XK_braceright }}, { 66, 0, { XK_Delete }}, { 68, 0, { XK_KP_7 }}, { 69, 0, { XK_KP_8 }}, { 70, 0, { XK_KP_9 }}, { 71, 0, { XK_KP_Add }}, /* Row 3. */ { 72, 0, { XK_KP_Left }}, { 73, 0, { XK_Up }}, { 74, 0, { XK_KP_Right }}, { 75, ControlMask, { XK_Control_L }}, { 134, LockMask, { XK_Caps_Lock }}, { 78, 0, { XK_A }}, { 79, 0, { XK_S }}, { 80, 0, { XK_D }}, { 81, 0, { XK_F }}, { 82, 0, { XK_G }}, { 83, 0, { XK_H }}, { 84, 0, { XK_J }}, { 85, 0, { XK_K }}, { 86, 0, { XK_L }}, { 87, 0, { XK_semicolon, XK_colon }}, { 88, 0, { XK_apostrophe, XK_quotedbl }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_backslash, XK_bar }}, { 93, 0, { XK_KP_4 }}, { 94, 0, { XK_KP_5 }}, { 95, 0, { XK_KP_6 }}, { 96, 0, { XK_KP_Subtract }}, /* Row 4. */ { 97, 0, { XK_Left }}, { 98, 0, { XK_Next }}, { 99, 0, { XK_Right }}, { 101, 0, { XK_Alt_L, XK_Meta_L }}, /* aka "Repeat" */ { 102, ShiftMask, { XK_Shift_L }}, { 104, 0, { XK_Z }}, { 105, 0, { XK_X }}, { 106, 0, { XK_C }}, { 107, 0, { XK_V }}, { 108, 0, { XK_B }}, { 109, 0, { XK_N }}, { 110, 0, { XK_M }}, { 111, 0, { XK_comma, XK_less }}, { 112, 0, { XK_period, XK_greater }}, { 113, 0, { XK_slash, XK_question }}, { 114, ShiftMask, { XK_Shift_R }}, { 116, 0, { XK_Alt_R, XK_Meta_R }}, /* aka "Pop" */ { 118, 0, { XK_KP_1 }}, { 119, 0, { XK_KP_2 }}, { 120, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Enter }}, /* Row 5. */ { 122, 0, { XK_KP_Page_Up, XK_Prior }}, { 123, 0, { XK_Down }}, { 124, 0, { XK_KP_Page_Down, XK_Next }}, { 125, 0, { XK_Alt_L, XK_Meta_L }}, /* aka "Repeat" */ { 126, 0, { XK_space }}, { 127, 0, { XK_Alt_R, XK_Meta_R }}, /* aka "Pop" */ { 129, 0, { XK_KP_0 }}, { 131, 0, { XK_KP_Decimal }} }; xkeycaps-2.47/kbds/hp700rx-codes.h0000644000175000017500000000173410206731452014433 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the HP 700/RX X terminal keyboard. * By Hide Horiuchi . */ static const KeyCode hp700rx_codes [] = { /* Row 0 */ 17, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 95, 103, 96, 104, 107, /* Row 2 */ 23, 31, 39, 47, 46, 55, 63, 70, 71, 79, 78, 87, 94, 111, 112, 119, 120, 127, 128, 135, 141, /* Note: the last keycode on the preceeding line (keypad-minus) used to be 129, but Corne Beerse says that 141 is correct, with HPUX 9.05. */ /* Row 3 */ 22, 30, 38, 45, 54, 53, 62, 69, 76, 77, 86, 93, 100, 101, 109, 110, 118, 117, 126, 134, 133, /* Row 4 */ 29, 37, 36, 44, 52, 61, 60, 68, 75, 84, 85, 91, 99, 116, 124, 125, /* Row 5 */ 27, 35, 43, 42, 51, 59, 58, 67, 74, 82, 83, 98, 108, 114, 123, 131, 130, /* Row 6 */ 26, 34, 50, 66, 97, 106, 105, 115, 121, 122 }; xkeycaps-2.47/kbds/gw2k-codes.h0000644000175000017500000000552210206731452014074 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the keycodes for the Gateway 2000 * AnyKey programmable PC keyboard. * By Jarrod Smith * * Important notes about this keyboard: * * In order for all the keysyms to work properly, the programmable ROM * inside the keyboard may need to be reset to factory default by pressing * -- * even if you have NEVER programmed anything into the keyboard! If you * have programmed macros in that you don't want to lose, you should be * able to save them by using the DOS utility that came with the keyboard * BEFORE you reset the ROM. * * I couldn't get xmodmap to get the BackSpace keysym working right for my * keyboard until I did this. It would let me change the keysym for my * backspace key from Delete to BackSpace which is what I wanted it to do, * but I have no clue what the BackSpace keysym was doing! Certainly not * Backspacing!!! It worked on the command-line, but in some X apps it * would give me the <+/-> character, and in others, nothing... weird. * * Also, there are four diagonal cursor keys on this keyboard (up-left, * up-right, down-left, down-right) which each generate two keycodes per * keypress event. I didn't know what to do about this in the * gw2k-codes.h file, so I just put in the first keycode that gets * generated (see the comments in row4 and row6 in that file). Also, I * didn't know what to put in the gw2k-caps.h file since there are no * diagonal arrow keycaps to put on the keys, so again, I put the keycap * that corresponds to the first keycode generated (I tried putting both * on, but it looked funny to me) and "shifted" the arrows to differentiate * them from the normal up and down keys. */ static const KeyCode gw2k_codes [] = { /* Row 0 */ 95, 96, 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, 0, 0, 0, 0, /* Row 2 */ 67, 68, 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 51, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 69, 70, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 71, 72, 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, /* the first and third keys on this line are diogonal up arrows that*/ 98, 98, 98, /* generate two codes each when pressed: 98+100 for the first, */ /* and 98+102 for the third (in that order). I don't know what to*/ /* do about this, so I put the first keycode that gets generated. -JS*/ 83, 84, 85, /* Row 5 */ 73, 74, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 100, 65, 102, 87, 88, 89, 108, /* Row 6 */ 75, 76, 37, 63, 64, 65, 113, 51, 109, 104, 104, 104, /* Same problem here as above. The first and third are diagonal down keys*/ 90, 91 }; xkeycaps-2.47/kbds/ncd97-caps.h0000644000175000017500000000325010206731452013773 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD X terminal N97 keyboard. */ static const struct key_strings ncd97_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Break", 0}, {"Setup", 0}, /* Row 2 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"~", "`", 0}, {"Backspace", 0}, {"PF1", 0}, {"PF2", 0}, {"PF3", 0}, {"PF4", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Del", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"Line ", "Feed", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"Option", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Caps", "Lock", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/sun101a-xc-map.h0000644000175000017500000001010210206731452014470 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun 101-A keyboard * as interpreted by X Consortium R4 and R5 servers. Generated by * Christopher Davis . * * This map is very nearly identical to sun5-xc-map.h (the modifiers * are different on a few keys.) I can't begin to explain why this is * any different, since the R5 server has no knowledge of the 101A. * ckd used X11R5p26 on SunOS 4.1.2 with gcc 2.4.5. */ static const struct default_keycode_map sun101a_xc_map [] = { /* these have keycodes but no keysyms in the default map */ { 27, 0, { 0 }}, /* UpArrow */ { 31, 0, { 0 }}, /* LeftArrow */ { 34, 0, { 0 }}, /* DownArrow */ { 35, 0, { 0 }}, /* RightArrow */ { 8, 0, { XK_F11 }}, { 10, 0, { XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, 0, { XK_Alt_L }}, { 28, 0, { XK_F21, XK_Pause }}, { 29, 0, { XK_F22 }}, { 30, 0, { XK_F23 }}, { 32, Mod3Mask, { XK_F13 }}, { 33, 0, { XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_F24, XK_KP_Equal }}, { 53, 0, { XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15 }}, { 57, 0, { XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_KP_7 }}, { 76, 0, { XK_Up, XK_KP_8 }}, { 77, 0, { XK_F29, XK_KP_9 }}, { 78, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 79, 0, { XK_F17 }}, { 80, Mod3Mask, { XK_F18 }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter, XK_KP_Enter }}, { 98, 0, { XK_Left, XK_KP_4 }}, { 99, 0, { XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19 }}, { 104, Mod3Mask, { XK_F20 }}, { 105, Mod2Mask, { XK_Num_Lock, XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_F33, XK_KP_1 }}, { 120, 0, { XK_Down, XK_KP_2 }}, { 121, 0, { XK_F35, XK_KP_3 }}, { 125, 0, { XK_Help, XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 132, 0, { XK_KP_Add, XK_KP_Add }} }; xkeycaps-2.47/kbds/butterflyde-caps.h0000644000175000017500000000521010206731452015376 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Soft key "Butterfly" keyboard * with German layout. * By Edgar Greuter . * The actual image on the "Window"-keys is a square with two diagonals. * The actual image of the "Menu"-key is a square with an outlined white * mouse pointer pointing to the upper left corner. * The additional lower curser block has diagonal arrows in its 4 corners. */ static const struct key_strings butterflyde_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, /* Row 2 */ {"Print", "Screen", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, {"Esc", 0}, {"\260", "^", 0}, {"!", "1", 0}, {"\"", "2 \262", 0}, {"\247", "3 \263", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"=", "0 }", 0}, {"?", "\337 \\", 0}, {"`", "'", 0}, {"Backspace", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"F13", 0}, {"Tab", 0}, {"Q", " @", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+ ~", 0}, {"Enter", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"F14", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"F15", 0}, {"UpArrow", 0}, {"F16", 0}, {"Enter", 0}, {"Shift", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", " \265", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"Ctrl", 0}, {"Alt", 0}, {">", "< |", 0}, {"Window", 0}, {" ", 0}, {"Window", 0}, {"Menu", 0}, {"'", "#", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"0", "Ins", 0}, {".", "Del", 0}, /* additional cursor block */ {"", "UpArrow", 0}, {"UpArrow", 0}, {"", "UpArrow", 0}, {"LeftArrow", 0}, {"CSC", 0}, {"RightArrow", 0}, {"", "DownArrow", 0}, {"DownArrow", 0}, {"", "DownArrow", 0}, }; xkeycaps-2.47/kbds/rs2030-caps.h0000644000175000017500000000373210206731452014005 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the MIPS RS-2030 keyboard. * By Cliff Marcellus (cliff@phys.ucalgary.ca) * This is just like pc101-caps.h except Control and Caps-Lock are swapped. */ static const struct key_strings rs2030_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print ", "Scrn", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num ", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Caps", "Lock", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ncd123-geom.h0000644000175000017500000000421110206731452014040 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the physical layout of the NCD123-UX keyboard. * By John Palmieri */ static const struct key_geometry ncd123_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd123_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd123_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ncd123_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd123_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ncd123_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {11, 7}, {7, 7}, {7, 7}, {51, 7}, {11, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry ncd123_geom_rows [] = { ROW (ncd123_geom_row0, 7), EMPTYROW (7), ROW (ncd123_geom_row1, 7), ROW (ncd123_geom_row2, 7), ROW (ncd123_geom_row3, 7), ROW (ncd123_geom_row4, 7), ROW (ncd123_geom_row5, 7), }; static const struct keyboard_geometry ncd123_geom = { sizeof (ncd123_geom_rows) / sizeof (struct keyboard_row_geometry), ncd123_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/amiga-de-map.h0000644000175000017500000001020310206731452014336 0ustar cbcb/* xkeycaps, Copyright (c) 1991-1998 Jamie Zawinski * * This file describes the default german keymap of the Linux XFree68 FBDEV * xserver on an Amiga with a non-A1000 keyboard. Generated by build-map.sh. * By Peter Remmers */ static const struct default_keycode_map amiga_de_map [] = { { 110, 0, }, /* left-Amiga */ { 111, 0, }, /* right-Amiga */ { 8, 0, { XK_grave, XK_asciitilde }}, { 9, 0, { XK_1, XK_exclam, 0, XK_exclam }}, { 10, 0, { XK_2, XK_quotedbl, XK_at }}, { 11, 0, { XK_3, XK_section, 0, XK_numbersign }}, { 12, 0, { XK_4, XK_dollar, 0, XK_cent }}, { 13, 0, { XK_5, XK_percent, 0, XK_percent }}, { 14, 0, { XK_6, XK_ampersand, 0, XK_asciicircum }}, { 15, 0, { XK_7, XK_slash, 0, XK_ampersand }}, { 16, 0, { XK_8, XK_parenleft, 0, XK_asterisk }}, { 17, 0, { XK_9, XK_parenright, 0, XK_parenleft }}, { 18, 0, { XK_0, XK_equal, 0, XK_parenright }}, { 19, 0, { XK_ssharp, XK_question, XK_minus, XK_underscore }}, { 20, 0, { XK_apostrophe, XK_grave, XK_equal, XK_plus }}, { 21, 0, { XK_backslash, XK_bar }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_KP_0, 0, XK_Insert, XK_KP_0 }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_z, XK_Z }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_udiaeresis, XK_Udiaeresis, XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_plus, XK_asterisk, XK_bracketright, XK_braceright }}, { 37, 0, { XK_KP_1, 0, XK_End, XK_KP_1 }}, { 38, 0, { XK_KP_2, 0, XK_Down, XK_KP_2 }}, { 39, 0, { XK_KP_3, 0, XK_Next, XK_KP_3 }}, { 40, 0, { XK_a, XK_A }}, { 41, 0, { XK_s, XK_S }}, { 42, 0, { XK_d, XK_D }}, { 43, 0, { XK_f, XK_F }}, { 44, 0, { XK_g, XK_G }}, { 45, 0, { XK_h, XK_H }}, { 46, 0, { XK_j, XK_J }}, { 47, 0, { XK_k, XK_K }}, { 48, 0, { XK_l, XK_L }}, { 49, 0, { XK_odiaeresis, XK_Odiaeresis, XK_semicolon, XK_colon }}, { 50, 0, { XK_adiaeresis, XK_Adiaeresis, XK_apostrophe, XK_quotedbl }}, { 51, 0, { XK_numbersign, XK_asciicircum }}, { 53, 0, { XK_KP_4, 0, XK_Left }}, { 54, 0, { XK_KP_5 }}, { 55, 0, { XK_KP_6, 0, XK_Right }}, { 56, 0, { XK_less, XK_greater }}, { 57, 0, { XK_y, XK_Y }}, { 58, 0, { XK_x, XK_X }}, { 59, 0, { XK_c, XK_C }}, { 60, 0, { XK_v, XK_V }}, { 61, 0, { XK_b, XK_B }}, { 62, 0, { XK_n, XK_N }}, { 63, 0, { XK_m, XK_M }}, { 64, 0, { XK_comma, XK_semicolon }}, { 65, 0, { XK_period, XK_colon }}, { 66, 0, { XK_minus, XK_underscore }}, { 68, 0, { XK_KP_Decimal }}, { 69, 0, { XK_KP_7, 0, XK_Home, XK_KP_7 }}, { 70, 0, { XK_KP_8, 0, XK_Up, XK_KP_8 }}, { 71, 0, { XK_KP_9, 0, XK_Prior, XK_KP_9 }}, { 72, 0, { XK_space }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Tab }}, { 75, 0, { XK_KP_Enter }}, { 76, 0, { XK_Return }}, { 77, 0, { XK_Escape }}, { 78, 0, { XK_Delete }}, { 82, 0, { XK_KP_Subtract }}, { 84, 0, { XK_Up }}, { 85, 0, { XK_Down }}, { 86, 0, { XK_Right }}, { 87, 0, { XK_Left }}, { 88, 0, { XK_F1, XK_F11 }}, { 89, 0, { XK_F2, XK_F12 }}, { 90, 0, { XK_F3, XK_F13 }}, { 91, 0, { XK_F4, XK_F14 }}, { 92, 0, { XK_F5, XK_F15 }}, { 93, 0, { XK_F6, XK_F16 }}, { 94, 0, { XK_F7, XK_F17 }}, { 95, 0, { XK_F8, XK_F18 }}, { 96, 0, { XK_F9, XK_F19 }}, { 97, 0, { XK_F10, XK_F20 }}, { 98, 0, { XK_bracketleft, XK_braceleft, XK_Num_Lock }}, { 99, 0, { XK_bracketright, XK_braceright, XK_Scroll_Lock }}, { 100, 0, { XK_KP_Divide }}, { 101, 0, { XK_KP_Multiply }}, { 102, 0, { XK_KP_Add }}, { 103, 0, { XK_Help }}, { 104, ShiftMask, { XK_Shift_L }}, { 105, ShiftMask, { XK_Shift_L }}, { 106, LockMask, { XK_Caps_Lock }}, { 107, ControlMask, { XK_Control_L }}, { 108, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 109, Mod1Mask, { XK_Alt_R, XK_Meta_R }} }; xkeycaps-2.47/kbds/tek200u-no-map.h0000644000175000017500000000674610206731452014517 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "norwegian" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_no_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_asciitilde, XK_degree }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_section }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_oslash, XK_Ooblique }}, { 85, 0, { XK_P }}, { 86, 0, { XK_plus, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_ae, XK_AE }}, { 91, 0, { XK_apostrophe, XK_asterisk }}, { 92, 0, { XK_aring, XK_Aring }}, { 93, 0, { XK_acute, XK_grave }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_diaeresis, XK_asciicircum }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/rt-codes.h0000644000175000017500000000141010206731452013637 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the keycodes of the PC/RT US keyboard. * By Torbj|rn Lindgren . */ static const KeyCode rt_codes [] = { /* Row 0 */ 8, 07, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 0, 98, /* Row 2 */ 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 103, 110, 111, 118, 119, 126, 132, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 92, 100, 101, 109, 108, 117, 125, 124, /* Row 4 */ 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 90, 107, 115, 116, /* Row 5 */ 18, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 99, 105, 114, 122, 121, /* Row 6 */ 17, 25, 41, 57, 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/ms105se-caps.h0000644000175000017500000000377310206731452014256 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of the Microsoft "Natural" keyboard * with Swedish layout. * By Leif Nixon . * Based on ms105de-caps. */ static const struct key_strings ms105se_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrScr", "SysRq", 0}, {"ScrLk", 0, 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\275", "\247", 0}, {"!", "1", 0}, {"\"", "2", "@"}, {"#", "3", "\243"}, {"\244", "4", "$"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "+", "\\"}, {"`", "'", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"PgUp", 0}, {"NumLk", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"^", "\250", "~"}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"PgDn", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"*", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", "|"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/ncdpc-codes.h0000644000175000017500000000142610206731452014310 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD PC-Xview keyboard * By Jason Merrill */ static const KeyCode ncdpc_codes [] = { /* Row 0 */ 59, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 0, 112, 58, /* Row 2 */ 50, 36, 37, 38, 39, 40, 41, 42, 43, 44, 35, 53, 54, 55, 56, 68, 63, 60, 111, 95, 91, 93, /* Row 3 */ 57, 25, 31, 13, 26, 28, 33, 29, 17, 23, 24, 51, 52, 114, 69, 62, 61, 88, 89, 90, 92, /* Row 4 */ 121, 9, 27, 12, 14, 15, 16, 18, 19, 20, 48, 49, 85, 86, 87, /* Row 5 */ 118, 34, 32, 11, 30, 10, 22, 21, 45, 46, 47, 117, 65, 82, 83, 84, 113, /* Row 6 */ 120, 116, 8, 115, 119, 64, 67, 66, 81, 94 }; xkeycaps-2.47/kbds/ms105-hpux-codes.h0000644000175000017500000000132310206731452015044 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski */ static const KeyCode ms105_hpux_codes [] = { /* Row 0 */ 17, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 95, 103, 96, 104, 107, /* Row 2 */ 23, 31, 39, 47, 46, 55, 63, 70, 71, 79, 78, 87, 94, 111, 112, 119, 120, 127, 128, 135, 141, /* Row 3 */ 22, 30, 38, 45, 54, 53, 62, 69, 76, 77, 86, 93, 100, 99, 109, 110, 118, 117, 126, 134, 133, /* Row 4 */ 29, 37, 36, 44, 52, 61, 60, 68, 75, 84, 85, 91, 92, 116, 124, 125, /* Row 5 */ 27, 28, 35, 43, 42, 51, 59, 58, 67, 74, 82, 83, 98, 108, 114, 123, 131, 130, /* Row 6 */ 26, 148, 34, 50, 66, 149, 150, 97, 106, 105, 115, 121, 122 }; xkeycaps-2.47/kbds/mklinux-codes.h0000644000175000017500000000210410206731452014702 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the Apple Extended II Keyboard keycodes for use with * MkLinux. * * By Albrecht Dreß , derived from the file * `mac-caps.h' by John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. * * Copyright (C) by Albrecht Dress 1997. This file is "really free" under the * terms the standard X license/copyright. */ static const KeyCode mac_mklinux_codes [] = { /* Row 0 */ 61, 130, 128, 107, 126, 104, 105, 106, 108, 109, 117, 111, 119, 113, 115, 121, /* Row 2 */ 18, 26, 27, 28, 29, 31, 30, 34, 36, 33, 37, 35, 32, 59, 122, 123, 124, 79, 89, 83, 75, /* Row 3 */ 56, 20, 21, 22, 23, 25, 24, 40, 42, 39, 43, 41, 38, 44, 125, 127, 129, 97, 99, 100, 86, /* Row 4 */ 65, 8, 9, 10, 11, 13, 12, 46, 48, 45, 49, 47, 50, 94, 95, 96, 77, /* Row 5 */ 64, 58, 14, 15, 16, 17, 19, 53, 54, 51, 55, 52, 64, 70, 91, 92, 93, 84, /* Row 6 */ 62, 66, 63, 57, 63, 66, 62, 67, 69, 68, 90, 73 }; xkeycaps-2.47/kbds/hpitfsf-caps.h0000644000175000017500000000403110206731452014510 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996, 1999 * Jamie Zawinski * * This file describes the key surfaces of the HP 300, 400, and 700 series * keyboards (Svensk). By Jorgen Jonsson */ static const struct key_strings hpitfsv_caps [] = { /* Row 0 */ {"\305terst\344ll", "Avbryt", 0}, {"Stopp", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"Funk", "p\345/av", 0}, {"Funktioner", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"Rensa", "rad", 0}, {"Rensa", "sk\344rm", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, /* Row 2 */ {">", "<", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "+", 0}, {"\311", "\351", 0}, {"Backspace", 0}, {"+", "rad", 0}, {"-", "rad", 0}, {"*", 0}, {"/", 0}, {"+", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"\334", 0}, {"*", "'", 0}, {"+", "tecken", 0}, {"-", "tecken", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"S\344nd", 0}, /* Row 4 */ {"Versaler", 0}, {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"Return", 0}, {"Hem", 0}, {"F\366reg", "sida", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, /* Row 5 */ {"Ta bort", "ESC", 0}, {"Skift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Skift", 0}, {"V\344lj", 0}, {"UppPil", 0}, {"N\344sta", "sida", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Tab", 0}, /* Row 6 */ {"Skriv", "S\344nd", 0}, {"\326vriga", "tecken", 0}, {" ", 0}, {"\326vriga", "tecken", 0}, {"V\344nstPil", 0}, {"NerPil", 0}, {"H\366gPil", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/sun5sw-xc-map.h0000644000175000017500000002155310206731452014560 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 5 Swedish keyboard * as interpreted by X Consortium X11R5 servers after having applied the * UNOFFICIAL patch found in "ftp.x.org:/pub/sunkbd.930314.tar.Z". * Generated by Magnus Hammerin */ static const struct default_keycode_map sun5sw_xc_map [] = { /* these have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 52, 0, { 0 }}, /* DeGauss, SoundOff */ { 55, 0, { 0 }}, /* Power */ { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_quotedbl, XK_at }}, { 39, 0, { XK_3, XK_numbersign, XK_sterling }}, { 40, 0, { XK_4, XK_currency, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_ampersand }}, { 43, 0, { XK_7, XK_slash, XK_braceleft }}, { 44, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 45, 0, { XK_9, XK_parenright, XK_bracketright }}, { 46, 0, { XK_0, XK_equal, XK_braceright }}, { 47, 0, { XK_plus, XK_question, XK_backslash }}, { 48, 0, { SunXK_FA_Acute, SunXK_FA_Grave }}, { 49, 0, { XK_section, XK_onehalf }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Separator }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_Aring }}, { 72, 0, { SunXK_FA_Diaeresis, XK_asciicircum, XK_asciitilde }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_Odiaeresis }}, { 94, 0, { XK_Adiaeresis }}, { 95, 0, { XK_apostrophe, XK_asterisk, XK_grave }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 131, 0, { XK_less, XK_greater, XK_bar }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_Divide }}, { 134, 0, { XK_KP_Multiply }}, { 135, 0, { XK_KP_Separator }}, { 136, 0, { XK_KP_7, XK_Home }}, { 137, 0, { XK_KP_8 }}, { 138, 0, { XK_KP_9, XK_Prior }}, { 139, 0, { XK_KP_Subtract }}, { 140, 0, { XK_KP_Enter }}, { 141, 0, { XK_KP_4 }}, { 142, 0, { XK_KP_5 }}, { 143, 0, { XK_KP_6 }}, { 144, 0, { XK_KP_0 }}, { 145, 0, { XK_KP_1, XK_End }}, { 146, 0, { XK_KP_2 }}, { 147, 0, { XK_KP_3, XK_Next }}, { 148, 0, { XK_KP_Add }}, { 149, 0, { XK_nobreakspace }}, { 150, 0, { XK_exclamdown }}, { 151, 0, { XK_cent }}, { 152, 0, { XK_sterling }}, { 153, 0, { XK_currency }}, { 154, 0, { XK_yen }}, { 155, 0, { XK_brokenbar }}, { 156, 0, { XK_section }}, { 157, 0, { XK_diaeresis }}, { 158, 0, { XK_copyright }}, { 159, 0, { XK_ordfeminine }}, { 160, 0, { XK_guillemotleft }}, { 161, 0, { XK_notsign }}, { 162, 0, { XK_hyphen }}, { 163, 0, { XK_registered }}, { 164, 0, { XK_macron }}, { 165, 0, { XK_degree }}, { 166, 0, { XK_plusminus }}, { 167, 0, { XK_twosuperior }}, { 168, 0, { XK_threesuperior }}, { 169, 0, { XK_acute }}, { 170, 0, { XK_mu }}, { 171, 0, { XK_paragraph }}, { 172, 0, { XK_periodcentered }}, { 173, 0, { XK_cedilla }}, { 174, 0, { XK_onesuperior }}, { 175, 0, { XK_masculine }}, { 176, 0, { XK_guillemotright }}, { 177, 0, { XK_onequarter }}, { 178, 0, { XK_onehalf }}, { 179, 0, { XK_threequarters }}, { 180, 0, { XK_questiondown }}, { 181, 0, { XK_Agrave, XK_Agrave }}, { 182, 0, { XK_Aacute, XK_Aacute }}, { 183, 0, { XK_Acircumflex, XK_Acircumflex }}, { 184, 0, { XK_Atilde, XK_Atilde }}, { 185, 0, { XK_Adiaeresis, XK_Adiaeresis }}, { 186, 0, { XK_Aring, XK_Aring }}, { 187, 0, { XK_AE, XK_AE }}, { 188, 0, { XK_Ccedilla, XK_Ccedilla }}, { 189, 0, { XK_Egrave, XK_Egrave }}, { 190, 0, { XK_Eacute, XK_Eacute }}, { 191, 0, { XK_Ecircumflex, XK_Ecircumflex }}, { 192, 0, { XK_Ediaeresis, XK_Ediaeresis }}, { 193, 0, { XK_Igrave, XK_Igrave }}, { 194, 0, { XK_Iacute, XK_Iacute }}, { 195, 0, { XK_Icircumflex, XK_Icircumflex }}, { 196, 0, { XK_Idiaeresis, XK_Idiaeresis }}, { 197, 0, { XK_ETH, XK_ETH }}, { 198, 0, { XK_Ntilde, XK_Ntilde }}, { 199, 0, { XK_Ograve, XK_Ograve }}, { 200, 0, { XK_Oacute, XK_Oacute }}, { 201, 0, { XK_Ocircumflex, XK_Ocircumflex }}, { 202, 0, { XK_Otilde, XK_Otilde }}, { 203, 0, { XK_Odiaeresis, XK_Odiaeresis }}, { 204, 0, { XK_multiply }}, { 205, 0, { XK_Ooblique, XK_Ooblique }}, { 206, 0, { XK_Ugrave, XK_Ugrave }}, { 207, 0, { XK_Uacute, XK_Uacute }}, { 208, 0, { XK_Ucircumflex, XK_Ucircumflex }}, { 209, 0, { XK_Udiaeresis, XK_Udiaeresis }}, { 210, 0, { XK_Yacute, XK_Yacute }}, { 211, 0, { XK_THORN, XK_THORN }}, { 212, 0, { XK_ssharp }}, { 213, 0, { XK_agrave, XK_agrave }}, { 214, 0, { XK_aacute, XK_aacute }}, { 215, 0, { XK_acircumflex, XK_acircumflex }}, { 216, 0, { XK_atilde, XK_atilde }}, { 217, 0, { XK_adiaeresis, XK_adiaeresis }}, { 218, 0, { XK_aring, XK_aring }}, { 219, 0, { XK_ae, XK_ae }}, { 220, 0, { XK_ccedilla, XK_ccedilla }}, { 221, 0, { XK_egrave, XK_egrave }}, { 222, 0, { XK_eacute, XK_eacute }}, { 223, 0, { XK_ecircumflex, XK_ecircumflex }}, { 224, 0, { XK_ediaeresis, XK_ediaeresis }}, { 225, 0, { XK_igrave, XK_igrave }}, { 226, 0, { XK_iacute, XK_iacute }}, { 227, 0, { XK_icircumflex, XK_icircumflex }}, { 228, 0, { XK_idiaeresis, XK_idiaeresis }}, { 229, 0, { XK_eth, XK_eth }}, { 230, 0, { XK_ntilde, XK_ntilde }}, { 231, 0, { XK_ograve, XK_ograve }}, { 232, 0, { XK_oacute, XK_oacute }}, { 233, 0, { XK_ocircumflex, XK_ocircumflex }}, { 234, 0, { XK_otilde, XK_otilde }}, { 235, 0, { XK_odiaeresis, XK_odiaeresis }}, { 236, 0, { XK_division }}, { 237, 0, { XK_oslash, XK_oslash }}, { 238, 0, { XK_ugrave, XK_ugrave }}, { 239, 0, { XK_uacute, XK_uacute }}, { 240, 0, { XK_ucircumflex, XK_ucircumflex }}, { 241, 0, { XK_udiaeresis, XK_udiaeresis }}, { 242, 0, { XK_yacute, XK_yacute }}, { 243, 0, { XK_thorn, XK_thorn }}, { 244, 0, { XK_ydiaeresis }} }; xkeycaps-2.47/kbds/ncd102f-codes.h0000644000175000017500000000146410206731452014360 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD N102 french keyboard. * By Francois Regis Colin */ static const KeyCode ncd102f_codes [] = { /* Row 0 */ 8, 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 95, 98, /* Row 2 */ 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 103, 110, 111, 118, 119, 126, 132, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 90, 100, 101, 109, 108, 117, 125, 124, /* Row 4 */ 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 83, 107, 115, 116, /* Row 5 */ 18, 19, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 99, 105, 114, 122, 121, /* Row 6 */ 17, 25, 41, 0, 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/ms104-geom.h0000644000175000017500000000367210206731452013724 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the physical layout of the Microsoft "Natural" keyboard (part 58221). */ static const struct key_geometry ms104_geom_row0 [] = { {3, 0}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {17, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ms104_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 7}, {10, 0}, {11, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ms104_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {13, 7}, {10, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ms104_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {10, 0}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {32, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ms104_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 0}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {16, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ms104_geom_row6 [] = { {12, 7}, {12, 7}, {12, 7}, {38, 7}, {10, 7}, {10, 7}, {10, 7}, {11, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry ms104_geom_rows [] = { ROW (ms104_geom_row0, 7), EMPTYROW (5), ROW (ms104_geom_row2, 7), ROW (ms104_geom_row3, 7), ROW (ms104_geom_row4, 7), ROW (ms104_geom_row5, 7), ROW (ms104_geom_row6, 7), }; static const struct keyboard_geometry ms104_geom = { sizeof (ms104_geom_rows) / sizeof (struct keyboard_row_geometry), ms104_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tek119-map.h0000644000175000017500000001022310206731452013712 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Tektronix XP119 * witn Sun 5/PC type keyboard, *_TEK_KEYBOARD_TYPE = ? this seems to be heavily broken * for X11R5. Generated by Michael Lemke . * * The TekSetup function is invoked by any key bound to the (new) TekXK_Setup * keysym. */ static const struct default_keycode_map tek119_map [] = { /* these keys have keycodes but no keysyms in the default map */ { 88, 0, { 0 }}, /* Dim, Quiet */ { 89, 0, { 0 }}, /* Bright, Loud */ { 91, 0, { 0 }}, /* Degauss, Mute */ { 101, 0, { 0 }}, /* Power */ { 17, 0, { 0 }}, /* Help */ { 18, 0, { 0 }}, /* Stop */ { 19, 0, { 0 }}, /* Again */ { 20, 0, { 0 }}, /* Props */ { 24, 0, { 0 }}, /* Undo */ { 27, 0, { 0 }}, /* Front */ { 32, 0, { 0 }}, /* Copy */ { 40, 0, { 0 }}, /* Open */ { 48, 0, { 0 }}, /* Paste */ { 56, 0, { 0 }}, /* Find */ { 64, 0, { 0 }}, /* Cut */ { 72, 0, { 0 }}, /* <> left */ { 80, 0, { 0 }}, /* <> right */ { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, LockMask, { XK_Caps_Lock }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, ControlMask, { XK_Control_L }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 65, 0, { XK_Alt_R }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_less }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_greater }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Linefeed }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 100, 0, { XK_backslash, XK_bar }}, { 102, 0, { XK_F12 }}, { 103, 0, { XK_Break }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_SetUp, XK_Pause }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1, XK_End }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4, XK_Left }}, { 116, 0, { XK_KP_7, XK_Home }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0, XK_Insert }}, { 121, 0, { XK_KP_Decimal, XK_Delete }}, { 122, 0, { XK_KP_2, XK_Down }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6, XK_Right }}, { 125, 0, { XK_KP_8, XK_Up }}, { 126, 0, { XK_Num_Lock }}, { 127, 0, { XK_KP_Divide }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3, XK_Next }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_9, XK_Prior }}, { 134, 0, { XK_KP_Multiply }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/lk450-codes.h0000644000175000017500000000165010206731452014057 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the keycodes of the DEC LK450 keyboard. * Although it superficially resembles the DEC LK410 (and hence the * LK201) the keycodes are completely different. * * Robin Stephenson 1998 * */ static const KeyCode lk450_codes [] = { /* Row 0 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 118, 119, 120, 121, 122, 111, 78, 110, /* Row 1 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 97, 106, 107, 77, 112, 63, 82, /* Row 2 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 103, 99, 105, 79, 80, 81, 123, /* Row 3 */ 37, 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 98, 83, 84, 85, 86, /* Row 4 */ 50, 49, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 100, 104, 102, 87, 88, 89, 108, /* Row 5 */ 0, 64, 65, 113, 109, 90, 91 }; xkeycaps-2.47/kbds/dell-map.h0000644000175000017500000000652710206731452013630 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the DELL PC keyboard. */ static const struct default_keycode_map dell_map [] = { { 9, 0, { XK_Escape, XK_Delete }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_Tab }}, { 24, 0, { XK_Q }}, { 25, 0, { XK_W }}, { 26, 0, { XK_E }}, { 27, 0, { XK_R }}, { 28, 0, { XK_T }}, { 29, 0, { XK_Y }}, { 30, 0, { XK_U }}, { 31, 0, { XK_I }}, { 32, 0, { XK_O }}, { 33, 0, { XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_A }}, { 39, 0, { XK_S }}, { 40, 0, { XK_D }}, { 41, 0, { XK_F }}, { 42, 0, { XK_G }}, { 43, 0, { XK_H }}, { 44, 0, { XK_J }}, { 45, 0, { XK_K }}, { 46, 0, { XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_Z }}, { 53, 0, { XK_X }}, { 54, 0, { XK_C }}, { 55, 0, { XK_V }}, { 56, 0, { XK_B }}, { 57, 0, { XK_N }}, { 58, 0, { XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9, XK_KP_F1 }}, { 76, 0, { XK_F10, XK_KP_F2 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Num_Lock }}, { 78, 0, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_7, XK_Home }}, { 80, 0, { XK_KP_8, XK_Up }}, { 81, 0, { XK_KP_9, XK_Prior }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4, XK_Left }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6, XK_Right }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1, XK_End }}, { 88, 0, { XK_KP_2, XK_Down }}, { 89, 0, { XK_KP_3, XK_Next }}, { 90, 0, { XK_KP_0, XK_Insert }}, { 91, 0, { XK_KP_Decimal, XK_Delete }}, { 95, 0, { XK_F11, XK_KP_F3 }}, { 96, 0, { XK_F12, XK_KP_F4 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R }} }; xkeycaps-2.47/kbds/tm4000m-codes.h0000644000175000017500000000136010206731452014317 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1995, 1996 Jamie Zawinski * * This file describes keycodes generated by the Texas Instruments * TravelMate 4000M multimedia notebook keyboard interface. * By Kenneth E. Harker */ static const KeyCode tm4000m_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 78, 111, 110, 106, 107, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, /* Row 6a */ 0, 37, 64, 65, 113, 97, 98, 103, 99, /* Row 6b */ 100, 104, 102, 105 }; xkeycaps-2.47/kbds/cramer-caps.h0000644000175000017500000000442710206731452014327 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the key surfaces of the "Interfaces by Cramer" * Floating Arms keyboard (formerly the Workplace Designs keyboard.) * This is a split keyboard where the two pieces attach to the arms of * your chair, instead of sitting on a desk. * * Keyboard's home page: * http://www.ergointerfaces.com/ * * Typing injury FAQ: * http://www.tifaq.org/keyboards/adjustable-split-keyboards.html */ static const struct key_strings cramer_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, /* Row 1 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Scroll", "Lock", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Print", "Scrn", "SysRq"}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"##", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"=[+]", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {"Pause", "", "Break"}, {" ", 0}, {" ", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Alt", 0}, {"UpArrow", 0}, {"Ctrl", 0}, {"0", "Ins", 0}, {".", "Del", 0}, /* Row 6 */ {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0} }; xkeycaps-2.47/kbds/gw2k-geom.h0000644000175000017500000000732210206731452013726 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the physical layout of the Gateway 2000 * AnyKey programmable PC keyboard. * By Jarrod Smith * * Important notes about this keyboard: * * In order for all the keysyms to work properly, the programmable ROM * inside the keyboard may need to be reset to factory default by pressing * -- * even if you have NEVER programmed anything into the keyboard! If you * have programmed macros in that you don't want to lose, you should be * able to save them by using the DOS utility that came with the keyboard * BEFORE you reset the ROM. * * I couldn't get xmodmap to get the BackSpace keysym working right for my * keyboard until I did this. It would let me change the keysym for my * backspace key from Delete to BackSpace which is what I wanted it to do, * but I have no clue what the BackSpace keysym was doing! Certainly not * Backspacing!!! It worked on the command-line, but in some X apps it * would give me the <+/-> character, and in others, nothing... weird. * * Also, there are four diagonal cursor keys on this keyboard (up-left, * up-right, down-left, down-right) which each generate two keycodes per * keypress event. I didn't know what to do about this in the * gw2k-codes.h file, so I just put in the first keycode that gets * generated (see the comments in row4 and row6 in that file). Also, I * didn't know what to put in the gw2k-caps.h file since there are no * diagonal arrow keycaps to put on the keys, so again, I put the keycap * that corresponds to the first keycode generated (I tried putting both * on, but it looked funny to me) and "shifted" the arrows to differentiate * them from the normal up and down keys. */ static const struct key_geometry gw2k_geom_row0 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry gw2k_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry gw2k_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry gw2k_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 0}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry gw2k_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry gw2k_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {10, 7}, {51, 7}, {10, 7}, {7, 7}, {10, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry gw2k_geom_rows [] = { ROW (gw2k_geom_row0, 7), EMPTYROW (5), ROW (gw2k_geom_row1, 7), ROW (gw2k_geom_row2, 7), ROW (gw2k_geom_row3, 7), ROW (gw2k_geom_row4, 7), ROW (gw2k_geom_row5, 7) }; static const struct keyboard_geometry gw2k_geom = { sizeof (gw2k_geom_rows) / sizeof (struct keyboard_row_geometry), gw2k_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/ncd102n-codes.h0000644000175000017500000000143210206731452014363 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD N102 Norwegian keyboard. * By Bj|rn Wennberg */ static const KeyCode ncd102n_codes [] = { /* Row 0 */ 8, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 94, 95, 110, 77, 109, /* Row 2 */ 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 105, 96, 98, 76, 111, 62, 81, /* Row 3 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 106, 102, 104, 78, 79, 80, 85, /* Row 4 */ 65, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 82, 83, 84, /* Row 5 */ 49, 93, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 97, 86, 87, 88, 107, /* Row 6 */ 36, 63, 64, 112, 108, 99, 103, 101, 89, 90 }; xkeycaps-2.47/kbds/tek101-codes.h0000644000175000017500000000154710206731452014232 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Tektronix XP20 keyboard, * _TEK_KEYBOARD_TYPE = "ibm101" (101-key North American Keyboard) * By Joe English . */ static const KeyCode tek101_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, 95, 103, 106, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 100, 110, 111, 118, 119, 126, 127, 134, 140, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 98, 108, 109, 117, 116, 125, 133, 132, /* Row 4 */ 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 115, 123, 124, /* Row 5 */ 26, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 107, 113, 122, 130, 129, /* Row 6 */ 25, 33, 49, 65, 96, 105, 104, 114, 120, 121 }; xkeycaps-2.47/kbds/sun5de-ow-map.h0000644000175000017500000001122710206731452014527 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 5 keyboard with * German layout. * By Sylvain Meunier and * Andreas Schuch . */ static const struct default_keycode_map sun5de_ow_map [] = { /* these keys have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 52, 0, { 0 }}, /* Degauss, Mute */ { 55, 0, { 0 }}, /* Power */ { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 39, 0, { XK_3, XK_section, XK_threesuperior }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_ampersand }}, { 43, 0, { XK_7, XK_slash, XK_braceleft }}, { 44, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 45, 0, { XK_9, XK_parenright, XK_bracketright }}, { 46, 0, { XK_0, XK_equal, XK_braceright }}, { 47, 0, { XK_ssharp, XK_question, XK_backslash }}, { 48, 0, { XK_Multi_key }}, { 49, 0, { XK_asciicircum, XK_degree }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Separator }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_q, XK_Q, XK_at }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Z }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_Udiaeresis }}, { 72, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_Odiaeresis }}, { 94, 0, { XK_Adiaeresis }}, { 95, 0, { XK_numbersign, XK_apostrophe, XK_grave }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Y }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_m, XK_M, XK_mu }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 131, 0, { XK_less, XK_greater, XK_bar }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/ktx1000-codes.h0000644000175000017500000000140610206731452014326 0ustar cbcb/* xkeycaps, Copyright (c) 1994, ..., 1999 Jamie Zawinski * * This file describes the keycodes for the KTX 1000 notebook keyboard. * Too bad Fn does not generate any keycode when I run `xev'. * * File edited by Neil Zanella . */ static const KeyCode ktx1000_codes [] = { /* Row 1 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 77, 110, 106, 107, /* Row 2 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 97, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 99, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 105, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 103, /* Row 6 */ 0, 49, 37, 64, 115, 65, 116, 117, 113, 109, 100, 104, 102 }; xkeycaps-2.47/kbds/pc101-2th-caps.h0000644000175000017500000000517510206731452014376 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the key surfaces layout of a "MITSUMI KPQ-E99YC" * 101 key AT/XT switchable PC-style keyboard. * This differs from the keyboard we know as `pc101' in the placement * of the "\ and |" key. * By Gord Vreugdenhil * * Modified by Poonlap Veeratanabutr * Add Thai Thai characters on the keyboard. * 27 May 1997 */ static struct key_strings pc101_2th_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"T/E", "Switch" }, {"Pause", 0}, /* Row 2 */ {"%", "-", "`"}, {"+", "\345", "1"}, {"\361", "/", "2"}, {"\362", "_", "3"}, {"\363", "\300", "4"}, {"\364", "\266", "5"}, {"\331", "\330", "6"}, {"\337", "\326", "7"}, {"\365", "\244", "8"}, {"\366", "\265", "9"}, {"\367", "\250", "0"}, {"\370", "\242", "-"}, {"\371", "\252", "="}, {"\245", "\243", "\\"}, {"Back", "space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"\360", "\346", "Q"}, {"\"", "\344", "W"}, {"\256", "\323", "E"}, {"\261", "\276", "R"}, {"\270", "\320", "T"}, {"\355", "\321", "Y"}, {"\352", "\325", "U"}, {"\263", "\303", "I"}, {"\317", "\271", "O"}, {"\255", "\302", "P"}, {"\260", "\272", "["}, {",", "\305", "]"}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"\304", "\277", "A"}, {"\246", "\313", "S"}, {"\257", "\241", "D"}, {"\342", "\264", "F"}, {"\254", "\340", "G"}, {"\347", "\351", "H"}, {"\353", "\350", "J"}, {"\311", "\322", "K"}, {"\310", "\312", "L"}, {"\253", "\307", ";"}, {".", "\247", "'"}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"(", "\274", "Z"}, {")", "\273", "X"}, {"\251", "\341", "C"}, {"\316", "\315", "V"}, {"\332", "\324", "B"}, {"\354", "\327", "N"}, {"?", "\267", "M"}, {"\262", "\301", ","}, {"\314", "\343", "."}, {"\306", "\275", "/"}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/gw2kn-map.h0000644000175000017500000000732210206731452013732 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the default keymap of the Gateway 2000 keyboard for * Windows 95. It is identical to the Microsoft "Natural" keyboard, except * without the ergonomic split down the middle. * By Barry Warsaw */ static const struct default_keycode_map gw2kn_map [] = { { 8, 0, { XK_grave, XK_asciitilde }}, { 9, 0, { XK_1, XK_exclam }}, { 10, 0, { XK_2, XK_at }}, { 11, 0, { XK_3, XK_numbersign }}, { 12, 0, { XK_4, XK_dollar }}, { 13, 0, { XK_5, XK_percent }}, { 14, 0, { XK_6, XK_asciicircum }}, { 15, 0, { XK_7, XK_ampersand }}, { 16, 0, { XK_8, XK_asterisk }}, { 17, 0, { XK_9, XK_parenleft }}, { 18, 0, { XK_0, XK_parenright }}, { 19, 0, { XK_minus, XK_underscore }}, { 20, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_Q }}, { 25, 0, { XK_W }}, { 26, 0, { XK_E }}, { 27, 0, { XK_R }}, { 28, 0, { XK_T }}, { 29, 0, { XK_Y }}, { 30, 0, { XK_U }}, { 31, 0, { XK_I }}, { 32, 0, { XK_O }}, { 33, 0, { XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 37, LockMask, { XK_Caps_Lock }}, { 38, 0, { XK_A }}, { 39, 0, { XK_S }}, { 40, 0, { XK_D }}, { 41, 0, { XK_F }}, { 42, 0, { XK_G }}, { 43, 0, { XK_H }}, { 44, 0, { XK_J }}, { 45, 0, { XK_K }}, { 46, 0, { XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 50, 0, { XK_Return }}, { 51, ShiftMask, { XK_Shift_L }}, { 53, 0, { XK_Z }}, { 54, 0, { XK_X }}, { 55, 0, { XK_C }}, { 56, 0, { XK_V }}, { 57, 0, { XK_B }}, { 58, 0, { XK_N }}, { 59, 0, { XK_M }}, { 60, 0, { XK_comma, XK_less }}, { 61, 0, { XK_period, XK_greater }}, { 62, 0, { XK_slash, XK_question }}, { 64, ShiftMask, { XK_Shift_R }}, { 65, ControlMask, { XK_Control_L }}, { 67, Mod4Mask, { XK_Alt_L }}, { 68, 0, { XK_space }}, { 69, Mod4Mask, { XK_Alt_R }}, { 71, ControlMask, { XK_Control_R }}, { 82, 0, { XK_Insert }}, { 83, 0, { XK_Delete }}, { 86, 0, { XK_Left }}, { 87, 0, { XK_Home }}, { 88, 0, { XK_End }}, { 90, 0, { XK_Up }}, { 91, 0, { XK_Down }}, { 92, 0, { XK_Prior }}, { 93, 0, { XK_Next }}, { 96, 0, { XK_Right }}, { 97, Mod3Mask, { XK_Num_Lock }}, { 98, 0, { XK_Home, XK_KP_7, XK_KP_7 }}, { 99, 0, { XK_Left, XK_KP_4, XK_KP_4 }}, { 100, 0, { XK_End, XK_KP_1, XK_KP_1 }}, { 102, 0, { XK_KP_Divide }}, { 103, 0, { XK_Up, XK_KP_8, XK_KP_8 }}, { 104, 0, { XK_KP_5, XK_KP_5, XK_KP_5 }}, { 105, 0, { XK_Down, XK_KP_2, XK_KP_2 }}, { 106, 0, { XK_KP_Insert, XK_KP_0, XK_KP_0 }}, { 107, 0, { XK_KP_Multiply }}, { 108, 0, { XK_Prior, XK_KP_9, XK_KP_9 }}, { 109, 0, { XK_Right, XK_KP_6, XK_KP_6 }}, { 110, 0, { XK_Next, XK_KP_3, XK_KP_3 }}, { 111, 0, { XK_Delete, XK_KP_Decimal, XK_KP_Decimal }}, { 112, 0, { XK_KP_Subtract }}, { 113, 0, { XK_KP_Add }}, { 115, 0, { XK_KP_Enter }}, { 117, 0, { XK_Escape }}, { 119, 0, { XK_F1 }}, { 120, 0, { XK_F2 }}, { 121, 0, { XK_F3 }}, { 122, 0, { XK_F4 }}, { 123, 0, { XK_F5 }}, { 124, 0, { XK_F6 }}, { 125, 0, { XK_F7 }}, { 126, 0, { XK_F8 }}, { 127, 0, { XK_F9 }}, { 128, 0, { XK_F10 }}, { 129, 0, { SunXK_F36 }}, { 130, 0, { SunXK_F37 }}, { 131, 0, { XK_Print, SunXK_Sys_Req }}, { 132, 0, { XK_Scroll_Lock }}, { 133, 0, { XK_Pause, XK_Break }}, { 135, 0, { XK_Multi_key }}, { 136, 0, { XK_Mode_switch }} }; xkeycaps-2.47/kbds/gvc-geom.h0000644000175000017500000000347610206731452013641 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1997 Jamie Zawinski * * file for the layout of the GVC Windows 95 keyboard (I think they use it for * all models) in the U.S. sold as ARM notebooks (model ARM 753CD was used for * creating these files.) * * by R.Back */ static const struct key_geometry gvc_row1 [] = { {19, 12}, {1,0}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {15, 12}, {17, 12}, {17, 12}, {17, 12}, {17, 12} }; static const struct key_geometry gvc_row2 [] = { {24, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {28, 18}, {18, 18} }; static const struct key_geometry gvc_row3 [] = { {15, 18}, {1,0}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18} }; static const struct key_geometry gvc_row4 [] = { {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {34, 18}, {18,18} }; static const struct key_geometry gvc_row5 [] = { {28, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {24, 18}, {18, 18}, {18, 18} }; static const struct key_geometry gvc_row6 [] = { {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {70, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18} }; static const struct keyboard_row_geometry gvc_rows [] = { ROW (gvc_row1, 12), ROW (gvc_row2, 18), ROW (gvc_row3, 18), ROW (gvc_row4, 18), ROW (gvc_row5, 18), ROW (gvc_row6, 18), }; static const struct keyboard_geometry gvc_geom = { sizeof (gvc_rows) / sizeof (struct keyboard_row_geometry), gvc_rows, 3, 1, 1 }; xkeycaps-2.47/kbds/sgi4-r5-map.h0000644000175000017500000000712110206731452014071 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the SGI Iris keyboard. * Generated by Joe English on IRIX 4.0, X11R5. */ static const struct default_keycode_map sgi4_r5_map [] = { { 10, ControlMask, { XK_Control_L }}, { 11, LockMask, { XK_Caps_Lock }}, { 12, ShiftMask, { XK_Shift_R }}, { 13, ShiftMask, { XK_Shift_L }}, { 14, 0, { XK_Escape }}, { 15, 0, { XK_1, XK_exclam }}, { 16, 0, { XK_Tab }}, { 17, 0, { XK_q, XK_Q }}, { 18, 0, { XK_a, XK_A }}, { 19, 0, { XK_s, XK_S }}, { 21, 0, { XK_2, XK_at }}, { 22, 0, { XK_3, XK_numbersign }}, { 23, 0, { XK_w, XK_W }}, { 24, 0, { XK_e, XK_E }}, { 25, 0, { XK_d, XK_D }}, { 26, 0, { XK_f, XK_F }}, { 27, 0, { XK_z, XK_Z }}, { 28, 0, { XK_x, XK_X }}, { 29, 0, { XK_4, XK_dollar }}, { 30, 0, { XK_5, XK_percent }}, { 31, 0, { XK_r, XK_R }}, { 32, 0, { XK_t, XK_T }}, { 33, 0, { XK_g, XK_G }}, { 34, 0, { XK_h, XK_H }}, { 35, 0, { XK_c, XK_C }}, { 36, 0, { XK_v, XK_V }}, { 37, 0, { XK_6, XK_asciicircum }}, { 38, 0, { XK_7, XK_ampersand }}, { 39, 0, { XK_y, XK_Y }}, { 40, 0, { XK_u, XK_U }}, { 41, 0, { XK_j, XK_J }}, { 42, 0, { XK_k, XK_K }}, { 43, 0, { XK_b, XK_B }}, { 44, 0, { XK_n, XK_N }}, { 45, 0, { XK_8, XK_asterisk }}, { 46, 0, { XK_9, XK_parenleft }}, { 47, 0, { XK_i, XK_I }}, { 48, 0, { XK_o, XK_O }}, { 49, 0, { XK_l, XK_L }}, { 50, 0, { XK_semicolon, XK_colon }}, { 51, 0, { XK_m, XK_M }}, { 52, 0, { XK_comma, XK_less }}, { 53, 0, { XK_0, XK_parenright }}, { 54, 0, { XK_minus, XK_underscore }}, { 55, 0, { XK_p, XK_P }}, { 56, 0, { XK_bracketleft, XK_braceleft }}, { 57, 0, { XK_apostrophe, XK_quotedbl }}, { 58, 0, { XK_Return }}, { 59, 0, { XK_period, XK_greater }}, { 60, 0, { XK_slash, XK_question }}, { 61, 0, { XK_equal, XK_plus }}, { 62, 0, { XK_grave, XK_asciitilde }}, { 63, 0, { XK_bracketright, XK_braceright }}, { 64, 0, { XK_backslash, XK_bar }}, { 65, 0, { XK_KP_End, XK_KP_1 }}, { 66, 0, { XK_KP_Insert, XK_KP_0 }}, { 68, 0, { XK_BackSpace }}, { 69, 0, { XK_Delete }}, { 70, 0, { XK_KP_Left, XK_KP_4 }}, { 71, 0, { XK_KP_Down, XK_KP_2 }}, { 72, 0, { XK_KP_Next, XK_KP_3 }}, { 73, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 74, 0, { XK_KP_Home, XK_KP_7 }}, { 75, 0, { XK_KP_Up, XK_KP_8 }}, { 76, 0, { XK_KP_Begin, XK_KP_5 }}, { 77, 0, { XK_KP_Right, XK_KP_6 }}, { 80, 0, { XK_Left }}, { 81, 0, { XK_Down }}, { 82, 0, { XK_KP_Prior, XK_KP_9 }}, { 83, 0, { XK_KP_Subtract }}, { 87, 0, { XK_Right }}, { 88, 0, { XK_Up }}, { 89, 0, { XK_KP_Enter }}, { 90, 0, { XK_space }}, { 91, Mod1Mask, { XK_Alt_L }}, { 92, Mod1Mask, { XK_Alt_R }}, { 93, ControlMask, { XK_Control_R }}, { 94, 0, { XK_F1 }}, { 95, 0, { XK_F2 }}, { 96, 0, { XK_F3 }}, { 97, 0, { XK_F4 }}, { 98, 0, { XK_F5 }}, { 99, 0, { XK_F6 }}, { 100, 0, { XK_F7 }}, { 101, 0, { XK_F8 }}, { 102, 0, { XK_F9 }}, { 103, 0, { XK_F10 }}, { 104, 0, { XK_F11 }}, { 105, 0, { XK_F12 }}, { 106, 0, { XK_Print, XK_Execute }}, { 107, Mod3Mask, { XK_Scroll_Lock, XK_SGI_Long_Compose }}, { 108, 0, { XK_Pause, XK_Break }}, { 109, 0, { XK_Insert }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_End }}, { 113, 0, { XK_Next }}, { 114, Mod2Mask, { XK_Num_Lock }}, { 115, 0, { XK_KP_Divide }}, { 116, 0, { XK_KP_Multiply }}, { 117, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/sunsh-6868us-caps.h0000644000175000017500000000400410206731452015166 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of a Brazilian ABNT2 107 key PC * keyboard. This is based on file "pc101-caps.h". * By Andre Gerhard - 05/12/98 */ static const struct key_strings sunsh_6868us_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtScr", "SysRq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"~", "'", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"LeftArrow", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"Turbo", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/hpitfde-caps.h0000644000175000017500000000400410206731452014470 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the German HP ITF * keyboards. By Michael Piotrowski */ static struct key_strings hpitfde_caps [] = { /* Row 0 */ {"Reset", "Break", 0}, {"Stop", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"Men\374", 0}, {"Prog", "System", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"L\366sche", "rightArrow", 0}, {"L\366sche", "downArrow", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, /* Row 2 */ {"<", ">", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"\247", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "\337", 0}, {"`", "'", 0}, {"leftArrow", 0}, {"Zeile +", 0}, {"Zeile -", 0}, {"*", 0}, {"/", 0}, {"+", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0, 0}, {"*", "+", 0}, {"^", "\243", 0}, {"Zeich +", 0}, {"Zeich -", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"Sende", 0}, /* Row 4 */ {"Gro\337/", "Klein", 0}, {"KTRL", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"Eingabe", 0}, {"Pos1", 0}, {"Seite", "upArrow", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, /* Row 5 */ {"DEL", "ESC", 0}, {"Umschalt", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Umschalt", 0}, {"Auswahl", 0}, {"UpArrow",0}, {"Seite", "downArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Tab", 0}, /* Row 6 */ {"Drucke", "Sende", 0}, {"Sonder-", "zeichen", 0}, {" ", 0}, {"Sonder-", "zeichen", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/pc101-3-caps.h0000644000175000017500000000403210206731452014032 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of a "Maxi-Switch 2192004" * 101 key AT/XT switchable PC-style keyboard. * This differs from the keyboard we know as `pc101' in the placement * of the "\ and |" key. * By Jamie Zawinski */ static const struct key_strings pc101_3_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Back", "space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"|", "\\", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ortek-caps.h0000644000175000017500000000412110206731452014171 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file contains the keycaps layout of a 107-key Ortek "Enhanced Keyboard" * This is based on the file "pc104-caps.h" * Unfortunately, the extra 3 keys don't work in X. * By Mike Hicks */ static const struct key_strings ortek_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Wake", 0}, {"Sleep", 0}, {"Power", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"|", "\\", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/sun5pc-codes.h0000644000175000017500000000172410206731452014437 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Sun type 5 PC-style keyboard, * with OpenWindows and X Consortium R4 and R5 servers. * By Carl Witty and Sylvain Meunier . */ static const KeyCode sun5pc_codes [] = { /* Row 0 */ 125, 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 52, 9, 11, 55, /* Row 1 */ 8, 10, 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 32, 33, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 95, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 56, 58, 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 98, 99, 100, /* Row 4 */ 79, 80, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ 102, 104, 83, 26, 127, 128, 129, 74, 20, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/rt-caps.h0000644000175000017500000000356510206731452013505 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the key surfaces of an IBM RT keyboard. * By Torbj|rn Lindgren . */ static const struct key_strings rt_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Action", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/tt-caps.h0000644000175000017500000000346610206731452013507 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Atari TT (USA) keyboard * By Mats Wichmann */ static const struct key_strings tt_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, /* Row 2 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"~", "`", 0}, {"Backspace", 0}, {"Help", 0}, {"Undo", 0}, {"(", 0}, {")", 0}, {"/", 0}, {"*", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Delete", 0}, {"Insert", 0}, {"UpArrow", 0}, {"Clr", "Home", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 4 */ {"Control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"|", "\\", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {"+", 0}, /* Row 5 */ {"Shift", 0}, #if 0 /* Non-US Atari keyboards have, instead of a wide left-shift key, a narrower left-shift and an additional "standard" key */ {"???", 0}, #endif {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Alternate", 0}, {" ", 0}, {"CapsLock", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/pc104-geom.h0000644000175000017500000000372110206731452013702 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the physical layout of your basic 104 key PC-style * keyboard. This is based on file "pc101-geom.h", as modified by Steven * Winikoff, 1997/04/23. */ static const struct key_geometry pc104_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc104_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc104_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc104_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc104_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc104_geom_row6 [] = { {11, 7}, {10, 7}, {9, 7}, {36, 7}, {9, 7}, {10, 7}, {10, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc104_geom_rows [] = { ROW (pc104_geom_row0, 7), EMPTYROW (5), ROW (pc104_geom_row2, 7), ROW (pc104_geom_row3, 7), ROW (pc104_geom_row4, 7), ROW (pc104_geom_row5, 7), ROW (pc104_geom_row6, 7), }; static const struct keyboard_geometry pc104_geom = { sizeof (pc104_geom_rows) / sizeof (struct keyboard_row_geometry), pc104_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/pc105uk-caps.h0000644000175000017500000000403210206731452014236 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of the PC 105 key keyboard * with UK layout. It's pretty much the same as ms105-caps.h * * Generated by Matt Davey */ static const struct key_strings pc105uk_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", "Help"}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Scrn", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, /* Row 2 */ {"\254", "`", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"\243", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"@", "'", 0}, {"~", "#", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"|", "\\", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/tm4000m-map.h0000644000175000017500000000770310206731452014006 0ustar cbcb/* xkeycaps, Copyright (C) 1994 Jamie Zawinski * * This file describes the default keymap of the Texas Instruments * TravelMate 4000M multimedia notebook keyboard interface. * Generated by Kenneth E. Harker */ static const struct default_keycode_map tm4000m_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand, XK_braceleft }}, { 17, 0, { XK_8, XK_asterisk, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenleft, XK_bracketright }}, { 19, 0, { XK_0, XK_parenright, XK_braceright }}, { 20, 0, { XK_minus, XK_underscore, XK_backslash }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_q }}, { 25, 0, { XK_w, XK_W, XK_w }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_r }}, { 28, 0, { XK_t, XK_T, XK_t }}, { 29, 0, { XK_y, XK_Y, XK_y }}, { 30, 0, { XK_u, XK_U, XK_u }}, { 31, 0, { XK_i, XK_I, XK_i }}, { 32, 0, { XK_o, XK_O, XK_o }}, { 33, 0, { XK_p, XK_P, XK_p }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S, XK_s }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G, XK_g }}, { 43, 0, { XK_h, XK_H, XK_h }}, { 44, 0, { XK_j, XK_J, XK_j }}, { 45, 0, { XK_k, XK_K, XK_k }}, { 46, 0, { XK_l, XK_L, XK_l }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z, XK_z }}, { 53, 0, { XK_x, XK_X, XK_x }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V, XK_v }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N, XK_n }}, { 58, 0, { XK_m, XK_M, XK_m }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, ControlMask, { XK_Control_L }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, 0, { XK_Num_Lock }}, { 78, Mod5Mask, { XK_Mode_switch, XK_VoidSymbol }}, /* was XK_UNKNOWN_KEYSYM }, */ { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, 0, { XK_Multi_key }}, { 110, 0, { XK_Pause }}, { 111, 0, { 0 }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod5Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }}, }; xkeycaps-2.47/kbds/gw2kn-geom.h0000644000175000017500000000403610206731452014103 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the physical layout of the Gateway 2000 keyboard for * Windows 95. It is identical to the Microsoft "Natural" keyboard, except * without the ergonomic split down the middle. * By Barry Warsaw */ static const struct key_geometry gw2kn_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry gw2kn_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry gw2kn_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry gw2kn_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {17, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry gw2kn_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry gw2kn_geom_row6 [] = { {9, 7}, {9, 7}, {9, 7}, {43, 7}, {9, 7}, {9, 7}, {9, 7}, {9, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry gw2kn_geom_rows [] = { ROW (gw2kn_geom_row0, 7), EMPTYROW (5), ROW (gw2kn_geom_row2, 7), ROW (gw2kn_geom_row3, 7), ROW (gw2kn_geom_row4, 7), ROW (gw2kn_geom_row5, 7), ROW (gw2kn_geom_row6, 7), }; static const struct keyboard_geometry gw2kn_geom = { sizeof (gw2kn_geom_rows) / sizeof (struct keyboard_row_geometry), gw2kn_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/sun4-caps.h0000644000175000017500000000401410206731452013737 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of the Sun type 4 keyboard. */ static const struct key_strings sun4_caps [] = { /* Row 0 */ {"Stop", "L1", 0}, {"Again", "L2", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"|", "\\", 0}, {"Delete", 0}, {"Pause", "R1", 0}, {"PrSc", "R2", 0}, {"Scroll", "Lock", 0}, {"Num", "Lock", 0}, /* Row 1 */ {"Props", "L3", 0}, {"Undo", "L4", 0}, {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"=", "R4", 0}, {"/", "R5", 0}, {"*", "R6", 0}, {"-", 0}, /* Row 2 */ {"Front", "L5", 0}, {"Copy", "L6", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Return", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Open", "L7", 0}, {"Paste", "L8", 0}, {"Control", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"~", "`", 0}, {"4", "LeftArrow", 0}, {"5", "R11", 0}, {"6", "RightArrow", 0}, /* Row 4 */ {"Find", "L9", 0}, {"Cut", "L10", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"Line ", "Feed", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Help", 0}, {"Caps", "Lock", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com ", "pose", 0}, {"Alt", "Graph", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pc102-2-codes.h0000644000175000017500000000151510206731452014204 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992 Jamie Zawinski * * This file describes the keycodes of a "JETYO EBK-1024" 102 key * PC-style keyboard, german layout, on Linux with Xfree86 1.3 (X11R5). * By Volker Bosch . */ static const KeyCode pc102_2_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 94, 64, 65, 113, 51, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/sun5pc-xc2-map.h0000644000175000017500000002123310206731452014606 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 5 PC-style keyboard * when running the X Consortium X11r5 X server (up to fix 26) after having * applied the UNOFFICIAL patch found in "ftp.x.org:/pub/sunkbd.930314.tar.Z". * Generated by Sylvain Meunier . */ static const struct default_keycode_map sun5pc_xc2_map [] = { /* these have keycodes but no keysyms in the default map */ { 9, 0, { 0 }}, /* Dim, Quiet */ { 11, 0, { 0 }}, /* Bright, Loud */ { 52, 0, { 0 }}, /* Degauss */ { 55, 0, { 0 }}, /* Power */ { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_Divide }}, { 134, 0, { XK_KP_Multiply }}, { 135, 0, { XK_KP_Decimal }}, { 136, 0, { XK_KP_7 }}, { 137, 0, { XK_KP_8 }}, { 138, 0, { XK_KP_9 }}, { 139, 0, { XK_KP_Subtract }}, { 140, 0, { XK_KP_Enter }}, { 141, 0, { XK_KP_4 }}, { 142, 0, { XK_KP_5 }}, { 143, 0, { XK_KP_6 }}, { 144, 0, { XK_KP_0 }}, { 145, 0, { XK_KP_1 }}, { 146, 0, { XK_KP_2 }}, { 147, 0, { XK_KP_3 }}, { 148, 0, { XK_KP_Add }}, { 149, 0, { XK_nobreakspace }}, { 150, 0, { XK_exclamdown }}, { 151, 0, { XK_cent }}, { 152, 0, { XK_sterling }}, { 153, 0, { XK_currency }}, { 154, 0, { XK_yen }}, { 155, 0, { XK_brokenbar }}, { 156, 0, { XK_section }}, { 157, 0, { XK_diaeresis }}, { 158, 0, { XK_copyright }}, { 159, 0, { XK_ordfeminine }}, { 160, 0, { XK_guillemotleft }}, { 161, 0, { XK_notsign }}, { 162, 0, { XK_hyphen }}, { 163, 0, { XK_registered }}, { 164, 0, { XK_macron }}, { 165, 0, { XK_degree }}, { 166, 0, { XK_plusminus }}, { 167, 0, { XK_twosuperior }}, { 168, 0, { XK_threesuperior }}, { 169, 0, { XK_acute }}, { 170, 0, { XK_mu }}, { 171, 0, { XK_paragraph }}, { 172, 0, { XK_periodcentered }}, { 173, 0, { XK_cedilla }}, { 174, 0, { XK_onesuperior }}, { 175, 0, { XK_masculine }}, { 176, 0, { XK_guillemotright }}, { 177, 0, { XK_onequarter }}, { 178, 0, { XK_onehalf }}, { 179, 0, { XK_threequarters }}, { 180, 0, { XK_questiondown }}, { 181, 0, { XK_Agrave, XK_Agrave }}, { 182, 0, { XK_Aacute, XK_Aacute }}, { 183, 0, { XK_Acircumflex, XK_Acircumflex }}, { 184, 0, { XK_Atilde, XK_Atilde }}, { 185, 0, { XK_Adiaeresis, XK_Adiaeresis }}, { 186, 0, { XK_Aring, XK_Aring }}, { 187, 0, { XK_AE, XK_AE }}, { 188, 0, { XK_Ccedilla, XK_Ccedilla }}, { 189, 0, { XK_Egrave, XK_Egrave }}, { 190, 0, { XK_Eacute, XK_Eacute }}, { 191, 0, { XK_Ecircumflex, XK_Ecircumflex }}, { 192, 0, { XK_Ediaeresis, XK_Ediaeresis }}, { 193, 0, { XK_Igrave, XK_Igrave }}, { 194, 0, { XK_Iacute, XK_Iacute }}, { 195, 0, { XK_Icircumflex, XK_Icircumflex }}, { 196, 0, { XK_Idiaeresis, XK_Idiaeresis }}, { 197, 0, { XK_ETH, XK_ETH }}, { 198, 0, { XK_Ntilde, XK_Ntilde }}, { 199, 0, { XK_Ograve, XK_Ograve }}, { 200, 0, { XK_Oacute, XK_Oacute }}, { 201, 0, { XK_Ocircumflex, XK_Ocircumflex }}, { 202, 0, { XK_Otilde, XK_Otilde }}, { 203, 0, { XK_Odiaeresis, XK_Odiaeresis }}, { 204, 0, { XK_multiply }}, { 205, 0, { XK_Ooblique, XK_Ooblique }}, { 206, 0, { XK_Ugrave, XK_Ugrave }}, { 207, 0, { XK_Uacute, XK_Uacute }}, { 208, 0, { XK_Ucircumflex, XK_Ucircumflex }}, { 209, 0, { XK_Udiaeresis, XK_Udiaeresis }}, { 210, 0, { XK_Yacute, XK_Yacute }}, { 211, 0, { XK_THORN, XK_THORN }}, { 212, 0, { XK_ssharp }}, { 213, 0, { XK_agrave, XK_agrave }}, { 214, 0, { XK_aacute, XK_aacute }}, { 215, 0, { XK_acircumflex, XK_acircumflex }}, { 216, 0, { XK_atilde, XK_atilde }}, { 217, 0, { XK_adiaeresis, XK_adiaeresis }}, { 218, 0, { XK_aring, XK_aring }}, { 219, 0, { XK_ae, XK_ae }}, { 220, 0, { XK_ccedilla, XK_ccedilla }}, { 221, 0, { XK_egrave, XK_egrave }}, { 222, 0, { XK_eacute, XK_eacute }}, { 223, 0, { XK_ecircumflex, XK_ecircumflex }}, { 224, 0, { XK_ediaeresis, XK_ediaeresis }}, { 225, 0, { XK_igrave, XK_igrave }}, { 226, 0, { XK_iacute, XK_iacute }}, { 227, 0, { XK_icircumflex, XK_icircumflex }}, { 228, 0, { XK_idiaeresis, XK_idiaeresis }}, { 229, 0, { XK_eth, XK_eth }}, { 230, 0, { XK_ntilde, XK_ntilde }}, { 231, 0, { XK_ograve, XK_ograve }}, { 232, 0, { XK_oacute, XK_oacute }}, { 233, 0, { XK_ocircumflex, XK_ocircumflex }}, { 234, 0, { XK_otilde, XK_otilde }}, { 235, 0, { XK_odiaeresis, XK_odiaeresis }}, { 236, 0, { XK_division }}, { 237, 0, { XK_oslash, XK_oslash }}, { 238, 0, { XK_ugrave, XK_ugrave }}, { 239, 0, { XK_uacute, XK_uacute }}, { 240, 0, { XK_ucircumflex, XK_ucircumflex }}, { 241, 0, { XK_udiaeresis, XK_udiaeresis }}, { 242, 0, { XK_yacute, XK_yacute }}, { 243, 0, { XK_thorn, XK_thorn }}, { 244, 0, { XK_ydiaeresis }} }; xkeycaps-2.47/kbds/ncd220-codes.h0000644000175000017500000000050110206731452014202 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD VT220 keyboard, via kludgy * conditionalizations in ncd108-codes.h (since the two keyboards differ * only in the last row.) */ #define VT220_KLUDGE #include "ncd108-codes.h" #undef VT220_KLUDGE xkeycaps-2.47/kbds/tek401-map.h0000644000175000017500000000666410206731452013722 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the default keymap of the Tektronix LK401 keyboard. * By Torbj|rn Lindgren */ static const struct default_keycode_map tek401_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, Mod2Mask, { XK_Multi_key }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 40, Mod1Mask, { XK_Alt_L }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 56, Mod1Mask, { XK_Alt_R }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 65, Mod2Mask, { XK_Multi_key }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_less }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_greater }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, 0, { XK_Help }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { 0x1000ff17, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }}, }; xkeycaps-2.47/kbds/tekxn10-sf-caps.h0000644000175000017500000000406510206731452014754 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the key surfaces of the * Swedish Tektronix XN10/XN11 keyboard * By Kristian Ejvind (Kristian.Ejvind@sth.frontec.se) */ static const struct key_strings tekxn10_sf_caps [] = { /* Row 0 */ {"Hold", "Screen", 0}, {"D Copy", "S Copy", 0}, {"Setup", 0}, {"Menu", 0}, {"Break", 0}, {"S Eras", 0}, /* Yep, the caps do say 'Eras' ! */ {"G Eras", 0}, {"D Eras", 0}, {"Cancel", 0}, {"Dialog", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"Help", 0}, {"Do", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, /* Row 2 */ {"Esc", 0}, {"\260", "~", 0}, {"!", "1", 0}, {"\"","2", 0}, {"\247", "3", 0}, {"\244", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"\075", "0", 0}, {"?", "+", 0}, {"`", "^", 0}, {"Back","Space", 0}, {"<=I", "(Del)", 0}, {"Find", 0}, {"Insert","Here", 0}, {"Re-", "move", 0}, {"PF 1", 0}, {"PF 2", 0}, {"PF 3", 0}, {"PF 4", 0}, /* Row 3 */ {"Line","Feed", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"\334", 0}, {"Return", 0}, {"Select", 0}, {"Prev","Screen", 0}, {"Next","Screen", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 4 */ {"Ctrl", 0}, {"Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"*", "'", 0}, {"UpArrow", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"LeftArrow", 0}, {"RightArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Compose","Character", 0}, {" ", 0}, {"Tek", 0}, {"DownArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/elite-caps.h0000644000175000017500000000325210206731452014153 0ustar cbcb/* xkeycaps, Copyright (c) 1997 Jamie Zawinski * * This file describes the key surfaces of the Midwest-Micro * Soundbook Elite multimedia notebook keyboard interface. * By Garst R. Reese */ static const struct key_strings elite_caps [] = { /* Row 0 */ {"Esc", 0, 0}, {"F1", 0, 0}, {"F2", 0, 0}, {"F3", 0, 0}, {"F4", 0, 0}, {"F5", 0, 0}, {"F6", 0, 0}, {"F7", 0, 0}, {"F8", 0, 0}, {"F9", 0, 0}, {"F10", 0, 0}, {"F11", 0, 0}, {"F12", 0, 0}, {"Num", "Lock", 0}, {"PrtSc", "SysRq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", "7"}, {"*", "8", "8"}, {"(", "9", "9"}, {")", "0", "*"}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0, 0}, {"Home", 0, 0}, /* Row 3 */ {"Tab", 0, 0}, {"Q", 0, 0}, {"W", 0, 0}, {"E", 0, 0}, {"R", 0, 0}, {"T", 0, 0}, {"Y", 0, 0}, {"U", 0, "4"}, {"I", 0, "5"}, {"O", 0, "6"}, {"P", 0, "-"}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"PgUp", 0, 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0, 0}, {"S", 0, 0}, {"D", 0, 0}, {"F", 0, 0}, {"G", 0, 0}, {"H", 0, 0}, {"J", 0, "1"}, {"K", 0, "2"}, {"L", 0, "3"}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0, 0}, {"PgDn", 0, 0}, /* Row 5 */ {"Shift", 0, 0}, {"Z", 0, 0}, {"X", 0, 0}, {"C", 0, 0}, {"V", 0, 0}, {"B", 0, 0}, {"N", 0, 0}, {"M", 0, "0"}, {"<", ", ", "0"}, {">", ".", "."}, {"?", "/", "/"}, {"Shift", 0, 0}, {"UpArrow", 0, 0}, {"End", 0, 0}, /* Row 6 */ {"Fn", 0, 0}, {"Ctrl", 0, 0}, {"Alt", 0, 0}, {"~", "`", 0}, {" ", 0, 0}, {"Alt", 0, 0}, {"Ins", 0, 0}, {"Del", 0, 0}, {"LeftArrow", 0, 0}, {"DownArrow", 0, 0}, {"RightArrow", 0, 0} }; xkeycaps-2.47/kbds/sun5swde-map.h0000644000175000017500000001137710206731452014464 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the default keymap of the Sun-Swiss type 5 keyboard. * By Peter Kaiser, June 1998 */ static const struct default_keycode_map sun5swde_map [] = { { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 9, 0, { SunXK_AudioLowerVolume, SunXK_VideoLowerBrightness }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 11, 0, { SunXK_AudioRaiseVolume, SunXK_VideoRaiseBrightness }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, 0, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_plus, XK_bar }}, { 38, 0, { XK_2, XK_quotedbl, XK_at }}, { 39, 0, { XK_3, XK_asterisk, XK_numbersign }}, { 40, 0, { XK_4, XK_ccedilla, XK_asciicircum }}, { 41, 0, { XK_5, XK_percent, XK_asciitilde }}, { 42, 0, { XK_6, XK_ampersand }}, { 43, 0, { XK_7, XK_slash }}, { 44, 0, { XK_8, XK_parenleft }}, { 45, 0, { XK_9, XK_parenright }}, { 46, 0, { XK_0, XK_equal, XK_grave }}, { 47, 0, { XK_apostrophe, XK_question, SunXK_FA_Acute }}, { 48, 0, { SunXK_FA_Circum, SunXK_FA_Grave, SunXK_FA_Tilde }}, { 49, 0, { XK_section, XK_degree }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { SunXK_AudioMute, SunXK_VideoDegauss }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 55, 0, { SunXK_PowerSwitch, SunXK_PowerSwitchShift }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Z }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_udiaeresis, XK_egrave, XK_bracketleft }}, { 72, 0, { SunXK_FA_Diaeresis, XK_exclam, XK_bracketright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, 0, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_odiaeresis, XK_eacute }}, { 94, 0, { XK_adiaeresis, XK_agrave, XK_braceleft }}, { 95, 0, { XK_dollar, XK_sterling, XK_braceright }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_KP_Insert, XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, 0, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Y }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 131, 0, { XK_less, XK_greater, XK_backslash }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/sun5uk-ow-map.h0000644000175000017500000001111010206731452014545 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the default keymap of the Sun UK type 5 keyboard * as interpreted by OpenWindows 3.0. * Generated by Jeremy Prior (jez@howell.com), 16th Aug 1995. */ static const struct default_keycode_map sun5uk_ow_map [] = { { 8, 0, { XK_F11, XK_F11, XK_Cancel }}, { 9, 0, { SunXK_AudioLowerVolume, SunXK_VideoLowerBrightness }}, { 10, 0, { XK_F12, XK_F12, XK_Redo }}, { 11, 0, { SunXK_AudioRaiseVolume, SunXK_VideoRaiseBrightness }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod4Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 29, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 30, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 33, 0, { XK_F14, XK_F14, XK_Undo }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_3, XK_sterling }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_notsign, XK_brokenbar }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { SunXK_AudioMute, SunXK_VideoDegauss }}, { 53, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 54, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 55, 0, { SunXK_PowerSwitch, SunXK_PowerSwitchShift }}, { 56, 0, { XK_F15, XK_F15, SunXK_Front }}, { 57, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 58, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 76, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 77, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 78, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 79, 0, { XK_F17, XK_F17, SunXK_Open }}, { 80, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_at }}, { 95, 0, { XK_numbersign, XK_asciitilde }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 99, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 100, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 101, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 102, 0, { XK_F19, XK_F19, XK_Find }}, { 103, 0, { XK_Prior }}, { 104, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 105, Mod3Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 120, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 121, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 131, 0, { XK_backslash, XK_bar }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/ncd102n-caps.h0000644000175000017500000000345510206731452014223 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD N102 Norwegian keyboard. * By Bj|rn Wennberg */ static const struct key_strings ncd102n_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", 0}, {"Scroll", "lock", 0}, {"Setup", 0}, /* Row 2 */ {"|", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"#", "3", 0}, {0, "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "+", 0}, {"`", "\\", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num ", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"^", "\250", 0}, {"Return", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"+", 0}, /* Row 4 */ {"Caps", "lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\245", 0}, {"\306", 0}, {"*", "'", 0}, {"4", 0}, {"5", 0}, {"6", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/tek101-caps.h0000644000175000017500000000366510206731452014066 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Tektronix XP20 keyboard, * _TEK_KEYBOARD_TYPE = "ibm101" (101-key North American Keyboard) * By Joe English . */ static const struct key_strings tek101_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Line", "Feed", 0}, {"Break", 0}, {"Setup", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"LeftArrow", 0}, {"Insert", 0}, {"Home", 0}, {"PgUp", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"PgDn", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Caps", "Lock", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Option", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/nws3410-map.h0000644000175000017500000000752410206731452014025 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the default keymap of the SONY NWS3410 keyboard. * Keyboard model NWP-411A * By Dirk Jablonowski on * NEWS-OS Release 4.1R #0: Fri Jul 5 16:44:29 JST 1991, X11R4. * * The blank key between "?" and "Shift_R" is physically disabled (you have to * open up the keyboard and remove a piece of plastic to enable it) but once * you do that it generates keycode 72. * * The blank key between "Xfer" and "Enter" are also physically disabled, * and is rather strange once you enable it: it generates the keycodes * 79 and 80 alternately; that is, it will generate the sequence * 79 KeyPress, 79 KeyRelease, 80 KeyPress, 80 KeyRelease * if pressed and released twice. */ static const struct default_keycode_map nws3410_map [] = { { 8, 0, { XK_F1, XK_F11 }}, { 9, 0, { XK_F2, XK_F12 }}, { 10, 0, { XK_F3, XK_F13 }}, { 11, 0, { XK_F4, XK_F14 }}, { 12, 0, { XK_F5, XK_F15 }}, { 13, 0, { XK_F6, XK_F16 }}, { 14, 0, { XK_F7, XK_F17 }}, { 15, 0, { XK_F8, XK_F18 }}, { 16, 0, { XK_F9, XK_F19 }}, { 17, 0, { XK_F10, XK_F20 }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_1, XK_exclam }}, { 20, 0, { XK_2, XK_at }}, { 21, 0, { XK_3, XK_numbersign }}, { 22, 0, { XK_4, XK_dollar }}, { 23, 0, { XK_5, XK_percent }}, { 24, 0, { XK_6, XK_asciicircum }}, { 25, 0, { XK_7, XK_ampersand }}, { 26, 0, { XK_8, XK_asterisk }}, { 27, 0, { XK_9, XK_parenleft }}, { 28, 0, { XK_0, XK_parenright }}, { 29, 0, { XK_minus, XK_underscore }}, { 30, 0, { XK_equal, XK_plus }}, { 31, 0, { XK_backslash, XK_bar }}, { 32, 0, { XK_BackSpace }}, { 33, 0, { XK_Tab }}, { 34, 0, { XK_q, XK_Q }}, { 35, 0, { XK_w, XK_W }}, { 36, 0, { XK_e, XK_E }}, { 37, 0, { XK_r, XK_R }}, { 38, 0, { XK_t, XK_T }}, { 39, 0, { XK_y, XK_Y }}, { 40, 0, { XK_u, XK_U }}, { 41, 0, { XK_i, XK_I }}, { 42, 0, { XK_o, XK_O }}, { 43, 0, { XK_p, XK_P }}, { 44, 0, { XK_bracketleft, XK_braceleft }}, { 45, 0, { XK_bracketright, XK_braceright }}, { 46, 0, { XK_Delete, XK_Insert }}, { 47, ControlMask, { XK_Control_L }}, { 48, 0, { XK_a, XK_A }}, { 49, 0, { XK_s, XK_S }}, { 50, 0, { XK_d, XK_D }}, { 51, 0, { XK_f, XK_F }}, { 52, 0, { XK_g, XK_G }}, { 53, 0, { XK_h, XK_H }}, { 54, 0, { XK_j, XK_J }}, { 55, 0, { XK_k, XK_K }}, { 56, 0, { XK_l, XK_L }}, { 57, 0, { XK_semicolon, XK_colon }}, { 58, 0, { XK_apostrophe, XK_quotedbl }}, { 59, 0, { XK_grave, XK_asciitilde }}, { 60, 0, { XK_Return }}, { 61, ShiftMask, { XK_Shift_L }}, { 62, 0, { XK_z, XK_Z }}, { 63, 0, { XK_x, XK_X }}, { 64, 0, { XK_c, XK_C }}, { 65, 0, { XK_v, XK_V }}, { 66, 0, { XK_b, XK_B }}, { 67, 0, { XK_n, XK_N }}, { 68, 0, { XK_m, XK_M }}, { 69, 0, { XK_comma, XK_less }}, { 70, 0, { XK_period, XK_greater }}, { 71, 0, { XK_slash, XK_question }}, { 72, 0, { 0 }}, { 73, ShiftMask, { XK_Shift_R }}, { 74, Mod1Mask, { XK_Alt_L }}, { 75, LockMask, { XK_Caps_Lock }}, { 76, 0, { XK_Multi_key }}, { 77, 0, { XK_space }}, { 78, 0, { XK_Select }}, { 79, Mod5Mask, { 0 }}, { 80, Mod5Mask, { 0 }}, { 81, 0, { XK_Execute }}, { 82, 0, { XK_KP_7 }}, { 83, 0, { XK_KP_8 }}, { 84, 0, { XK_KP_9 }}, { 85, 0, { XK_KP_Subtract, XK_KP_Divide }}, { 86, 0, { XK_KP_4 }}, { 87, 0, { XK_KP_5 }}, { 88, 0, { XK_KP_6 }}, { 89, 0, { XK_KP_Add, XK_KP_Multiply }}, { 90, 0, { XK_KP_1 }}, { 91, 0, { XK_KP_2 }}, { 92, 0, { XK_KP_3 }}, { 93, 0, { XK_KP_Separator, XK_KP_Equal }}, { 94, 0, { XK_KP_0 }}, { 95, 0, { XK_Up }}, { 96, 0, { XK_KP_Decimal }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_Left }}, { 99, 0, { XK_Down }}, { 100, 0, { XK_Right }} }; xkeycaps-2.47/kbds/butterfly-map.h0000644000175000017500000001030710206731452014717 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keymap of the Soft key "Butterfly" keyboard * with US layout. * Generated by Edgar Greuter . */ static const struct default_keycode_map butterfly_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_acute, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, Mod2Mask, { XK_Meta_L }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, 0, { XK_Num_Lock }}, { 78, Mod4Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 92, 0, { XK_Print, XK_Sys_Req }}, { 93, 0, { XK_Down }}, { 94, 0, { XK_backslash, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_F13 }}, { 98, 0, { XK_F14 }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_F15 }}, { 103, 0, { XK_F16 }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 110, 0, { XK_Pause, XK_Undo, XK_Break }}, { 111, 0, { XK_Print, XK_Help, XK_Sys_Req }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R }}, { 118, 0, { XK_Left }}, { 119, 0, { XK_Prior }}, { 120, Mod2Mask, { XK_Meta_L }}, { 121, Mod2Mask, { XK_Meta_R }}, { 122, Mod1Mask, { XK_Alt_R }}, { 123, ControlMask, { XK_Control_R }}, { 124, 0, { XK_KP_Enter }}, { 125, 0, { XK_KP_Divide }}, { 126, 0, { XK_Menu }}, { 127, 0, { XK_Pause, XK_Break }}, { 128, 0, { XK_Up }}, { 129, 0, { XK_Delete }}, { 130, 0, { XK_End }}, { 131, 0, { XK_Insert }}, { 133, 0, { XK_Right }}, { 134, 0, { XK_Next }}, { 135, 0, { XK_Home }}, { 136, 0, { XK_Break }}, { 137, 0, { XK_Sys_Req }}, { 140, 0, { XK_Undo }}, { 141, 0, { XK_Redo }}, { 142, 0, { XK_Help }}, { 143, 0, { XK_Cancel }}, { 144, 0, { XK_Find }} }; xkeycaps-2.47/kbds/labtam-codes.h0000644000175000017500000000157610206731452014467 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Labtam MT200 keyboard * (Australian layout), which is really a Honeywell-101RXd keyboard, * also used with some IBM PCs. By Anthony Thyssen . */ static const KeyCode labtam_codes [] = { /* Row 0 */ 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 0, 134, /* Row 2 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 37, 23, 83, 88, 93, 98, 103, 108, 113, /* Row 3 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 51, 84, 89, 94, 99, 104, 109, 114, /* Row 4 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 100, 105, 110, /* Row 5 */ 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 91, 101, 106, 111, 116, /* Row 6 */ 66, 68, 69, 70, 72, 87, 92, 97, 107, 112 }; xkeycaps-2.47/kbds/sun5fr-xc6-map.h0000644000175000017500000001057610206731452014627 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1995 * Jamie Zawinski */ static const struct default_keycode_map sun5fr_xc6_map [] = { { 8, 0, { XK_Cancel, 0, XK_F11 }}, { 9, 0, { SunXK_AudioLowerVolume, SunXK_VideoLowerBrightness }}, { 10, 0, { XK_Redo, 0, XK_F12 }}, { 11, 0, { SunXK_AudioRaiseVolume, SunXK_VideoRaiseBrightness }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11, 0, SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12, 0, SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 27, 0, { XK_Up }}, { 28, 0, { XK_Pause, 0, XK_Break }}, { 29, 0, { XK_Print, 0, XK_Sys_Req, SunXK_Sys_Req }}, { 30, 0, { XK_Scroll_Lock }}, { 31, 0, { XK_Left }}, { 32, 0, { SunXK_Props, 0, XK_F13 }}, { 33, 0, { XK_Undo, 0, XK_F14 }}, { 34, 0, { XK_Down }}, { 35, 0, { XK_Right }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_ampersand, XK_1 }}, { 38, 0, { XK_eacute, XK_2, XK_asciitilde }}, { 39, 0, { XK_quotedbl, XK_3, XK_numbersign }}, { 40, 0, { XK_apostrophe, XK_4, XK_braceleft }}, { 41, 0, { XK_parenleft, XK_5, XK_bracketleft }}, { 42, 0, { XK_minus, XK_6, XK_bar }}, { 43, 0, { XK_egrave, XK_7, XK_grave }}, { 44, 0, { XK_underscore, XK_8, XK_backslash }}, { 45, 0, { XK_ccedilla, XK_9, XK_asciicircum }}, { 46, 0, { XK_agrave, XK_0, XK_at }}, { 47, 0, { XK_parenright, XK_degree, XK_bracketright }}, { 48, 0, { XK_equal, XK_plus, XK_braceright }}, { 49, 0, { XK_twosuperior }}, { 50, 0, { XK_BackSpace }}, { 51, 0, { XK_Insert }}, { 52, 0, { SunXK_AudioMute, SunXK_VideoDegauss }}, { 53, 0, { XK_KP_Divide }}, { 54, 0, { XK_KP_Multiply }}, { 55, 0, { SunXK_PowerSwitch, SunXK_PowerSwitchShift }}, { 56, 0, { SunXK_Front, 0, XK_F15 }}, { 57, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 58, 0, { SunXK_Copy, 0, XK_F16 }}, { 59, 0, { XK_Home }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_A }}, { 62, 0, { XK_Z }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { SunXK_FA_Circum, SunXK_FA_Diaeresis }}, { 72, 0, { XK_dollar, XK_sterling, XK_currency }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_KP_Home, XK_KP_7 }}, { 76, 0, { XK_KP_Up, XK_KP_8 }}, { 77, 0, { XK_KP_Prior, XK_KP_9 }}, { 78, 0, { XK_KP_Subtract }}, { 79, 0, { SunXK_Open, 0, XK_F17 }}, { 80, 0, { SunXK_Paste, 0, XK_F18 }}, { 81, 0, { XK_End }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_Q }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_M }}, { 94, 0, { XK_ugrave, XK_percent }}, { 95, 0, { XK_asterisk, XK_mu }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_KP_Left, XK_KP_4 }}, { 99, 0, { 0, XK_KP_5 }}, { 100, 0, { XK_KP_Right, XK_KP_6 }}, { 101, 0, { XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_Find, 0, XK_F19 }}, { 103, 0, { XK_Prior }}, { 104, 0, { SunXK_Cut, 0, XK_F20 }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_W }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_comma, XK_question }}, { 114, 0, { XK_semicolon, XK_period }}, { 115, 0, { XK_colon, XK_slash }}, { 116, 0, { XK_exclam, XK_section }}, { 117, ShiftMask, { XK_Shift_R }}, { 119, 0, { XK_KP_End, XK_KP_1 }}, { 120, 0, { XK_KP_Down, XK_KP_2 }}, { 121, 0, { XK_KP_Next, XK_KP_3, 0, XK_Next }}, { 125, 0, { XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 130, 0, { XK_Next }}, { 131, 0, { XK_less, XK_greater }}, { 132, 0, { XK_KP_Add }}, }; xkeycaps-2.47/kbds/hpitf-caps.h0000644000175000017500000000371610206731452014170 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the HP 300, 400, and 700 series * keyboards. By Dave Brooks */ static const struct key_strings hpitf_caps [] = { /* Row 0 */ {"Reset", "Break", 0}, {"Stop", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"Menu", 0}, {"User", "System", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"Clear", "line", 0}, {"Clear", "display", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", "line", 0}, {"Delete", "line", 0}, {"*", 0}, {"/", 0}, {"+", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Insert", "char", 0}, {"Delete", "char", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"Enter", 0}, /* Row 4 */ {"Caps", 0}, {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"Home", 0}, {"Prev", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, /* Row 5 */ {"Del", "Esc", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"Select", 0}, {"UpArrow", 0}, {"Next", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Tab", 0}, /* Row 6 */ {"Print", "Enter", 0}, {"Extend", "char", 0}, {" ", 0}, {"Extend", "char", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/mklinux-us-caps.h0000644000175000017500000000425010206731452015164 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the german Apple Extended II Keyboard for use with * MkLinux. * * By Albrecht Dreß , derived from the file * `mac-caps.h' by John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. * * Copyright (C) by Albrecht Dress 1997. This file is "really free" under the * terms the standard X license/copyright. */ static const struct key_strings mac_mklinux_us_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", "F15", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"BackSpace", 0}, {"Insert", 0}, {"Home", 0}, {"Prior", 0}, {"Num ", "Lock", 0}, {"=", 0}, {"/", 0}, {"*", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Del", 0}, {"End", 0}, {"Next", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Return", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {"+", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"alt", 0}, {"%", 0}, /* that silly clover symbol */ {" ", 0}, {"%", 0}, /* that silly clover symbol */ {"alt gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/ms105-codes.h0000644000175000017500000000220210206731452014057 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Microsoft "Natural" keyboard * (part 58221) with XFree86 3.1. It is basically the same as * linux101-2-codes.h, except for the differences in geometry. * By Matthias Rabe * * Unfortunately, the new modifier keys in the bottom row (the "Microsoft" * and "Menu" keys) do not generate keycodes on some versions of XFree86, * and thus cannot be bound. */ static const KeyCode ms105_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 83, 84, 85, /* Row 5 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 113, 116, 117, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/sun5swde-caps.h0000644000175000017500000000472710206731452014636 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of the Sun-Swiss type 5 keyboard. * By Peter Kaiser, June 1998 * */ static const struct key_strings sun5swde_caps [] = { /* Row 0 */ {"Hilfe", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", "S-Abf", 0}, {"Rollen", "DownArrow", 0}, {"Pause", "Untbr", 0}, {"Degauss", "D\344mpfen", 0}, {"Kontr -", "Laut -", 0}, {"Kontr +", "Laut +", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Wieder-", "holen", 0}, {"\260", "\247", 0}, {"+", "1", "|"}, {"\"", "2", "@"}, {"*", "3", "#"}, {"\347", "4", "^"}, {"%", "5", "~"}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", "`"}, {"?", "'", "(')"}, {"(`)", "(^)", "(~)"}, {"LeftArrow", "Back Space", 0}, {"Einfg", 0}, {"Pos 1", 0}, {"Bild", "UpArrow", 0}, {"Num", "DownArrow", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Eigen-", "schafter", 0}, {"Zur\374ck-", "nahmen", 0}, {"Tab", "RightArrow", "leftArrow"}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\350", "\374", "["}, {"(Uml)", "!", "]"}, {"Return", 0}, {"Entf", 0}, {"Ende", 0}, {"Bild", "DownArrow", 0}, {"7", "Pos 1", 0}, {"8", "UpArrow", 0}, {"9", "Bild", "UpArrow"}, {"+", 0}, /* Row 3 */ {"Vorder-", "grund", "0"}, {"Kopie-", "ren", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\351", "\365", 0}, {"\340", "\344", "{"}, {"\243", "$", "}"}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 4 */ {"\325ffnen", 0}, {"Ein-", "setzen", 0}, {"UpArrow", "Shift", 0}, {"<", ">", "\\"}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"UpArrow", "Shift", 0}, {"UpArrow", 0}, {"1", "Ende", 0}, {"2", "DownArrow", 0}, {"3", "Bild", "DownArrow"}, {"Enter", 0}, /* Row 5 */ {"Suchen", 0}, {"Aus-", "schneiden", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Enifg", 0}, {".", "Entf", 0} }; xkeycaps-2.47/kbds/cc107-caps.h0000644000175000017500000000406710206731452013673 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of a "Linux CoolKeyboard" 107 key * AT PC-style keyboard. * By John Gotts */ static const struct key_strings cc107_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Wake", 0}, {"Sleep", 0}, {"Power", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5 Euro", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Print", "Screen", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"|", "\\", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"(Penguin", "Logo)", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"(Penguin", "Logo)", 0}, {"Linux", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pcxal-codes.h0000644000175000017500000000144610206731452014332 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * This file describes the keycodes of the DEC PCXAL keyboard. * By Aleksandar Milivojevic . */ static const KeyCode pcxal_codes [] = { /* Row 1 */ 8, 9, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 95, 98, /* Row 2 */ 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 103, 110, 111, 118, 119, 126, 132, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 92, 100, 101, 109, 108, 117, 125, 124, /* Row 4 */ 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 90, 107, 115, 116, /* Row 5 */ 18, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 99, 105, 114, 122, 121, /* Row 6 */ 17, 25, 41, 57, 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/ncd123na-codes.h0000644000175000017500000000171710206731452014535 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keycodes of the the NCD-123NA keyboard. * By Vladimir Alexiev . * Based on the NCD123-UX keyboard by John Palmieri . */ static const KeyCode ncd123na_codes [] = { /* Row 0 */ 9, 8, 135, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 95, 98, 80, 81, 83, 0, /* Row 1 */ 10, 11, 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 103, 110, 111, 118, 119, 126, 132, /* Row 2 */ 12, 16, 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 92, 100, 101, 109, 108, 117, 125, 124, /* Row 3 */ 19, 24, 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 90, 128, 129, 130, 107, 115, 116, /* Row 4 */ 32, 40, 18, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 127, 99, 131, 105, 114, 122, 121, /* Row 5 */ 48, 56, 17, 25, 64, 41, 72, 57, 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/tp770-geom.h0000644000175000017500000000371510206731452013737 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the physical layout of the IBM ThinkPad 770ED keyboard. * By Jamie Zawinski */ static const struct key_geometry tp770_geom_row0 [] = { {13, 10},{114, 0},{13, 10},{13, 10},{13, 10},{5, 0}, {13, 10},{13, 10},{13, 10} }; static const struct key_geometry tp770_geom_row1 [] = { {13, 10},{13, 10},{13, 10},{13, 10},{5, 0}, {13, 10},{13, 10},{13, 10},{13, 10},{5, 0}, {13, 10},{13, 10},{13, 10},{13, 10},{5, 0}, {13, 10},{13, 10},{13, 10}, }; static const struct key_geometry tp770_geom_row2 [] = { {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{28, 14} }; static const struct key_geometry tp770_geom_row3 [] = { {20, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{22, 14} }; static const struct key_geometry tp770_geom_row4 [] = { {25, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{31, 14} }; static const struct key_geometry tp770_geom_row5 [] = { {32, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{38, 14} }; static const struct key_geometry tp770_geom_row6 [] = { {14, 14},{22, 14},{22, 14},{71, 14},{22, 14},{22, 14},{13, 0},{12, 10} }; static const struct key_geometry tp770_geom_row7 [] = { {174, 0},{12, 10},{12, 10},{12, 10} }; static const struct keyboard_row_geometry tp770_geom_rows [] = { ROW (tp770_geom_row0, 10), ROW (tp770_geom_row1, 10), EMPTYROW (3), ROW (tp770_geom_row2, 14), ROW (tp770_geom_row3, 14), ROW (tp770_geom_row4, 14), ROW (tp770_geom_row5, 14), ROW (tp770_geom_row6, 10), ROW (tp770_geom_row7, 10), }; static const struct keyboard_geometry tp770_geom = { sizeof (tp770_geom_rows) / sizeof (struct keyboard_row_geometry), tp770_geom_rows, 3, 3, 3 }; xkeycaps-2.47/kbds/sun5es-caps.h0000644000175000017500000000440310206731452014272 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Sun type 5 keyboard with Spanish * layout. By anonymous. */ static const struct key_strings sun5es_caps [] = { /* Row 0 */ {"Help", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Degauss", "Mute", 0}, {"Dim", "Quiet", 0}, {"Bright", "Loud", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"\252", "\272", "\\"}, {"!", "1", "|"}, {"\"", "2", "@"}, {"\267", "3", "#"}, {"$", "4", "^"}, {"%", "5", "~"}, {"&", "6", "\254"}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "'", "`"}, {"\277", "\241", 0}, {"Back ", "Space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"^", "`", "["}, {"*", "+", "]"}, {"Enter", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\321", 0}, {"\250", "\264", "{"}, {"\307", 0, "}"}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {">", "<"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"upArrow", 0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Alt", "Graph", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/phasex110b-codes.h0000644000175000017500000000150110206731452015067 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the keycodes of the PhaseX 110b keyboard. * (with a tall enter key) * * By Jonathan Abbey * */ static const KeyCode phasex110b_codes [] = { /* Row 0 */ 8, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 94, 95, 91, 77, 0, /* Row 2 */ 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 50, 21, 97, 98, 99, 76, 103, 62, 81, /* Row 3 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 100, 101, 102, 78, 79, 80, 85, /* Row 4 */ 65, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 82, 83, 84, /* Row 5 */ 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 107, 86, 87, 88, 104, /* Row 6 */ 36, 63, 64, 92, 96, 105, 108, 106, 89, 90 }; xkeycaps-2.47/kbds/tecra500-geom.h0000644000175000017500000000345710206731452014404 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the physical layout of the Tecra 500CDT laptop, and may * be suitable for many others (Cesar Crusius 1997) */ static const struct key_geometry tecra500_geom_row0 [] = { {15, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {18, 10}, {3, 0}, {18, 10}, {15, 10}}; static const struct key_geometry tecra500_geom_row2 [] = { {5,0}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {31,18}, {15,18}}; static const struct key_geometry tecra500_geom_row3 [] = { {14,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {22,18}, {15,18}}; static const struct key_geometry tecra500_geom_row4 [] = { {17,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {37,18}, {15,18}}; static const struct key_geometry tecra500_geom_row5 [] = { {27,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {27,18}, {18,18}, {15,18}}; static const struct key_geometry tecra500_geom_row6 [] = { {19,18}, {19,18}, {19,18}, {105,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {15,18}}; static const struct keyboard_row_geometry tecra500_geom_rows [] = { ROW (tecra500_geom_row0, 18), ROW (tecra500_geom_row2, 18), ROW (tecra500_geom_row3, 18), ROW (tecra500_geom_row4, 18), ROW (tecra500_geom_row5, 18), ROW (tecra500_geom_row6, 18), }; static const struct keyboard_geometry tecra500_geom = { sizeof (tecra500_geom_rows) / sizeof (struct keyboard_row_geometry), tecra500_geom_rows, 2, 3, 3 }; xkeycaps-2.47/kbds/presario-geom.h0000644000175000017500000000367410206731452014706 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the physical layout of the Compaq Presario 1655 * keyboard. * By Hans Huebner */ static const struct key_geometry presario_geom_row1 [] = { {16, 10}, {12, 10},{12, 10},{12, 10},{12, 10}, {12, 10},{12, 10},{12, 10},{12, 10}, {12, 10},{12, 10},{12, 10},{12, 10}, {12, 10},{12, 10},{12, 10},{13, 10}, }; static const struct key_geometry presario_geom_row2 [] = { {13, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {17, 14},{11, 14} }; static const struct key_geometry presario_geom_row3 [] = { {18, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {12, 14},{11, 14} }; static const struct key_geometry presario_geom_row4 [] = { {22, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {22, 14},{11, 14} }; static const struct key_geometry presario_geom_row5 [] = { {28, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {14, 14},{14, 14},{14, 14},{14, 14},{14, 14}, {30, 14},{11, 14} }; static const struct key_geometry presario_geom_row6 [] = { {14, 14}, {14, 14}, {14, 14}, {14, 14}, {12, 14}, {56, 14}, {14, 14}, {14, 14}, {11, 14}, {11, 14}, {13, 0},{11, 10} }; static const struct key_geometry presario_geom_row7 [] = { {176, 0},{11, 10},{11, 10},{11, 10} }; static const struct keyboard_row_geometry presario_geom_rows [] = { ROW (presario_geom_row1, 10), ROW (presario_geom_row2, 14), ROW (presario_geom_row3, 14), ROW (presario_geom_row4, 14), ROW (presario_geom_row5, 14), ROW (presario_geom_row6, 10), ROW (presario_geom_row7, 10), }; static const struct keyboard_geometry presario_geom = { sizeof (presario_geom_rows) / sizeof (struct keyboard_row_geometry), presario_geom_rows, 3, 3, 3 }; xkeycaps-2.47/kbds/pc102-3uk-caps.h0000644000175000017500000000417310206731452014401 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the key caps of a UK "Chicony KB-5312" * 102 key PC-style keyboard (UK version). * This differs from 'pc102uk' in the location of the `#~' key. * (between `=+' and backspace instead of between `'@' and return). * By Ben Harris */ static const struct key_strings pc102_3uk_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"\254", "`", 0}, /* \254 = logicalnot */ {"!", "1", 0}, {"\"", "2", 0}, {"£", "3", 0}, /* \243 = sterling */ {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"~", "#", 0}, {"Back", "space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"@", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"|","\\"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ncd101-geom.h0000644000175000017500000000356210206731452014044 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the NCD X terminal N101 keyboard. */ static const struct key_geometry ncd101_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd101_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd101_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ncd101_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd101_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ncd101_geom_row6 [] = { {11, 7}, {7, 0}, {11, 7}, {48, 7}, {11, 7}, {7, 0}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry ncd101_geom_rows [] = { ROW (ncd101_geom_row0, 7), EMPTYROW (5), ROW (ncd101_geom_row2, 7), ROW (ncd101_geom_row3, 7), ROW (ncd101_geom_row4, 7), ROW (ncd101_geom_row5, 7), ROW (ncd101_geom_row6, 7), }; static const struct keyboard_geometry ncd101_geom = { sizeof (ncd101_geom_rows) / sizeof (struct keyboard_row_geometry), ncd101_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/hppcuk-caps.h0000644000175000017500000000366710206731452014355 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of an HP PC type keyboard (UK version). * By Chris Paulson-Ellis */ static const struct key_strings hppcuk_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print Screen", 0}, {"Scroll Lock", 0}, {"Pause", 0}, /* Row 2 */ {"¬", "`", "|"}, {"!", "1", 0}, {"\"", "2", 0}, {"»", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page Up", 0}, {"Num Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0 }, {"}", "]", 0 }, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"@", "'", 0}, {"~", "#", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"|", "\\", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pc105da-caps.h0000644000175000017500000000407410206731452014211 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * This file describes the key surfaces of a Danish 102 key PC-style * keyboard. By Anders Wegge Jakobsen . */ static const struct key_strings pc105da_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "SysRq",0 }, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\247", "\275", 0}, {"!", "1", 0}, {"\"", "2", "@"}, {"#", "3", "\243"}, {"\244", "4", "$"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "+", 0}, {"`", "\264", "|"}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0 }, {"^", "\250", "~" }, {"Enter", 0}, {"Del", 0}, /* "Home" -> "Del" says leguern@inf.enst.fr */ {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\306", 0}, {"\330", 0,}, {"*", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/sun5swfr-geom.h0000644000175000017500000000442110206731452014645 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Sun Swiss-French type 5 keyboard. * By Philippe A. Kipfer (Philippe.Kipfer@di.epfl.ch), dec.1993. * This keyboard meet the TUV standard. * Defined from Sun document "Notes claviers Sun type 5" ref. #800-6803-10 * */ static const struct key_geometry sun5swfr_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5swfr_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5swfr_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {9, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5swfr_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {38, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5swfr_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {18,7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5swfr_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {11, 7}, {7, 7}, {7, 7}, {59, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun5swfr_geom_rows [] = { ROW (sun5swfr_geom_row0, 7), EMPTYROW (7), ROW (sun5swfr_geom_row1, 7), ROW (sun5swfr_geom_row2, 7), ROW (sun5swfr_geom_row3, 7), ROW (sun5swfr_geom_row4, 7), ROW (sun5swfr_geom_row5, 7), }; static const struct keyboard_geometry sun5swfr_geom = { sizeof (sun5swfr_geom_rows) / sizeof (struct keyboard_row_geometry), sun5swfr_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/ms105es-caps.h0000644000175000017500000000412410206731452014245 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the key surfaces of the Microsoft "Natural" * keyboard with spanish layout. * * Created by Eduardo Perez from pc102es-caps.h * */ static const struct key_strings ms105es_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Impr", "Pant", 0}, {"Bloq", "Despl", 0}, {"Pausa", "", 0}, /* Row 2 */ {"\252", "\272 \\", 0}, {"!", "1 |", 0}, {"\"", "2 @", 0}, {"\267", "3 #", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6 \254", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "'", 0}, {"\241", "\277", 0}, {"Retroceso", 0}, {"Insert", 0}, {"Inicio", 0}, {"Re", "Pag", 0}, {"Bloq", "Num", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"^", "` [", 0}, {"*", "+ ]", 0}, {"Intro", 0}, {"Supr", 0}, {"Fin", 0}, {"Av", "Pag", 0}, {"7", "Inicio", 0}, {"8", "UpArrow", 0}, {"9", "Re Pag", 0}, {"+", 0}, /* Row 4 */ {"Bloq", "Mayus", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\321", 0}, {"\250", "' {", 0}, {"\307", " }", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"UpArrow",0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"UpArrow", 0}, {"UpArrow", 0}, {"1", "Fin", 0}, {"2", "DownArrow", 0}, {"3", "Av Pag", 0}, {"Intro", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Supr", 0} }; xkeycaps-2.47/kbds/tt-codes.h0000644000175000017500000000134510206731452013650 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Atari TT (USA) keyboard * By Mats Wichmann */ static const KeyCode tt_codes [] = { /* Row 0 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, /* Row 2 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 49, 22, 106, 105, 107, 108, 109, 110, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 91, 90, 80, 79, 111, 112, 113, 82, /* Row 4 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 51, 83, 88, 85, 114, 115, 116, 86, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 117, 118, 119, 122, /* Row 6 */ 64, 65, 66, 120, 121 }; xkeycaps-2.47/kbds/hp700rx-map.h0000644000175000017500000001230710206731452014111 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the HP 700/RX X terminal * keyboard. Generated by Hide Horiuchi on HPUX 9.0x. */ static const struct default_keycode_map hp700rx_map [] = { { 16, 0, { XK_F1 }}, { 17, 0, { XK_Escape }}, { 22, 0, { XK_Tab, hpXK_BackTab }}, { 23, 0, { XK_grave, XK_asciitilde, XK_guillemotleft, XK_guillemotright }}, { 24, 0, { XK_F2 }}, { 26, ControlMask, { XK_Control_L }}, { 27, ShiftMask, { XK_Shift_L }}, { 29, LockMask, { XK_Caps_Lock }}, { 30, 0, { XK_q, XK_Q, XK_periodcentered, XK_periodcentered }}, { 31, 0, { XK_1, XK_exclam, XK_exclamdown, XK_exclamdown }}, { 32, 0, { XK_F3 }}, { 33, 0, { XK_Kanji }}, { 34, Mod1Mask, { XK_Alt_L }}, { 35, 0, { XK_z, XK_Z, XK_paragraph, XK_paragraph }}, { 36, 0, { XK_s, XK_S, XK_ssharp, XK_ssharp }}, { 37, 0, { XK_a, XK_A, XK_aring, XK_Aring }}, { 38, 0, { XK_w, XK_W, XK_asciitilde, XK_asciitilde }}, { 39, 0, { XK_2, XK_at, XK_at, XK_at }}, { 40, 0, { XK_F4 }}, { 42, 0, { XK_c, XK_C, XK_ccedilla, XK_Ccedilla }}, { 43, 0, { XK_x, XK_X, XK_scaron, XK_Scaron }}, { 44, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 45, 0, { XK_e, XK_E, XK_ae, XK_AE }}, { 46, 0, { XK_4, XK_dollar, XK_onequarter, hpXK_Ydiaeresis }}, { 47, 0, { XK_3, XK_numbersign, XK_numbersign, XK_numbersign }}, { 48, 0, { XK_F5 }}, { 50, 0, { XK_space }}, { 51, 0, { XK_v, XK_V, XK_section, XK_section }}, { 52, 0, { XK_f, XK_F, hpXK_guilder, hpXK_guilder }}, { 53, 0, { XK_t, XK_T, hpXK_mute_grave, hpXK_mute_grave }}, { 54, 0, { XK_r, XK_R, hpXK_mute_acute, hpXK_mute_acute }}, { 55, 0, { XK_5, XK_percent, XK_onehalf, XK_onehalf }}, { 56, 0, { XK_F6 }}, { 58, 0, { XK_n, XK_N, XK_ordfeminine, XK_ordfeminine }}, { 59, 0, { XK_b, XK_B, hpXK_block, hpXK_block }}, { 60, 0, { XK_h, XK_H, XK_yen, XK_yen }}, { 61, 0, { XK_g, XK_G, XK_currency, XK_currency }}, { 62, 0, { XK_y, XK_Y, hpXK_mute_asciicircum, hpXK_mute_asciicircum }}, { 63, 0, { XK_6, XK_asciicircum, XK_asciicircum, XK_asciicircum }}, { 64, 0, { XK_F7 }}, { 65, 0, { XK_Kanji }}, { 66, Mod1Mask, { XK_Alt_R }}, { 67, 0, { XK_m, XK_M, XK_masculine, XK_masculine }}, { 68, 0, { XK_j, XK_J, XK_dollar, XK_dollar }}, { 69, 0, { XK_u, XK_U, hpXK_mute_diaeresis, hpXK_mute_diaeresis }}, { 70, 0, { XK_7, XK_ampersand, XK_backslash, XK_backslash }}, { 71, 0, { XK_8, XK_asterisk, XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_F8 }}, { 74, 0, { XK_comma, XK_less, XK_less, XK_less }}, { 75, 0, { XK_k, XK_K, XK_cent, XK_cent }}, { 76, 0, { XK_i, XK_I, hpXK_mute_asciitilde, hpXK_mute_asciitilde }}, { 77, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 78, 0, { XK_0, XK_parenright, XK_questiondown, XK_questiondown }}, { 79, 0, { XK_9, XK_parenleft, XK_bracketright, XK_braceright }}, { 80, 0, { XK_F9, XK_KP_F1 }}, { 82, 0, { XK_period, XK_greater, XK_greater, XK_greater }}, { 83, 0, { XK_slash, XK_question, XK_underscore, XK_underscore }}, { 84, 0, { XK_l, XK_L, XK_sterling, XK_sterling }}, { 85, 0, { XK_semicolon, XK_colon, hpXK_lira, hpXK_lira }}, { 86, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 87, 0, { XK_minus, XK_underscore, hpXK_longminus, XK_macron }}, { 88, 0, { XK_F10, XK_KP_F2 }}, { 91, 0, { XK_apostrophe, XK_quotedbl, XK_grave, XK_apostrophe }}, { 93, 0, { XK_bracketleft, XK_braceleft, XK_degree, XK_degree }}, { 94, 0, { XK_equal, XK_plus, XK_plusminus, XK_plusminus }}, { 95, 0, { XK_F11, XK_KP_F3 }}, { 96, 0, { XK_Print, XK_Cancel }}, { 97, ControlMask, { XK_Control_R }}, { 98, ShiftMask, { XK_Shift_R }}, { 99, 0, { XK_Return }}, { 100, 0, { XK_bracketright, XK_braceright, XK_brokenbar, XK_brokenbar }}, { 101, 0, { XK_backslash, XK_bar, XK_mu, XK_mu }}, { 103, 0, { XK_F12, XK_KP_F4 }}, { 104, 0, { XK_Scroll_Lock }}, { 105, 0, { XK_Down }}, { 106, 0, { XK_Left }}, { 107, 0, { XK_Pause, XK_Break }}, { 108, 0, { XK_Up }}, { 109, 0, { XK_Delete }}, { 110, 0, { XK_End }}, { 111, 0, { XK_BackSpace }}, { 112, 0, { XK_Insert }}, { 114, 0, { XK_KP_1, XK_End }}, { 115, 0, { XK_Right }}, { 116, 0, { XK_KP_4, XK_Left }}, { 117, 0, { XK_KP_7, XK_Home }}, { 118, 0, { XK_Next }}, { 119, 0, { XK_Home }}, { 120, 0, { XK_Prior }}, { 121, 0, { XK_KP_0, XK_Insert }}, { 122, 0, { XK_KP_Decimal, XK_Delete }}, { 123, 0, { XK_KP_2, XK_Down }}, { 124, 0, { XK_KP_5 }}, { 125, 0, { XK_KP_6, XK_Right }}, { 126, 0, { XK_KP_8, XK_Up }}, { 127, 0, { XK_Num_Lock }}, { 128, 0, { XK_KP_Divide }}, { 141, 0, { XK_KP_Subtract }}, /* Note: the last keycode on the preceeding line (keypad-minus) used to be 129, but Corne Beerse says that 141 is correct, with HPUX 9.05. */ { 130, 0, { XK_KP_Enter }}, { 131, 0, { XK_KP_3, XK_Next }}, { 132, Mod1Mask, { XK_Mode_switch }}, { 133, 0, { XK_KP_Add }}, { 134, 0, { XK_KP_9, XK_Prior }}, { 135, 0, { XK_KP_Multiply }} }; xkeycaps-2.47/kbds/ncd123na-map.h0000644000175000017500000001341310206731452014211 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the default keymap of the NCD-123NA keyboard. * Generated by Vladimir Alexiev . */ static const struct default_keycode_map ncd123na_map [] = { { 8, 0, { XK_Escape }}, { 9, 0, { XK_Help }}, { 10, 0, { XK_F11, XK_F11, XK_Cancel }}, { 11, 0, { XK_F12, XK_F12, XK_Redo }}, { 12, Mod5Mask, { XK_F13, XK_F13, SunXK_Props }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_grave, XK_asciitilde }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F14, XK_F14, XK_Undo }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 19, 0, { XK_F15, XK_F15, SunXK_Front }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 24, 0, { XK_F16, XK_F16, SunXK_Copy }}, { 25, Mod4Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 32, 0, { XK_F17, XK_F17, SunXK_Open }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 40, Mod5Mask, { XK_F18, XK_F18, SunXK_Paste }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 48, 0, { XK_F19, XK_F19, XK_Find }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 56, Mod5Mask, { XK_F20, XK_F20, SunXK_Cut }}, { 57, 0, { XK_Multi_key }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 64, Mod1Mask, { XK_Meta_L }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 72, Mod1Mask, { XK_Meta_R }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 86, 0, { SunXK_F36 }}, { 87, 0, { XK_F22, XK_F22, XK_Print, SunXK_Sys_Req }}, { 88, Mod2Mask, { XK_Mode_switch }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 92, 0, { XK_backslash, XK_bar, XK_brokenbar }}, { 93, 0, { 0 }}, /* XK_WYSetup */ { 94, 0, { SunXK_F37 }}, { 95, 0, { XK_F23, XK_F23, XK_Scroll_Lock }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 98, 0, { XK_F21, XK_F21, XK_Pause, XK_Break }}, { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_F33, XK_F33, XK_KP_1, XK_End }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_Left, XK_F30, XK_KP_4 }}, { 108, 0, { XK_F27, XK_F27, XK_KP_7, XK_Home }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_Insert, XK_Insert, XK_KP_0 }}, { 113, 0, { XK_Delete, XK_Delete, XK_KP_Decimal }}, { 114, 0, { XK_Down, XK_F34, XK_KP_2 }}, { 115, 0, { XK_F31, XK_F31, XK_KP_5 }}, { 116, 0, { XK_Right, XK_F32, XK_KP_6 }}, { 117, 0, { XK_Up, XK_F28, XK_KP_8 }}, { 118, Mod3Mask, { XK_Num_Lock }}, { 119, 0, { XK_F25, XK_F25, XK_KP_Divide }}, { 120, 0, { XK_less, XK_greater }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_F35, XK_F35, XK_KP_3, XK_Next }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_F29, XK_F29, XK_KP_9, XK_Prior }}, { 126, 0, { XK_F26, XK_F26, XK_KP_Multiply }}, { 132, 0, { XK_F24, XK_F24, XK_KP_Subtract }}, { 135, 0, { XK_F1 }}, { 218, 0, { XK_agrave, XK_Agrave }}, { 219, 0, { XK_egrave, XK_Egrave }}, { 220, 0, { XK_igrave, XK_Igrave }}, { 221, 0, { XK_ograve, XK_Ograve }}, { 222, 0, { XK_ugrave, XK_Ugrave }}, { 223, 0, { XK_grave }}, { 224, 0, { XK_acircumflex, XK_Acircumflex }}, { 225, 0, { XK_ecircumflex, XK_Ecircumflex }}, { 226, 0, { XK_icircumflex, XK_Icircumflex }}, { 227, 0, { XK_ocircumflex, XK_Ocircumflex }}, { 228, 0, { XK_ucircumflex, XK_Ucircumflex }}, { 229, 0, { XK_asciicircum }}, { 230, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 231, 0, { XK_ediaeresis, XK_Ediaeresis }}, { 232, 0, { XK_idiaeresis, XK_Idiaeresis }}, { 233, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 234, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 235, 0, { XK_ydiaeresis }}, { 236, 0, { XK_diaeresis, XK_diaeresis }}, { 237, 0, { XK_atilde, XK_Atilde }}, { 238, 0, { XK_ntilde, XK_Ntilde }}, { 239, 0, { XK_otilde, XK_Otilde }}, { 240, 0, { XK_asciitilde }}, { 241, 0, { XK_aacute, XK_Aacute }}, { 242, 0, { XK_eacute, XK_Eacute }}, { 243, 0, { XK_iacute, XK_Iacute }}, { 244, 0, { XK_oacute, XK_Oacute }}, { 245, 0, { XK_uacute, XK_Uacute }}, { 246, 0, { XK_acute }}, { 247, 0, { XK_ccedilla, XK_Ccedilla }}, { 248, 0, { XK_cedilla }}, { 80, 0, { 0 }}, { 81, 0, { 0 }}, { 83, 0, { 0 }}, { 127, 0, { 0 }}, { 128, 0, { 0 }}, { 129, 0, { 0 }}, { 130, 0, { 0 }}, { 131, 0, { 0 }} }; xkeycaps-2.47/kbds/phasex110-map.h0000644000175000017500000000753610206731452014423 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the keysyms of the PhaseX 110 keyboard. * By Jonathan Abbey */ static const struct default_keycode_map phasex110_map [] = { { 8, 0, { XK_Escape, XK_Escape }}, { 9, 0, { XK_1, XK_exclam }}, { 10, 0, { XK_2, XK_at }}, { 11, 0, { XK_3, XK_numbersign }}, { 12, 0, { XK_4, XK_dollar }}, { 13, 0, { XK_5, XK_percent }}, { 14, 0, { XK_6, XK_asciicircum }}, { 15, 0, { XK_7, XK_ampersand }}, { 16, 0, { XK_8, XK_asterisk }}, { 17, 0, { XK_9, XK_parenleft }}, { 18, 0, { XK_0, XK_parenright }}, { 19, 0, { XK_minus, XK_underscore }}, { 20, 0, { XK_equal, XK_plus }}, { 21, 0, { XK_BackSpace }}, { 22, 0, { XK_Tab, XK_Tab }}, { 23, 0, { XK_q, XK_Q }}, { 24, 0, { XK_w, XK_W }}, { 25, 0, { XK_e, XK_E }}, { 26, 0, { XK_r, XK_R }}, { 27, 0, { XK_t, XK_T }}, { 28, 0, { XK_y, XK_Y }}, { 29, 0, { XK_u, XK_U }}, { 30, 0, { XK_i, XK_I }}, { 31, 0, { XK_o, XK_O }}, { 32, 0, { XK_p, XK_P }}, { 33, 0, { XK_bracketleft, XK_braceleft }}, { 34, 0, { XK_bracketright, XK_braceright }}, { 35, 0, { XK_Return, XK_Return }}, { 36, ControlMask, { XK_Control_L, XK_Control_L }}, { 37, 0, { XK_a, XK_A }}, { 38, 0, { XK_s, XK_S }}, { 39, 0, { XK_d, XK_D }}, { 40, 0, { XK_f, XK_F }}, { 41, 0, { XK_g, XK_G }}, { 42, 0, { XK_h, XK_H }}, { 43, 0, { XK_j, XK_J }}, { 44, 0, { XK_k, XK_K }}, { 45, 0, { XK_l, XK_L }}, { 46, 0, { XK_semicolon, XK_colon }}, { 47, 0, { XK_apostrophe, XK_quotedbl }}, { 48, 0, { XK_grave, XK_asciitilde }}, { 49, ShiftMask, { XK_Shift_L, XK_Shift_L }}, { 50, 0, { XK_backslash, XK_bar }}, { 51, 0, { XK_z, XK_Z }}, { 52, 0, { XK_x, XK_X }}, { 53, 0, { XK_c, XK_C }}, { 54, 0, { XK_v, XK_V }}, { 55, 0, { XK_b, XK_B }}, { 56, 0, { XK_n, XK_N }}, { 57, 0, { XK_m, XK_M }}, { 58, 0, { XK_comma, XK_less }}, { 59, 0, { XK_period, XK_greater }}, { 60, 0, { XK_slash, XK_question }}, { 61, ShiftMask, { XK_Shift_R, XK_Shift_R }}, { 62, 0, { XK_KP_Multiply, XK_KP_Multiply }}, { 63, Mod1Mask, { XK_Alt_L, XK_Alt_L }}, { 64, 0, { XK_space, XK_space }}, { 65, LockMask, { XK_Caps_Lock, XK_Caps_Lock }}, { 66, 0, { XK_F1, XK_F1 }}, { 67, 0, { XK_F2, XK_F2 }}, { 68, 0, { XK_F3, XK_F3 }}, { 69, 0, { XK_F4, XK_F4 }}, { 70, 0, { XK_F5, XK_F5 }}, { 71, 0, { XK_F6, XK_F6 }}, { 72, 0, { XK_F7, XK_F7 }}, { 73, 0, { XK_F8, XK_F8 }}, { 74, 0, { XK_F9, XK_F9 }}, { 75, 0, { XK_F10, XK_F10 }}, { 76, 0, { XK_Num_Lock, XK_Num_Lock }}, { 77, 0, { XK_Scroll_Lock, XK_Scroll_Lock }}, { 78, 0, { XK_KP_7, XK_KP_7 }}, { 79, 0, { XK_KP_8, XK_KP_8 }}, { 80, 0, { XK_KP_9, XK_KP_9 }}, { 81, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 82, 0, { XK_KP_4, XK_KP_4 }}, { 83, 0, { XK_KP_5, XK_KP_5 }}, { 84, 0, { XK_KP_6, XK_KP_6 }}, { 85, 0, { XK_KP_Add, XK_KP_Add }}, { 86, 0, { XK_KP_1, XK_KP_1 }}, { 87, 0, { XK_KP_2, XK_KP_2 }}, { 88, 0, { XK_KP_3, XK_KP_3 }}, { 89, 0, { XK_KP_0, XK_KP_0 }}, { 90, 0, { XK_KP_Decimal, XK_KP_Decimal }}, { 91, 0, { XK_Print, XK_Print }}, { 92, Mod1Mask, { XK_Alt_R, XK_Alt_R }}, { 94, 0, { XK_F11, XK_F11 }}, { 95, 0, { XK_F12, XK_F12 }}, { 96, ControlMask, { XK_Control_R, XK_Control_R }}, { 97, 0, { XK_Insert, XK_Insert }}, { 98, 0, { XK_Home, XK_Home }}, { 99, 0, { XK_Prior, XK_Prior }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End, XK_End }}, { 102, 0, { XK_Next, XK_Next }}, { 103, 0, { XK_KP_Divide, XK_KP_Divide }}, { 104, 0, { XK_KP_Enter, XK_KP_Enter }}, { 105, 0, { XK_Left, XK_Left }}, { 106, 0, { XK_Right, XK_Right }}, { 107, 0, { XK_Up, XK_Up }}, { 108, 0, { XK_Down, XK_Down }} }; xkeycaps-2.47/kbds/pck301-geom.h0000644000175000017500000000511510206731452014053 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the physical layout of the Adesso PCK 301 * keyboard. This is based on file "pc101-geom.h". * This arrangement created by Tom Spindler , 9 Dec 1999 */ static const struct key_geometry pck301_geom_row0 [] = { {7, 7}, {7, 0}, /* esc */ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12,0}, /*f1-f5*/ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {8, 0}, /*f6-f12*/ {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pck301_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9,0}, /* 1-6 */ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7,7}, {7,7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, /* ins/home/pgup */ {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} /* keypad */ }; static const struct key_geometry pck301_geom_row3 [] = { {10, 7}, /* tab */ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, /*q-t*/ {10,0}, /* gap cuz it's "ergo" */ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, /*y-p */ {7, 7}, {7, 7}, /* [ ] */ {10, 14}, /* big return key */ {4,0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, /* del-pgdn */ {7, 7}, {7, 7}, {7, 7}, {7, 14} /* kpad with giant + key */ }; static const struct key_geometry pck301_geom_row4 [] = { {13, 7}, /* capslock, hiss */ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, /* a-g */ {10,0}, /* big ergo gap */ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, /* h - ' */ {43, 0}, {7, 7}, {7, 7}, {7, 7}, /* kpad 4-6 */ }; static const struct key_geometry pck301_geom_row5 [] = { {16, 7}, /*giant shift key*/ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10,0}, /*ergo gap*/ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, /* n - / */ {18, 7}, /*gianter shift */ {11, 0}, {7, 7}, /*up arrow */ {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pck301_geom_row6 [] = { {10, 7}, /* control */ {10, 7}, /* meta/window/whatever the hell */ {10,7}, /* alt */ {43, 7}, /* space bar is one key because both produce the same scan code */ {10, 7}, /* alt */ {10, 7}, /* meta/window/square */ {10, 7}, /* squarepointy/compose */ {11, 7}, /*r control*/ {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, /* arrows */ {14, 7}, {7, 7}, {7,0} /* kpad */ }; static const struct keyboard_row_geometry pck301_geom_rows [] = { ROW (pck301_geom_row0, 7), EMPTYROW (5), ROW (pck301_geom_row2, 7), ROW (pck301_geom_row3, 7), ROW (pck301_geom_row4, 7), ROW (pck301_geom_row5, 7), ROW (pck301_geom_row6, 7), }; static const struct keyboard_geometry pck301_geom = { sizeof (pck301_geom_rows) / sizeof (struct keyboard_row_geometry), pck301_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/ms105-caps.h0000644000175000017500000000410110206731452013710 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Microsoft "Natural" keyboard (part 58221). It's pretty much the same as pc101-caps.h, except for the additional modifier keys in the bottom row. */ static const struct key_strings ms105_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", "Help"}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Scrn", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"|", "\\", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "< |", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/xfree86es-map.h0000644000175000017500000000745510206731452014530 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996 * Jamie Zawinski * * This file describes the default ES keymap used by the XFree86 3.1.2 server. * Created by Eduardo Perez from linux102es-map * */ static const struct default_keycode_map xfree86es_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam, XK_bar }}, { 11, 0, { XK_2, XK_quotedbl, XK_at }}, { 12, 0, { XK_3, XK_periodcentered, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand, XK_notsign }}, { 16, 0, { XK_7, XK_slash }}, { 17, 0, { XK_8, XK_parenleft }}, { 18, 0, { XK_9, XK_parenright }}, { 19, 0, { XK_0, XK_equal }}, { 20, 0, { XK_apostrophe, XK_question }}, { 21, 0, { XK_exclamdown, XK_questiondown, XK_asciitilde }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_grave, XK_asciicircum, XK_bracketleft }}, { 35, 0, { XK_plus, XK_asterisk, XK_bracketright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_ntilde, XK_Ntilde }}, { 48, 0, { XK_acute, XK_diaeresis, XK_braceleft }}, { 49, 0, { XK_masculine, XK_ordfeminine, XK_backslash }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_ccedilla, XK_Ccedilla, XK_braceright }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, 0, { XK_Multi_key }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 92, 0, { XK_a }}, { 94, 0, { XK_less, XK_greater }}, { 95, 0, { XK_m }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 101, 0, { XK_Begin }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { XK_Print }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod5Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }}, { 115, 0, { 0 }}, { 116, 0, { 0 }}, { 117, 0, { 0 }} }; xkeycaps-2.47/kbds/tek200v-us-map.h0000644000175000017500000000677210206731452014532 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "vms" * _TEK_KEYBOARD_NATIONALITY(STRING) = "usascii" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200v_us_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_F11 }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_grave, XK_asciitilde }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, Mod1Mask, { XK_Alt_L, XK_Multi_key }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_comma }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_period }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 91, 0, { XK_backslash, XK_bar }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/xline101-codes.h0000644000175000017500000000220410206731452014555 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Pericom X-Line keyboard. * It differs from the `sco110' in the codes for some of the special keys. * This Pericom gives a vendor ID of 'AGE Logic, Inc.', which is returned by * other servers (with utterly different keycodes), just to confuse things * a little more... * This seems to be a standard PC keyboard, so I'm imitating the Linux naming, * but with 'xline' instead of 'linux'. * By Ben Harris . */ static const KeyCode xline101_codes [] = { /* Row 0 */ 8, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 94, 95, 91, 77, 0, /* Row 2 */ 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 97, 98, 99, 76, 103, 62, 81, /* Row 3 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 50, 100, 101, 102, 78, 79, 80, 85, /* Row 4 */ 65, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 35, 82, 83, 84, /* Row 5 */ 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 107, 86, 87, 88, 104, /* Row 6 */ 36, 63, 64, 92, 96, 105, 108, 106, 89, 90 }; xkeycaps-2.47/kbds/sun4sw-codes.h0000644000175000017500000000147110206731452014464 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the keycodes of the Sun type 4 Swedish keyboard. * By Torbj|rn Lindgren . */ static const KeyCode sun4sw_codes [] = { /* Row 0 */ 8, 10, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 95, 22, 73, 28, 29, 30, 105, /* Row 1 */ 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 50, 52, 53, 54, 78, /* Row 2 */ 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 0, 96, 75, 76, 77, 132, /* Row 3 */ 79, 80, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 49, 98, 99, 100, /* Row 4 */ 102, 104, 106, 131, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 97, /* Row 5 */ 125, 126, 26, 127, 128, 129, 74, 0, 101, 57 }; xkeycaps-2.47/kbds/macstd-geom.h0000644000175000017500000000312310206731452014322 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the physical layout of the Apple Standard ADB keyboard * for X11R6 server on NetBSD/mac68k. By Ken Nakata . */ static const struct key_geometry macstd_geom_row0 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry macstd_geom_row1 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry macstd_geom_row2 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry macstd_geom_row3 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry macstd_geom_row4 [] = { {7, 7}, {7, 7}, {13, 7}, {7, 7}, {32, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry macstd_geom_rows [] = { ROW (macstd_geom_row0, 7), ROW (macstd_geom_row1, 7), ROW (macstd_geom_row2, 7), ROW (macstd_geom_row3, 7), ROW (macstd_geom_row4, 7), }; static const struct keyboard_geometry macstd_geom = { sizeof (macstd_geom_rows) / sizeof (struct keyboard_row_geometry), macstd_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/tek200-codes.h0000644000175000017500000000154710206731452014232 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * By Juergen Stuber . */ static const KeyCode tek200_codes [] = { /* Row 0 */ 15, 23, 106, 39, 47, 55, 63, 71, 79, 87, 18, 19, 20, 88, 89, 135, 136, 137, 138, 139, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 118, 111, 108, 16, 126, 103, 95, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 98, 109, 119, 117, 116, 125, 133, 140, /* Row 4 */ 25, 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 91, 107, 115, 123, 124, 132, /* Row 5 */ 26, 17, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 105, 104, 114, 113, 122, 130, 129, /* Row 6 */ 33, 49, 120, 121 }; xkeycaps-2.47/kbds/sgi5-codes.h0000644000175000017500000000142310206731452014065 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the SGI Iris keyboard. * By jwz for Irix 5.2. */ static const KeyCode sgi5_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, 95, 103, 106, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 111, 118, 119, 126, 127, 134, 140, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 100, 108, 109, 117, 116, 125, 133, 132, /* Row 4 */ 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 98, 115, 123, 124, /* Row 5 */ 26, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 107, 113, 122, 130, 129, /* Row 6 */ 25, 33, 49, 65, 96, 105, 104, 114, 120, 121 }; xkeycaps-2.47/kbds/xfree86uk-map.h0000644000175000017500000001036210206731452014527 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the default UK keymap used by the XFree86 X server. * By Ben Harris */ static const struct default_keycode_map xfree86uk_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl }}, { 12, 0, { XK_3, XK_sterling }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_at }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_numbersign, XK_asciitilde }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1, XK_F11 }}, { 68, 0, { XK_F2, XK_F12 }}, { 69, 0, { XK_F3, XK_F13 }}, { 70, 0, { XK_F4, XK_F14 }}, { 71, 0, { XK_F5, XK_F15 }}, { 72, 0, { XK_F6, XK_F16 }}, { 73, 0, { XK_F7, XK_F17 }}, { 74, 0, { XK_F8, XK_F18 }}, { 75, 0, { XK_F9, XK_F19 }}, { 76, 0, { XK_F10, XK_F20 }}, { 77, 0, { XK_Num_Lock }}, { 78, 0, { XK_Multi_key }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 94, 0, { XK_backslash, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 101, 0, { XK_Begin }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 114, 0, { XK_Break }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, Mod4Mask, { XK_Meta_R }}, { 117, 0, { XK_Menu }}, { 136, 0, { XK_KP_7 }}, { 137, 0, { XK_KP_8 }}, { 138, 0, { XK_KP_9 }}, { 139, 0, { XK_KP_4 }}, { 140, 0, { XK_KP_5 }}, { 141, 0, { XK_KP_6 }}, { 142, 0, { XK_KP_1 }}, { 143, 0, { XK_KP_2 }}, { 144, 0, { XK_KP_3 }}, { 145, 0, { XK_KP_0 }}, { 146, 0, { XK_KP_Decimal }}, { 147, 0, { XK_Home }}, { 148, 0, { XK_Up }}, { 149, 0, { XK_Prior }}, { 150, 0, { XK_Left }}, { 152, 0, { XK_Right }}, { 153, 0, { XK_End }}, { 154, 0, { XK_Down }}, { 155, 0, { XK_Next }}, { 156, 0, { XK_Insert }}, { 157, 0, { XK_Delete }}, }; xkeycaps-2.47/kbds/pc102sf-caps.h0000644000175000017500000000377210206731452014236 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the key surfaces of a "Keytronic" 102 key PC-style * keyboard, swedish/finnish layout. * By Tony Lindstrom */ static const struct key_strings pc102sf_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtScr", "SysRq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\275", "$", 0}, {"!", "1", 0}, {"\"", "2 @", 0}, {"#", "3 \243", 0}, {"\244","4 $", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"=", "0 }", 0}, {"?", "+ \\", 0}, {"`", "'", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0, 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"^", "\250 ~", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"*", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "< |", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/ga5k-map.h0000644000175000017500000000661610206731452013536 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Concurrent GA5000 keyboard. * By black@westford.ccur.com. */ static const struct default_keycode_map ga5k_map [] = { { 128, ShiftMask, { XK_Shift_L }}, { 129, ControlMask, { XK_Control_L }}, { 130, LockMask, { XK_Caps_Lock }}, { 133, 0, { XK_Pause, XK_Break }}, { 134, 0, { XK_KP_Enter }}, { 136, 0, { XK_BackSpace }}, { 137, 0, { XK_Tab }}, { 138, 0, { XK_Linefeed }}, { 139, ShiftMask, { XK_Shift_R }}, { 140, Mod1Mask, { XK_Meta_L }}, { 141, 0, { XK_Return }}, { 142, 0, { XK_KP_Decimal }}, { 143, 0, { XK_KP_0 }}, { 144, 0, { XK_Down }}, { 145, 0, { XK_Select }}, { 146, 0, { XK_Menu }}, { 147, 0, { XK_Left }}, { 148, 0, { XK_KP_3 }}, { 149, 0, { XK_KP_2 }}, { 150, 0, { XK_Right }}, { 151, 0, { XK_F2 }}, { 152, 0, { XK_F4 }}, { 153, 0, { XK_F6 }}, { 154, 0, { XK_F7 }}, { 155, 0, { XK_F9 }}, { 156, 0, { XK_F11 }}, { 157, 0, { XK_Insert }}, { 158, 0, { XK_Prior }}, { 159, 0, { XK_Next }}, { 160, 0, { XK_space }}, { 161, 0, { XK_End }}, { 162, 0, { XK_F1 }}, { 163, 0, { XK_F3 }}, { 164, 0, { XK_F5 }}, { 165, 0, { XK_F8 }}, { 166, 0, { XK_F10 }}, { 167, 0, { XK_apostrophe, XK_quotedbl }}, { 168, 0, { XK_F12 }}, { 169, 0, { XK_Home }}, { 170, 0, { XK_Help }}, { 171, 0, { XK_Num_Lock }}, { 172, 0, { XK_comma, XK_less }}, { 173, 0, { XK_minus, XK_underscore }}, { 174, 0, { XK_period, XK_greater }}, { 175, 0, { XK_slash, XK_question }}, { 176, 0, { XK_0, XK_parenright }}, { 177, 0, { XK_1, XK_exclam }}, { 178, 0, { XK_2, XK_at }}, { 179, 0, { XK_3, XK_numbersign }}, { 180, 0, { XK_4, XK_dollar }}, { 181, 0, { XK_5, XK_percent }}, { 182, 0, { XK_6, XK_asciicircum }}, { 183, 0, { XK_7, XK_ampersand }}, { 184, 0, { XK_8, XK_asterisk }}, { 185, 0, { XK_9, XK_parenleft }}, /* #### BUG!! What is the keycode of this key?? */ { 185, 0, { XK_c, XK_C }}, { 186, 0, { XK_KP_Divide }}, { 187, 0, { XK_semicolon, XK_colon }}, { 188, 0, { XK_grave, XK_asciitilde }}, { 189, 0, { XK_equal, XK_plus }}, { 191, 0, { XK_KP_Multiply }}, { 193, 0, { XK_a, XK_A }}, { 194, 0, { XK_b, XK_B }}, { 196, 0, { XK_d, XK_D }}, { 197, 0, { XK_e, XK_E }}, { 198, 0, { XK_f, XK_F }}, { 199, 0, { XK_g, XK_G }}, { 200, 0, { XK_h, XK_H }}, { 201, 0, { XK_i, XK_I }}, { 202, 0, { XK_j, XK_J }}, { 203, 0, { XK_k, XK_K }}, { 204, 0, { XK_l, XK_L }}, { 205, 0, { XK_m, XK_M }}, { 206, 0, { XK_n, XK_N }}, { 207, 0, { XK_o, XK_O }}, { 208, 0, { XK_p, XK_P }}, { 209, 0, { XK_q, XK_Q }}, { 210, 0, { XK_r, XK_R }}, { 211, 0, { XK_s, XK_S }}, { 212, 0, { XK_t, XK_T }}, { 213, 0, { XK_u, XK_U }}, { 214, 0, { XK_v, XK_V }}, { 215, 0, { XK_w, XK_W }}, { 216, 0, { XK_x, XK_X }}, { 217, 0, { XK_y, XK_Y }}, { 218, 0, { XK_z, XK_Z }}, { 220, 0, { XK_backslash, XK_bar }}, { 221, 0, { XK_bracketright, XK_braceright }}, { 227, 0, { XK_bracketleft, XK_braceleft }}, { 230, 0, { XK_KP_Subtract }}, { 231, 0, { XK_KP_9 }}, { 232, 0, { XK_KP_7 }}, { 234, 0, { XK_KP_8 }}, { 239, 0, { XK_KP_6 }}, { 240, 0, { XK_KP_4 }}, { 241, 0, { XK_Up }}, { 242, 0, { XK_KP_Add }}, { 243, 0, { XK_KP_5 }}, { 244, 0, { XK_KP_1 }}, { 245, 0, { XK_Escape }}, { 255, 0, { XK_Delete }} }; xkeycaps-2.47/kbds/NeXT-geom.h0000644000175000017500000000305710206731452013673 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the NeXTstation non-ADB * keyboard for the co-Xist 3.0 X server. By Eric Benson . */ static const struct key_geometry NeXT_geom_row0 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 7}, {25, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry NeXT_geom_row1 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {25, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry NeXT_geom_row2 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {25, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry NeXT_geom_row3 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {9, 0}, {7, 7}, {9, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry NeXT_geom_row4 [] = { {10, 7}, {10, 7}, {61, 7}, {10, 7}, {10, 7}, {2, 0}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry NeXT_geom_rows [] = { ROW (NeXT_geom_row0, 7), ROW (NeXT_geom_row1, 7), ROW (NeXT_geom_row2, 7), ROW (NeXT_geom_row3, 7), ROW (NeXT_geom_row4, 7), }; static const struct keyboard_geometry NeXT_geom = { sizeof (NeXT_geom_rows) / sizeof (struct keyboard_row_geometry), NeXT_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/nws1250-geom.h0000644000175000017500000000321710206731452014172 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the SONY laptop workstation * NWS1250 keyboard. By Pavel Rosendorf */ static const struct key_geometry nws1250_geom_row0 [] = { {8, 8}, {6, 0}, {9, 8}, {9, 8}, {9, 8}, {9, 8}, {9, 8}, {3, 0}, {9, 8}, {9, 8}, {9, 8}, {9, 8}, {9, 8} }; static const struct key_geometry nws1250_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7} }; static const struct key_geometry nws1250_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {8, 7} }; static const struct key_geometry nws1250_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {13, 7} }; static const struct key_geometry nws1250_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7} }; static const struct key_geometry nws1250_geom_row6 [] = { {9, 7}, {7, 7}, {7, 7}, {9, 7}, {31, 7}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 7} }; static const struct keyboard_row_geometry nws1250_geom_rows [] = { ROW (nws1250_geom_row0, 7), EMPTYROW (3), ROW (nws1250_geom_row2, 7), ROW (nws1250_geom_row3, 7), ROW (nws1250_geom_row4, 7), ROW (nws1250_geom_row5, 7), ROW (nws1250_geom_row6, 7), }; static const struct keyboard_geometry nws1250_geom = { sizeof (nws1250_geom_rows) / sizeof (struct keyboard_row_geometry), nws1250_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/hppc-map.h0000644000175000017500000000662210206731452013636 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the HP PC keyboard. * By Markus Stumpf */ static const struct default_keycode_map hppc_map [] = { { 8, ControlMask, { XK_Control_R }}, { 10, Mod1Mask, { XK_Alt_R }}, { 11, Mod1Mask, { XK_Alt_L }}, { 12, ShiftMask, { XK_Shift_R }}, { 13, ShiftMask, { XK_Shift_L }}, { 14, ControlMask, { XK_Control_L }}, { 15, 0, { XK_Pause, XK_Break }}, { 16, 0, { XK_KP_4, XK_Left }}, { 17, 0, { XK_KP_8, XK_Up }}, { 18, 0, { XK_KP_5 }}, { 19, 0, { XK_KP_9, XK_Prior }}, { 20, 0, { XK_KP_6, XK_Right }}, { 21, 0, { XK_KP_7, XK_Home }}, { 23, 0, { XK_KP_Enter }}, { 24, 0, { XK_KP_1, XK_End }}, { 25, 0, { XK_KP_Divide }}, { 26, 0, { XK_KP_2, XK_Down }}, { 27, 0, { XK_KP_Add }}, { 28, 0, { XK_KP_3, XK_Next }}, { 29, 0, { XK_KP_Multiply }}, { 30, 0, { XK_KP_0, XK_Insert }}, { 31, 0, { XK_KP_Subtract }}, { 32, 0, { XK_B }}, { 33, 0, { XK_V }}, { 34, 0, { XK_C }}, { 35, 0, { XK_X }}, { 36, 0, { XK_Z }}, { 39, 0, { XK_Escape, XK_Delete }}, { 41, 0, { XK_F10, XK_KP_F2 }}, { 43, 0, { XK_F11, XK_KP_F3 }}, { 44, 0, { XK_KP_Decimal, XK_Delete }}, { 45, 0, { XK_F9, XK_KP_F1 }}, { 47, 0, { XK_F12, XK_KP_F4 }}, { 48, 0, { XK_H }}, { 49, 0, { XK_G }}, { 50, 0, { XK_F }}, { 51, 0, { XK_D }}, { 52, 0, { XK_S }}, { 53, 0, { XK_A }}, { 55, LockMask, { XK_Caps_Lock }}, { 56, 0, { XK_U }}, { 57, 0, { XK_Y }}, { 58, 0, { XK_T }}, { 59, 0, { XK_R }}, { 60, 0, { XK_E }}, { 61, 0, { XK_W }}, { 62, 0, { XK_Q }}, { 63, 0, { XK_Tab, hpXK_BackTab }}, { 64, 0, { XK_7, XK_ampersand }}, { 65, 0, { XK_6, XK_asciicircum }}, { 66, 0, { XK_5, XK_percent }}, { 67, 0, { XK_4, XK_dollar }}, { 68, 0, { XK_3, XK_numbersign }}, { 69, 0, { XK_2, XK_at }}, { 70, 0, { XK_1, XK_exclam }}, { 71, 0, { XK_grave, XK_asciitilde }}, { 80, 0, { XK_Print }}, { 81, 0, { XK_F4 }}, { 82, 0, { XK_F3 }}, { 83, 0, { XK_F2 }}, { 84, 0, { XK_F1 }}, { 86, 0, { XK_Scroll_Lock }}, { 88, Mod5Mask, { XK_Num_Lock, XK_Num_Lock }}, { 89, 0, { XK_F5 }}, { 90, 0, { XK_F6 }}, { 91, 0, { XK_F7 }}, { 92, 0, { XK_F8 }}, { 96, 0, { XK_8, XK_asterisk }}, { 97, 0, { XK_9, XK_parenleft }}, { 98, 0, { XK_0, XK_parenright }}, { 99, 0, { XK_minus, XK_underscore }}, { 100, 0, { XK_equal, XK_plus }}, { 101, 0, { XK_BackSpace }}, { 104, 0, { XK_I }}, { 105, 0, { XK_O }}, { 106, 0, { XK_P }}, { 107, 0, { XK_bracketleft, XK_braceleft }}, { 108, 0, { XK_bracketright, XK_braceright }}, { 109, 0, { XK_backslash, XK_bar }}, { 110, 0, { XK_Insert }}, { 111, 0, { XK_Delete }}, { 112, 0, { XK_J }}, { 113, 0, { XK_K }}, { 114, 0, { XK_L }}, { 115, 0, { XK_semicolon, XK_colon }}, { 116, 0, { XK_apostrophe, XK_quotedbl }}, { 117, 0, { XK_Return }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_M }}, { 121, 0, { XK_comma, XK_less }}, { 122, 0, { XK_period, XK_greater }}, { 123, 0, { XK_slash, XK_question }}, { 125, 0, { XK_End }}, { 127, 0, { XK_Next }}, { 128, 0, { XK_N }}, { 129, 0, { XK_space }}, { 132, 0, { XK_Left }}, { 133, 0, { XK_Down }}, { 134, 0, { XK_Up }}, { 135, 0, { XK_Right }} }; xkeycaps-2.47/kbds/sun5fr-caps.h0000644000175000017500000000464310206731452014300 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surfaces of the Sun French type 5 keyboard. * By Olivier STEPHANT, nov.1997. * This keyboard meet the TUV standard. * Defined from Sun document "Notes claviers Sun type 5" ref. #800-6803-10 * */ static const struct key_strings sun5fr_caps [] = { /* Row 0 */ {"Aide", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Impr.", "\351cran", 0}, {"Arr\352t", "d\351fil.", 0}, {"Pause", 0}, {"Degauss", "Muet", 0}, {"Contr-", "Son -", 0}, {"Contr+", "Son +", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Encore", 0}, {"\262", 0}, {"1", "&", 0}, {"2", "\351", "~"}, {"3", "\"", "#"}, {"4", "'", "{"}, {"5", "(", "["}, {"6", "-", "|"}, {"7", "\350", "`"}, {"8", "_", "\\"}, {"9", "\347", "^"}, {"0", "\340", "@"}, {"\260", ")", "]"}, {"+", "=", "}"}, {"Back", 0, 0}, {"Inser.", 0}, {"Debut", 0}, {"Pr\351c", 0}, {"Verr", "Num\351", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Annu", "ler", 0}, {"Tab", 0}, {"A", 0}, {"Z", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\250", "^", 0}, {"\243", "$", "\244"}, {"Retour", 0}, {"Suppr.", 0}, {"Fin", 0}, {"Suiv", 0}, {"7", "D\351but", 0}, {"8", "upArrow", 0}, {"9", "Pr\351c", 0}, {"+", 0}, /* Row 3 */ {"Devant", 0}, {"Copier", 0}, {"Verr Maj", 0}, {"Q", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"M", 0}, {"%", "\371", 0}, {"\265", "*", 0}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Ouvrir", 0}, {"Coller", 0}, {"Maj", 0}, {">", "<", 0}, {"W", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"?", ",", 0}, {".", ";", 0}, {"/", ":", 0}, {"\247", "!", 0}, {"Maj", 0}, {"upArrow", 0}, {"1", "Fin", 0}, {"2", "downArrow", 0}, {"3", "Suiv", 0}, {"Entr\351e", 0}, /* Row 5 */ {"Cher.", 0}, {"Couper", 0}, {"Control", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Com-", "poser", 0}, {"Alt.", "Graph.", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Inser.", 0}, {".", "Suppr.", 0} }; xkeycaps-2.47/kbds/macstd-codes.h0000644000175000017500000000126110206731452014471 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996 * Jamie Zawinski * * This file describes the keycodes of the Apple Standard ADB keyboard * for X11R6 server on NetBSD/mac68k. By Ken Nakata . */ static const KeyCode macstd_codes [] = { /* Row 0 */ 53, 18, 19, 20, 21, 23, 22, 26, 28, 25, 29, 27, 24, 51, 71, 81, 75, 67, /* Row 1 */ 48, 12, 13, 14, 15, 17, 16, 32, 34, 31, 35, 33, 30, 89, 91, 92, 69, /* Row 2 */ 54, 0, 1, 2, 3, 5, 4, 38, 40, 37, 41, 39, 36, 86, 87, 88, 78, /* Row 3 */ 56, 6, 7, 8, 9, 11, 45, 46, 43, 47, 44, 56, 83, 84, 85, 76, /* Row 4 */ 57, 58, 55, 50, 49, 42, 59, 60, 61, 62, 82, 65 }; xkeycaps-2.47/kbds/amiga-codes.h0000644000175000017500000000227110206731452014276 0ustar cbcb/* xkeycaps, Copyright (c) 1991-1998 Jamie Zawinski * * This file describes the keycodes of an Amiga (Non-A1000,German) keyboard * on Linux with Xfree68. By Peter Remmers */ static const KeyCode amiga_codes [] = { /* Row 0 */ 77, /* ESC */ 88, 89, 90, 91, 92, /* F1 - F5 */ 93, 94, 95, 96, 97, /* F6 - F10 */ /* Row 2 ` 1 2 3 4 5 6 7 8 9 0 ß ' \ <- */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 73, 78, 103, /* Del Help */ 98, 99, 100, 101, /* [ ] / * */ /* Row 3 Tab Q W E R T Y U I O P Ü + */ 74, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 76, 69, 70, 71, 82, /* Return KP7 KP8 KP9 KP- */ /* Row 4 Ctl Caps A S D F G H J K L Ö Ä # */ 107, 106, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 84, 53, 54, 55, 102, /* Up KP4 KP5 KP6 KP+ */ /* Row 5 LSHF LT Y X C V B N M , . - RSHF */ 104, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 105, 87, 85, 86, 37, 38, 39, 75, /* Left Down Right KP1 KP2 KP3 KPENT */ /* Row 6 LALT LAMI SPC RAMI RALT KP0 KP. */ 108, 110, 72, 111, 109, 23, 68 }; xkeycaps-2.47/kbds/pc102-geom.h0000644000175000017500000000371010206731452013676 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of a generic 102 key PC keyboard, * like the NCD X terminal N102 keyboard. * By Pekka Nikander */ static const struct key_geometry pc102_geom_row0 [] = { {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {9, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc102_geom_row4 [] = { {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {38, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc102_geom_row5 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {20, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc102_geom_row6 [] = { {11, 7}, {7, 0}, {11, 7}, {48, 7}, {11, 7}, {7, 0}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc102_geom_rows [] = { ROW (pc102_geom_row0, 7), EMPTYROW (5), ROW (pc102_geom_row2, 7), ROW (pc102_geom_row3, 7), ROW (pc102_geom_row4, 7), ROW (pc102_geom_row5, 7), ROW (pc102_geom_row6, 7), }; static const struct keyboard_geometry pc102_geom = { sizeof (pc102_geom_rows) / sizeof (struct keyboard_row_geometry), pc102_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/xfree86us-map.h0000644000175000017500000000756410206731452014551 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default US keymap used by the XFree86 X server. * Created by jwz against XFree86 3.3.2 on 20-Jun-99. */ static const struct default_keycode_map xfree86us_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 92, 0, { XK_Print }}, { 93, 0, { XK_Down }}, { 94, 0, { XK_less, XK_greater }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 101, 0, { XK_Begin }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R }}, { 114, 0, { XK_Break }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, Mod4Mask, { XK_Meta_R }}, { 117, 0, { XK_Menu }}, { 131, 0, { 0 }}, { 129, 0, { 0 }} }; xkeycaps-2.47/kbds/hpps2din_de-map.h0000644000175000017500000001155510206731452015104 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * HP PS2_DIN keyboard (German Version) default map * Generated by Michael Piotrowski on a * B132L running HP-UX 10.20 */ static const struct default_keycode_map hpps2din_de_map [] = { { 16, 0, { XK_F1 }}, { 17, 0, { XK_Escape }}, { 22, 0, { XK_Tab, hpXK_BackTab }}, { 23, 0, { XK_asciicircum, XK_degree }}, { 24, 0, { XK_F2 }}, { 26, ControlMask, { XK_Control_L }}, { 27, ShiftMask, { XK_Shift_L }}, { 28, 0, { XK_less, XK_greater, XK_bar }}, { 29, LockMask, { XK_Caps_Lock }}, { 30, 0, { XK_q, XK_Q, XK_at }}, { 31, 0, { XK_1, XK_exclam, XK_exclamdown, XK_exclamdown }}, { 32, 0, { XK_F3 }}, { 33, 0, { XK_Kanji }}, { 34, Mod1Mask, { XK_Alt_L }}, { 35, 0, { XK_y, XK_Y }}, { 36, 0, { XK_s, XK_S, XK_ssharp, XK_ssharp }}, { 37, 0, { XK_a, XK_A, XK_aring, XK_Aring }}, { 38, 0, { XK_w, XK_W, XK_asciitilde, XK_asciitilde }}, { 39, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 40, 0, { XK_F4 }}, { 42, 0, { XK_c, XK_C, XK_ccedilla, XK_Ccedilla }}, { 43, 0, { XK_x, XK_X, XK_scaron, XK_Scaron }}, { 44, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 45, 0, { XK_e, XK_E, XK_ae, XK_AE }}, { 46, 0, { XK_4, XK_dollar, XK_onequarter, hpXK_Ydiaeresis }}, { 47, 0, { XK_3, XK_section, XK_threesuperior }}, { 48, 0, { XK_F5 }}, { 50, 0, { XK_space }}, { 51, 0, { XK_v, XK_V, XK_section, XK_section }}, { 52, 0, { XK_f, XK_F, hpXK_guilder, hpXK_guilder }}, { 53, 0, { XK_t, XK_T, XK_usldead_grave, XK_usldead_grave }}, { 54, 0, { XK_r, XK_R, XK_usldead_acute, XK_usldead_acute }}, { 55, 0, { XK_5, XK_percent, XK_onehalf, XK_onehalf }}, { 56, 0, { XK_F6 }}, { 58, 0, { XK_n, XK_N, XK_ordfeminine, XK_ordfeminine }}, { 59, 0, { XK_b, XK_B, hpXK_block, hpXK_block }}, { 60, 0, { XK_h, XK_H, XK_yen, XK_yen }}, { 61, 0, { XK_g, XK_G, XK_currency, XK_currency }}, { 62, 0, { XK_z, XK_Z, XK_usldead_asciicircum, XK_usldead_asciicircum }}, { 63, 0, { XK_6, XK_ampersand }}, { 64, 0, { XK_F7 }}, { 65, 0, { XK_Kanji }}, { 66, Mod1Mask, { XK_Alt_R }}, { 67, 0, { XK_m, XK_M, XK_mu }}, { 68, 0, { XK_j, XK_J, XK_dollar, XK_dollar }}, { 69, 0, { XK_u, XK_U, XK_usldead_diaeresis, XK_usldead_diaeresis }}, { 70, 0, { XK_7, XK_slash, XK_braceleft }}, { 71, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 72, 0, { XK_F8 }}, { 74, 0, { XK_comma, XK_semicolon }}, { 75, 0, { XK_k, XK_K, XK_cent, XK_cent }}, { 76, 0, { XK_i, XK_I, XK_usldead_asciitilde, XK_usldead_asciitilde }}, { 77, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 78, 0, { XK_0, XK_equal, XK_braceright }}, { 79, 0, { XK_9, XK_parenright, XK_bracketright }}, { 80, 0, { XK_F9, XK_KP_F1 }}, { 82, 0, { XK_period, XK_colon }}, { 83, 0, { XK_minus, XK_underscore }}, { 84, 0, { XK_l, XK_L, XK_sterling, XK_sterling }}, { 85, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 86, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 87, 0, { XK_ssharp, XK_question, XK_backslash }}, { 88, 0, { XK_F10, XK_KP_F2 }}, { 91, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 92, 0, { XK_numbersign, XK_apostrophe }}, { 93, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 94, 0, { XK_apostrophe, XK_grave }}, { 95, 0, { XK_F11, XK_KP_F3 }}, { 96, 0, { XK_Print, XK_Sys_Req }}, { 97, ControlMask, { XK_Control_R }}, { 98, ShiftMask, { XK_Shift_R }}, { 99, 0, { XK_Return }}, { 100, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 103, 0, { XK_F12, XK_KP_F4 }}, { 104, 0, { XK_Scroll_Lock }}, { 105, 0, { XK_Down }}, { 106, 0, { XK_Left }}, { 107, 0, { XK_Pause, XK_Break }}, { 108, 0, { XK_Up }}, { 109, 0, { XK_Delete }}, { 110, 0, { XK_End }}, { 111, 0, { XK_BackSpace }}, { 112, 0, { XK_Insert }}, { 114, 0, { XK_KP_1, XK_KP_End }}, { 115, 0, { XK_Right }}, { 116, 0, { XK_KP_4, XK_KP_Left }}, { 117, 0, { XK_KP_7, XK_KP_Home }}, { 118, 0, { XK_Next }}, { 119, 0, { XK_Home }}, { 120, 0, { XK_Prior }}, { 121, 0, { XK_KP_0, XK_KP_Insert }}, { 122, 0, { XK_KP_Separator, XK_KP_Delete }}, { 123, 0, { XK_KP_2, XK_KP_Down }}, { 124, 0, { XK_KP_5 }}, { 125, 0, { XK_KP_6, XK_KP_Right }}, { 126, 0, { XK_KP_8, XK_KP_Up }}, { 127, 0, { XK_Num_Lock }}, { 128, 0, { XK_KP_Divide }}, { 130, 0, { XK_KP_Enter }}, { 131, 0, { XK_KP_3, XK_KP_Next }}, { 132, Mod1Mask, { XK_Mode_switch }}, { 133, 0, { XK_KP_Add }}, { 134, 0, { XK_KP_9, XK_KP_Prior }}, { 135, 0, { XK_KP_Multiply }}, { 141, 0, { XK_KP_Subtract }}, { 148, 0, { XK_Meta_L }}, { 149, 0, { XK_Meta_R }}, { 150, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/sun2-caps.h0000644000175000017500000000322110206731452013734 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Sun type 2 keyboard. */ static const struct key_strings sun2_caps [] = { /* Row 0 */ {"L1", 0}, {"L2", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"Break", 0}, {"R1", 0}, {"R2", 0}, {"R3", 0}, /* Row 1 */ {"L3", 0}, {"L4", 0}, {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"~", "`", 0}, {"Back ", "Space", 0}, {"R4", 0}, {"R5", 0}, {"R6", 0}, /* Row 2 */ {"L5", 0}, {"L6", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Del", 0}, {"R7", 0}, {"R8", "UpArrow", 0}, {"R9", 0}, /* Row 3 */ {"L7", 0}, {"L8", 0}, {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"\\", "|", 0}, {"Return", 0}, {"R10", "LeftArrow", 0}, {"R11", 0}, {"R12", "RightArrow", 0}, /* Row 4 */ {"L9", 0}, {"L10", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"Line ", "Feed", 0}, {"R13", 0}, {"R14", "DownArrow", 0}, {"R15", 0}, /* Row 5 */ {"Left", 0}, {" ", 0}, {"Right", 0} }; xkeycaps-2.47/kbds/tek401sf-map.h0000644000175000017500000000670410206731452014246 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the swedish/finnish keymap of the Tektronix * LK401 keyboard. * By Torbj|rn Lindgren */ static const struct default_keycode_map tek401sf_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_asciitilde, XK_degree }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, Mod2Mask, { XK_Multi_key }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 40, Mod1Mask, { XK_Alt_L }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_section }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 56, Mod1Mask, { XK_Alt_R }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 65, Mod2Mask, { XK_Multi_key }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 85, 0, { XK_P }}, { 86, 0, { XK_plus, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, 0, { XK_Help }}, { 90, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 91, 0, { XK_apostrophe, XK_asterisk }}, { 92, 0, { XK_aring, XK_Aring }}, { 93, 0, { XK_asciicircum, XK_grave }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { 0x1000ff17, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/xline101-map.h0000644000175000017500000000763110206731452014246 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keymap of a US 101-key PC keyboard * attached to a Pericom X-Line X server. * By Ben Harris */ static const struct default_keycode_map xline101_map [] = { { 8, 0, { XK_Escape, XK_Escape }}, { 9, 0, { XK_1, XK_exclam }}, { 10, 0, { XK_2, XK_at }}, { 11, 0, { XK_3, XK_numbersign }}, { 12, 0, { XK_4, XK_dollar }}, { 13, 0, { XK_5, XK_percent }}, { 14, 0, { XK_6, XK_asciicircum }}, { 15, 0, { XK_7, XK_ampersand }}, { 16, 0, { XK_8, XK_asterisk }}, { 17, 0, { XK_9, XK_parenleft }}, { 18, 0, { XK_0, XK_parenright }}, { 19, 0, { XK_minus, XK_underscore }}, { 20, 0, { XK_equal, XK_plus }}, { 21, 0, { XK_BackSpace, XK_BackSpace }}, { 22, 0, { XK_Tab, XK_Tab }}, { 23, 0, { XK_q, XK_Q }}, { 24, 0, { XK_w, XK_W }}, { 25, 0, { XK_e, XK_E }}, { 26, 0, { XK_r, XK_R }}, { 27, 0, { XK_t, XK_T }}, { 28, 0, { XK_y, XK_Y }}, { 29, 0, { XK_u, XK_U }}, { 30, 0, { XK_i, XK_I }}, { 31, 0, { XK_o, XK_O }}, { 32, 0, { XK_p, XK_P }}, { 33, 0, { XK_bracketleft, XK_braceleft }}, { 34, 0, { XK_bracketright, XK_braceright }}, { 35, 0, { XK_Return, XK_Return }}, { 36, ControlMask, { XK_Control_L, XK_Control_L }}, { 37, 0, { XK_a, XK_A }}, { 38, 0, { XK_s, XK_S }}, { 39, 0, { XK_d, XK_D }}, { 40, 0, { XK_f, XK_F }}, { 41, 0, { XK_g, XK_G }}, { 42, 0, { XK_h, XK_H }}, { 43, 0, { XK_j, XK_J }}, { 44, 0, { XK_k, XK_K }}, { 45, 0, { XK_l, XK_L }}, { 46, 0, { XK_semicolon, XK_colon }}, { 47, 0, { XK_apostrophe, XK_quotedbl }}, { 48, 0, { XK_grave, XK_asciitilde }}, { 49, ShiftMask, { XK_Shift_L, XK_Shift_L }}, { 50, 0, { XK_backslash, XK_bar }}, { 51, 0, { XK_z, XK_Z }}, { 52, 0, { XK_x, XK_X }}, { 53, 0, { XK_c, XK_C }}, { 54, 0, { XK_v, XK_V }}, { 55, 0, { XK_b, XK_B }}, { 56, 0, { XK_n, XK_N }}, { 57, 0, { XK_m, XK_M }}, { 58, 0, { XK_comma, XK_less }}, { 59, 0, { XK_period, XK_greater }}, { 60, 0, { XK_slash, XK_question }}, { 61, ShiftMask, { XK_Shift_R, XK_Shift_R }}, { 62, 0, { XK_KP_Multiply, XK_KP_Multiply }}, { 63, Mod1Mask, { XK_Alt_L, XK_Alt_L }}, { 64, 0, { XK_space, XK_space }}, { 65, LockMask, { XK_Caps_Lock, XK_Caps_Lock }}, { 66, 0, { XK_F1, XK_F1 }}, { 67, 0, { XK_F2, XK_F2 }}, { 68, 0, { XK_F3, XK_F3 }}, { 69, 0, { XK_F4, XK_F4 }}, { 70, 0, { XK_F5, XK_F5 }}, { 71, 0, { XK_F6, XK_F6 }}, { 72, 0, { XK_F7, XK_F7 }}, { 73, 0, { XK_F8, XK_F8 }}, { 74, 0, { XK_F9, XK_F9 }}, { 75, 0, { XK_F10, XK_F10 }}, { 76, 0, { XK_Num_Lock, XK_Num_Lock }}, { 77, 0, { XK_Scroll_Lock, XK_Scroll_Lock }}, { 78, 0, { XK_KP_7, XK_KP_7 }}, { 79, 0, { XK_KP_8, XK_KP_8 }}, { 80, 0, { XK_KP_9, XK_KP_9 }}, { 81, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 82, 0, { XK_KP_4, XK_KP_4 }}, { 83, 0, { XK_KP_5, XK_KP_5 }}, { 84, 0, { XK_KP_6, XK_KP_6 }}, { 85, 0, { XK_KP_Add, XK_KP_Add }}, { 86, 0, { XK_KP_1, XK_KP_1 }}, { 87, 0, { XK_KP_2, XK_KP_2 }}, { 88, 0, { XK_KP_3, XK_KP_3 }}, { 89, 0, { XK_KP_0, XK_KP_0 }}, { 90, 0, { XK_KP_Decimal, XK_KP_Decimal }}, { 91, 0, { XK_Print, XK_Print }}, { 92, Mod1Mask, { XK_Alt_R, XK_Alt_R }}, { 94, 0, { XK_F11, XK_F11 }}, { 95, 0, { XK_F12, XK_F12 }}, { 96, ControlMask, { XK_Control_R, XK_Control_R }}, { 97, 0, { XK_Insert, XK_Insert }}, { 98, 0, { XK_Home, XK_Home }}, { 99, 0, { XK_Prior, XK_Prior }}, { 100, 0, { XK_Delete, XK_Delete }}, { 101, 0, { XK_End, XK_End }}, { 102, 0, { XK_Next, XK_Next }}, { 103, 0, { XK_KP_Divide, XK_KP_Divide }}, { 104, 0, { XK_KP_Enter, XK_KP_Enter }}, { 105, 0, { XK_Left, XK_Left }}, { 106, 0, { XK_Right, XK_Right }}, { 107, 0, { XK_Up, XK_Up }}, { 108, 0, { XK_Down, XK_Down }} }; xkeycaps-2.47/kbds/sun5jp-codes.h0000644000175000017500000000162610206731452014447 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Sun type 5 Japanese keyboard. * By Kazutaka Yokota (yokota@zodiac.mech.utsunomiya-u.ac.jp). */ static const KeyCode sun5jp_codes [] = { /* Row 0 */ 125, 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 52, 9, 11, 55, /* Row 1 */ 8, 10, 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 32, 33, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 56, 58, 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, /* Row 4 */ 79, 80, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 118, 117, 27, 119, 120, 121, 97, /* Row 5 */ 102, 104, 83, 26, 127, 122, 128, 123, 124, 129, 74, 20, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/pc102be-caps.h0000644000175000017500000000406110206731452014204 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the key surfaces of a belgian-like (azerty) 102 keys * PC-style keyboard. * By Bart Van Cutsem */ static const struct key_strings pc102be_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Scrn", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, /* Row 2 */ {"\263", "\262", 0}, {"1", "& |", 0}, {"2", "\351 @", 0}, {"3", "\" #", 0}, {"4", "'", 0}, {"5", "(", 0}, {"6", "\247 ^",0}, {"7", "\350", 0}, {"8", "!", 0}, {"9", "\347 {", 0}, {"0", "\340 }", 0}, {"\260", ")", 0}, {"_", "-", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"A", 0}, {"Z", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\250", "^ [", 0 }, {"*", "$ ]", 0 }, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"Q", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"M", 0}, {"%", "\371 '", 0}, {"\243", "\265 `", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "< \\", 0}, {"W", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"?", ",", 0}, {".", ";", 0}, {"/", ":", 0}, {"+", "= ~", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/ms104-hpux-codes.h0000644000175000017500000000132010206731452015040 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski */ static const KeyCode ms104_hpux_codes [] = { /* Row 0 */ 17, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 95, 103, 96, 104, 107, /* Row 2 */ 23, 31, 39, 47, 46, 55, 63, 70, 71, 79, 78, 87, 94, 111, 112, 119, 120, 127, 128, 135, 141, /* Row 3 */ 22, 30, 38, 45, 54, 53, 62, 69, 76, 77, 86, 93, 100, 101, 109, 110, 118, 117, 126, 134, 133, /* Row 4 */ 29, 37, 36, 44, 52, 61, 60, 68, 75, 84, 85, 91, 99, 116, 124, 125, /* Row 5 */ 27, 35, 43, 42, 51, 59, 58, 67, 74, 82, 83, 98, 108, 114, 123, 131, 130, /* Row 6 */ 26, 148, 34, 50, 66, 149, 150, 97, 106, 105, 115, 121, 122 }; xkeycaps-2.47/kbds/ncd108-geom.h0000644000175000017500000000470710206731452014055 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the NCD N108 and VT220 keyboards. */ static const struct key_geometry ncd108_geom_row0 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 0}, {8, 7}, {16, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd108_geom_row2 [] = { {5, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {12, 0}, {8, 7}, {8, 7}, {8, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd108_geom_row3 [] = { {5, 0}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {8, 14}, {8, 0}, {8, 7}, {8, 7}, {8, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd108_geom_row4 [] = { {7, 7}, {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {24, 0}, {8, 7}, {15, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd108_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {16, 7}, {10, 0}, {8, 7}, {8, 7}, {8, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ncd108_geom_row6 [] = { {7, 0}, {13, 7}, {7, 7}, {47, 7}, {7, 7}, {13, 7}, {56, 0}, {14, 7}, {7, 7} }; static const struct key_geometry ncd220_geom_row6 [] = { {9, 0}, {16, 7}, {64, 7}, {61, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry ncd108_geom_rows [] = { ROW (ncd108_geom_row0, 7), EMPTYROW (7), ROW (ncd108_geom_row2, 7), ROW (ncd108_geom_row3, 7), ROW (ncd108_geom_row4, 7), ROW (ncd108_geom_row5, 7), ROW (ncd108_geom_row6, 7), }; static const struct keyboard_row_geometry ncd220_geom_rows [] = { ROW (ncd108_geom_row0, 7), EMPTYROW (7), ROW (ncd108_geom_row2, 7), ROW (ncd108_geom_row3, 7), ROW (ncd108_geom_row4, 7), ROW (ncd108_geom_row5, 7), ROW (ncd220_geom_row6, 7), }; static const struct keyboard_geometry ncd108_geom = { sizeof (ncd108_geom_rows) / sizeof (struct keyboard_row_geometry), ncd108_geom_rows, 6, 3, 3 }; static const struct keyboard_geometry ncd220_geom = { sizeof (ncd220_geom_rows) / sizeof (struct keyboard_row_geometry), ncd220_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/amiga96-geom.h0000644000175000017500000000366010206731452014312 0ustar cbcb/* xkeycaps, Copyright (c) 1991-1998 Jamie Zawinski * * This file describes the physical layout of a 96-key german non-A1000 * Amiga keyboard, with keys cut out of the left shift and the return key. * By Peter Remmers */ static const struct key_geometry amiga96_geom_row0 [] = { {8, 8}, {4, 0}, {10, 8}, {10, 8}, {10, 8}, {10, 8}, {10, 8}, {4, 0}, {10, 8}, {10, 8}, {10, 8}, {10, 8}, {10, 8} }; static const struct key_geometry amiga96_geom_row2 [] = { {12, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {4, 0}, {12, 8}, {12, 8}, {4, 0}, {8, 8}, {8, 8}, {8, 8}, {8, 8} }; static const struct key_geometry amiga96_geom_row3 [] = { {16, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {2, 0}, {10, 16}, {32, 0}, {8, 8}, {8, 8}, {8, 8}, {8, 8} }; static const struct key_geometry amiga96_geom_row4 [] = { {10, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {22,0}, {8, 8}, {12,0}, {8, 8}, {8, 8}, {8, 8}, {8, 8} }; static const struct key_geometry amiga96_geom_row5 [] = { {14, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {8, 8}, {22, 8}, {4, 0}, {8, 8}, {8, 8}, {8, 8}, {4, 0}, {8, 8}, {8, 8}, {8, 8}, {8, 16} }; static const struct key_geometry amiga96_geom_row6 [] = { {6, 0}, {10, 8}, {10, 8}, {72, 8}, {10, 8}, {10, 8}, {38, 0}, {16, 8}, {8, 8} }; static const struct keyboard_row_geometry amiga96_geom_rows [] = { ROW (amiga96_geom_row0, 8), EMPTYROW (4), ROW (amiga96_geom_row2, 8), ROW (amiga96_geom_row3, 8), ROW (amiga96_geom_row4, 8), ROW (amiga96_geom_row5, 8), ROW (amiga96_geom_row6, 8), }; static const struct keyboard_geometry amiga96_geom = { sizeof (amiga96_geom_rows) / sizeof (struct keyboard_row_geometry), amiga96_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/pc102de-caps.h0000644000175000017500000000411410206731452014205 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of a "Cherry" 102 key PC-style * keyboard, german layout. * By Markus Berndt and * Jan Wedekind */ static const struct key_strings pc102de_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Druck", "S-Abf", 0}, {"Rollen", "DownArrow", 0}, {"Pause", "Untbr", 0}, /* Row 2 */ {"\260", "^", 0}, {"!", "1", 0}, {"\"", "2 \262", 0}, {"\247", "3 \263", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"=", "0 }", 0}, {"?", "\337 \\", 0}, {"`", "'", 0}, {"Backspace", 0}, {"Einfg", 0}, {"Pos1", 0}, {"Bild", "UpArrow", 0}, {"Num", "DownArrow", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", " @", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+ ~", 0}, {"Enter", 0}, {"Entf", 0}, {"Ende", 0}, {"Bild", "DownArrow", 0}, {"7", "Pos1", 0}, {"8", "UpArrow", 0}, {"9", "Bild UpArrow", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"'", "#", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "< |", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", " \265", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "Ende", 0}, {"2", "DownArrow", 0}, {"3", "Bild DownArrow", 0}, {"Enter", 0}, /* Row 6 */ {"Strg", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Strg", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Einfg", 0}, {".", "Entf", 0} }; xkeycaps-2.47/kbds/rs2030-codes.h0000644000175000017500000000141610206731452014151 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the MIPS RS-2030 keyboard. * By Cliff Marcellus (cliff@phys.ucalgary.ca) */ static const KeyCode rs2030_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 92, 0, 78, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 105, 107, 93, 77, 106, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 101, 108, 94, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 97, 87, 88, 89, 102, /* Row 6 */ 37, 64, 65, 104, 103, 98, 99, 100, 90, 91 }; xkeycaps-2.47/kbds/sun5swfr-codes.h0000644000175000017500000000201610206731452015011 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Sun Swiss-French type 5 keyboard. * By Philippe A. Kipfer (Philippe.Kipfer@di.epfl.ch), dec.1993. * This keyboard meet the TUV standard. * Defined from Sun document "Notes claviers Sun type 5" ref. #800-6803-10 * */ static const KeyCode sun5swfr_codes [] = { /* Row 0 */ 125, 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 52, 9, 11, 55, /* Row 1 */ 8, 10, 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 32, 33, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 56, 58, 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, /* Row 4 */ 79, 80, 106, 131, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ 102, 104, 83, 26, 127, 128, 129, 74, 20, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/sun4de-geom.h0000644000175000017500000000367510206731452014265 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1995, 1996 Jamie Zawinski * * This file describes the pyhsical layout of the Sun type 4 German keyboard. * By Johannes Schmidt-Fischer */ static const struct key_geometry sun4de_geom_row0 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4de_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4de_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {8, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun4de_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun4de_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun4de_geom_row5 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {63, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun4de_geom_rows [] = { ROW (sun4de_geom_row0, 7), ROW (sun4de_geom_row1, 7), ROW (sun4de_geom_row2, 7), ROW (sun4de_geom_row3, 7), ROW (sun4de_geom_row4, 7), ROW (sun4de_geom_row5, 7), }; static const struct keyboard_geometry sun4de_geom = { sizeof (sun4de_geom_rows) / sizeof (struct keyboard_row_geometry), sun4de_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/sun4-r6-map.h0000644000175000017500000001007210206731452014114 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 4 keyboard, * with X Consortium R6 servers. Generated by Stephen Williams * . * * Note: this doesn't work with X11R6 patchlevel 0 - you should upgrade. */ static const struct default_keycode_map sun4_r6_map [] = { { 8, 0, { XK_Cancel, 0, XK_F11 }}, { 10, 0, { XK_Redo, 0, XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11, 0, SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12, 0, SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 28, 0, { XK_Pause, 0, XK_F21 }}, { 29, 0, { XK_Print, 0, XK_F22 }}, { 30, 0, { XK_Break, XK_Scroll_Lock, XK_F23 }}, { 32, 0, { SunXK_Props, 0, XK_F13 }}, { 33, 0, { XK_Undo, 0, XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde, XK_acute }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_KP_Equal, 0, XK_F24 }}, { 53, 0, { XK_KP_Divide, 0, XK_F25 }}, { 54, 0, { XK_KP_Multiply, 0, XK_F26 }}, { 56, 0, { SunXK_Front, 0, XK_F15 }}, { 57, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 58, 0, { SunXK_Copy, 0, XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 74, 0, { XK_Multi_key }}, { 75, 0, { XK_KP_Home, XK_KP_7, XK_F27 }}, { 76, 0, { XK_KP_Up, XK_KP_8, XK_F28 }}, { 77, 0, { XK_KP_Prior, XK_KP_9, XK_F29 }}, { 78, 0, { XK_KP_Subtract }}, { 79, 0, { SunXK_Open, 0, XK_F17 }}, { 80, 0, { SunXK_Paste, 0, XK_F18 }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl, XK_acute }}, { 95, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_KP_Left, XK_KP_4, XK_F30 }}, { 99, 0, { 0, XK_KP_5, XK_F31 }}, { 100, 0, { XK_KP_Right, XK_KP_6, XK_F32 }}, { 101, 0, { XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_Find, 0, XK_F19 }}, { 104, 0, { SunXK_Cut, 0, XK_F20 }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_KP_End, XK_KP_1, XK_F33 }}, { 120, 0, { XK_KP_Down, XK_KP_2, XK_F34 }}, { 121, 0, { XK_KP_Next, XK_KP_3, XK_F35 }}, { 125, 0, { XK_Help, XK_Help }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/rs6kde-codes.h0000644000175000017500000000143310206731452014415 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the IBM RS/6000 keyboard. * By Joerg Stippa */ static const KeyCode rs6kde_codes [] = { /* Row 0 */ 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, /* Row 2 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 83, 88, 93, 98, 103, 108, 113, /* Row 3 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 51, 84, 89, 94, 99, 104, 109, 114, /* Row 4 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 100, 105, 110, /* Row 5 */ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 91, 101, 106, 111, 116, /* Row 6 */ 66, 68, 69, 70, 72, 87, 92, 97, 107, 112 }; xkeycaps-2.47/kbds/tek200-caps.h0000644000175000017500000000356510206731452014065 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * By Juergen Stuber . */ static const struct key_strings tek200_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"F13", 0}, {"F14", 0}, {"Help", 0}, {"Do", 0}, {"F17", 0}, {"F18", 0}, {"F19", 0}, {"F20", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"LeftArrow", 0}, {"Find", 0}, {"Insert", 0}, {"Remove", 0}, {"PF1", 0}, {"PF2", 0}, {"PF3", 0}, {"PF4", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Return", 0}, {"Select", 0}, {"Prev", 0}, {"Next", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"-", 0}, /* Row 4 */ {"Ctrl", 0}, {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"|", "\\", 0}, {"UpArrow", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {",", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {",", ",", 0}, {".", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Compose", 0}, {" ", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/sun5sw-geom.h0000644000175000017500000000414510206731452014320 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the Sun type 5 Swedish keyboard. * By Magnus Hammerin */ static const struct key_geometry sun5sw_geom_row0 [] = { {14, 7}, {4, 0}, {7, 7}, {7, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5sw_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5sw_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {3, 0}, {8, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5sw_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {8, 0}, {29, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry sun5sw_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry sun5sw_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {11, 7}, {7, 7}, {7, 7}, {59, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry sun5sw_geom_rows [] = { ROW (sun5sw_geom_row0, 7), EMPTYROW (7), ROW (sun5sw_geom_row1, 7), ROW (sun5sw_geom_row2, 7), ROW (sun5sw_geom_row3, 7), ROW (sun5sw_geom_row4, 7), ROW (sun5sw_geom_row5, 7), }; static const struct keyboard_geometry sun5sw_geom = { sizeof (sun5sw_geom_rows) / sizeof (struct keyboard_row_geometry), sun5sw_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/xfree86fr-map.h0000644000175000017500000001216710206731452014524 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the default FR keymap used by the XFree86 3.3.3 server. * Generated by Gaël Roualland . */ static const struct default_keycode_map xfree86fr_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_ampersand, XK_1, XK_onesuperior, XK_exclamdown }}, { 11, 0, { XK_eacute, XK_2, XK_asciitilde, XK_oneeighth }}, { 12, 0, { XK_quotedbl, XK_3, XK_numbersign, XK_sterling }}, { 13, 0, { XK_apostrophe, XK_4, XK_braceleft, XK_dollar }}, { 14, 0, { XK_parenleft, XK_5, XK_bracketleft, XK_threeeighths }}, { 15, 0, { XK_minus, XK_6, XK_bar, XK_fiveeighths }}, { 16, 0, { XK_egrave, XK_7, XK_grave, XK_seveneighths }}, { 17, 0, { XK_underscore, XK_8, XK_backslash, XK_trademark }}, { 18, 0, { XK_ccedilla, XK_9, XK_asciicircum, XK_plusminus }}, { 19, 0, { XK_agrave, XK_0, XK_at, XK_degree }}, { 20, 0, { XK_parenright, XK_degree, XK_bracketright, XK_questiondown }}, { 21, 0, { XK_equal, XK_plus, XK_braceright, XK_dead_ogonek }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 25, 0, { XK_z, XK_Z, XK_guillemotleft, XK_less }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 28, 0, { XK_t, XK_T, XK_tslash, XK_Tslash }}, { 29, 0, { XK_y, XK_Y, XK_leftarrow, XK_yen }}, { 30, 0, { XK_u, XK_U, XK_downarrow, XK_uparrow }}, { 31, 0, { XK_i, XK_I, XK_rightarrow, XK_idotless }}, { 32, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 33, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 34, 0, { XK_dead_circumflex, XK_dead_diaeresis, XK_dead_diaeresis, XK_dead_abovering }}, { 35, 0, { XK_dollar, XK_sterling, XK_currency, XK_dead_macron }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 39, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 40, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 41, 0, { XK_f, XK_F, XK_dstroke, XK_ordfeminine }}, { 42, 0, { XK_g, XK_G, XK_eng, XK_ENG }}, { 43, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K, XK_kra, XK_ampersand }}, { 46, 0, { XK_l, XK_L, XK_lstroke, XK_Lstroke }}, { 47, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 48, 0, { XK_ugrave, XK_percent, XK_dead_circumflex, XK_dead_caron }}, { 49, 0, { XK_twosuperior, XK_asciitilde, XK_notsign }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_asterisk, XK_mu, XK_dead_grave, XK_dead_breve }}, { 52, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 53, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 54, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 55, 0, { XK_v, XK_V, XK_leftdoublequotemark, XK_grave }}, { 56, 0, { XK_b, XK_B, XK_rightdoublequotemark, XK_apostrophe }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_comma, XK_question, XK_dead_acute, XK_dead_doubleacute }}, { 59, 0, { XK_semicolon, XK_period, XK_horizconnector, XK_multiply }}, { 60, 0, { XK_colon, XK_slash, XK_periodcentered, XK_division }}, { 61, 0, { XK_exclam, XK_section, XK_dead_belowdot, XK_dead_abovedot }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_bar, XK_brokenbar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch }}, { 115, Mod4Mask, { XK_Meta_L }}, { 116, 0, { XK_Multi_key }}, { 117, 0, { XK_Menu }} }; xkeycaps-2.47/kbds/ncd108de-caps.h0000644000175000017500000000467610206731452014372 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the key surface of the NCD N108D keyboard (German * layout). By Andreas Schuch . */ #ifdef VT220_KLUDGE # define ncd108_caps ncd22_caps #endif static const struct key_strings ncd108de_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", "Compose Setup", 0}, {"F4", 0}, {"F5", "Break", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", "Esc", 0}, {"F12", "Backspace", 0}, {"F13", "Line Feed", 0}, {"F14", 0}, {"Help", 0}, {"Do", 0}, {"F17", 0}, {"F18", 0}, {"F19", 0}, {"F20", 0}, /* Row 2 */ {"\260", "^", "\254"}, {"!", "1", "\271"}, {"\"", "2", "\262"}, {"\247", "3", "\263"}, {"$", "4", "\274"}, {"%", "5", "\275"}, {"&", "6", "\276"}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "\337", "\\"}, {0}, {"", "<", 0}, #else /* n108 */ {">", "<", "|"}, #endif {"Y", "", "\253"}, {"X", "", "\273"}, {"C", "", "\242"}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", "", "\265"}, #ifdef VT220_KLUDGE {",", ",", 0}, {".", ".", 0}, #else /* n108 */ {";", ",", "\327"}, {":", ".", "\267"}, #endif {"_", "-", 0}, {"Shift", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Compose", "Character", 0}, #ifndef VT220_KLUDGE {"Alt", 0}, #endif {" ", 0}, #ifndef VT220_KLUDGE {"Alt", 0}, {"Compose", "Character", 0}, #endif {"0", 0}, {",", 0} }; #undef ncd108_caps xkeycaps-2.47/kbds/mac-codes.h0000644000175000017500000000153410206731452013761 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Apple Extended Keyboard II. * By John Knox and Chris Jones, Baker Hughes * Inteq DEAP Support, Aberdeen. */ static const KeyCode mac_codes [] = { /* Row 0 */ 61, 130, 128, 107, 126, 104, 105, 106, 108, 109, 117, 111, 119, 113, 115, 121, /* Row 2 */ 143, 26, 27, 28, 29, 31, 30, 34, 36, 33, 37, 35, 32, 59, 122, 123, 124, 79, 89, 83, 75, /* Row 3 */ 56, 20, 21, 22, 23, 25, 24, 40, 42, 39, 43, 41, 38, 44, 125, 127, 129, 97, 99, 100, 86, /* Row 4 */ 65, 8, 9, 10, 11, 13, 12, 46, 48, 45, 49, 47, 50, 94, 95, 96, 77, /* Row 5 */ 64, 58, 14, 15, 16, 17, 19, 53, 54, 51, 55, 52, 64, 134, 91, 92, 93, 84, /* Row 6 */ 67, 0, 0, 57, 0, 0, 67, 131, 133, 132, 90, 73 }; xkeycaps-2.47/kbds/explorer-codes.h0000644000175000017500000000147210206731452015062 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the TI Explorer Lisp Machine * keyboard. */ static const KeyCode explorer_codes [] = { /* Row 0 */ 8, 15, 16, 17, 18, 10, 11, 12, 13, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, /* Row 2 */ 40, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, /* Row 3 */ 61, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, /* Row 4 */ 83, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, /* Row 5 */ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124, 125, 126, 127, 134, /* Row 6 */ 14, 33, 34, 35, 130, 36, 37, 38, 39, 132, 133 }; xkeycaps-2.47/kbds/tek200u-sw-map.h0000644000175000017500000000700210206731453014517 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "swedish" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_sw_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_asciitilde, XK_degree }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_currency }}, { 46, 0, { XK_3, XK_section }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 85, 0, { XK_P }}, { 86, 0, { XK_plus, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 91, 0, { XK_apostrophe, XK_asterisk }}, { 92, 0, { XK_aring, XK_Aring }}, { 93, 0, { XK_asciicircum, XK_grave }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/ncd123na-geom.h0000644000175000017500000000234010206731453014361 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the physical layout of the NCD-123NA keyboard. * By Vladimir Alexiev . * Based on the NCD123-UX keyboard by John Palmieri . */ static const struct key_geometry ncd123na_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd123na_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct keyboard_row_geometry ncd123na_geom_rows [] = { ROW (ncd123_geom_row0, 7), EMPTYROW (7), ROW (ncd123na_geom_row1, 7), ROW (ncd123na_geom_row2, 7), ROW (ncd123_geom_row3, 7), ROW (ncd123_geom_row4, 7), ROW (ncd123_geom_row5, 7), }; static const struct keyboard_geometry ncd123na_geom = { sizeof (ncd123na_geom_rows) / sizeof (struct keyboard_row_geometry), ncd123na_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/kinesis-codes.h0000644000175000017500000000133510206731453014666 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the keycodes of the Kinesis Model 120 Keyboard. */ static const KeyCode kinesis_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, 0, 0, /* Row 2 */ 21, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 51, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, /* Row 6 */ 49, 106, 100, 102, 98, 104, 34, 35, /* Row 7 */ 37, 64, 113, 109, /* Row 8 */ 22, 107, 97, 99, 36, 65, /* Row 9 */ 103, 105 }; xkeycaps-2.47/kbds/ncd101-map.h0000644000175000017500000000655710206731453013702 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD X terminal N101 keyboard. * Generated by Roger Binns . */ static const struct default_keycode_map ncd101_map [] = { /* this key has a keycode but no keysym in the default map */ { 98, 0, { 0 }}, /* Setup */ { 8, 0, { XK_Escape }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_grave, XK_asciitilde }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F1 }}, { 17, LockMask, { XK_Caps_Lock }}, { 18, ShiftMask, { XK_Shift_L }}, { 20, ControlMask, { XK_Control_L }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 23, 0, { XK_F3 }}, { 25, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 57, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_less }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_greater }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_equal, XK_plus }}, { 86, 0, { XK_F11 }}, { 87, 0, { XK_Linefeed }}, { 88, ControlMask, { XK_Control_R }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 92, 0, { XK_backslash, XK_bar }}, { 94, 0, { XK_F12 }}, { 95, 0, { XK_Break }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, /* { 98, 0, XK_WYSetup }, What's this? */ { 99, 0, { XK_Up }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_End }}, { 102, 0, { XK_BackSpace }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Home }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Decimal }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, Mod4Mask, { XK_Num_Lock }}, { 119, 0, { XK_KP_Divide }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 124, 0, { XK_KP_Add }}, { 125, 0, { XK_KP_9 }}, { 126, 0, { XK_KP_Multiply }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/tek200u-fi-map.h0000644000175000017500000000700210206731453014464 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "finnish" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_fi_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_asciitilde, XK_degree }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_currency }}, { 46, 0, { XK_3, XK_section }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 85, 0, { XK_P }}, { 86, 0, { XK_plus, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 91, 0, { XK_apostrophe, XK_asterisk }}, { 92, 0, { XK_aring, XK_Aring }}, { 93, 0, { XK_asciicircum, XK_grave }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/chergo-codes.h0000644000175000017500000000145310206731453014471 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997 * Jamie Zawinski * * This file describes the keycodes of the Cherry ErgoPlus Keyboard with German * layout. * By Berthold Gunreben */ static const KeyCode chergo_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 1 */ 69, 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 99, /* Row 2 */ 70, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 105, /* Row 3 */ 71, 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 97, 103, /* Row 4 */ 72, 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, /* Row 5 */ 73, 37, 64, 65, 65, 113, 109, 100, 104, 102 }; xkeycaps-2.47/kbds/nws3410-caps.h0000644000175000017500000000325310206731453014172 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the key surfaces of the SONY NWS3410 keyboard. * Keyboard model NWP-411A * By Dirk Jablonowski */ static const struct key_strings nws3410_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, /* Row 2 */ {"Esc", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"|", "\\", 0}, {"Bs", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"/", "-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Ins", "Del", 0}, {"Ret", 0}, {"4", 0}, {"5", 0}, {"6", 0}, {"*", "+", 0}, /* Row 4 */ {"Ctrl", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"~", "`", 0}, {"Return", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"=", ",", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {0, 0}, {"Shift", 0}, {"0", 0}, {"UpArrow", 0}, {".", 0}, {"ENTER", 0}, /* Row 6 */ {"Alt", 0}, {"Caps", 0}, {"Nfer", 0}, {" ", 0}, {"Xfer", 0}, {0, 0}, {0, 0}, {"Enter", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0} }; xkeycaps-2.47/kbds/ncd220-map.h0000644000175000017500000000654410206731453013700 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD X terminal VT220 keyboard. */ static const struct default_keycode_map ncd220_map [] = { /* these have keycodes but no keysyms in the default map */ { 23, 0, { 0 }}, /* F3, Compose Setup */ { 100, 0, { 0 }}, /* Remove */ { 8, 0, { XK_KP_F1 }}, { 9, 0, { XK_less, XK_greater }}, { 10, 0, { XK_Escape }}, { 11, 0, { XK_BackSpace }}, { 12, 0, { XK_Linefeed }}, { 13, 0, { XK_Tab }}, { 14, 0, { XK_grave, XK_asciitilde }}, { 15, 0, { XK_F2 }}, { 16, 0, { XK_F1 }}, { 17, ControlMask, { XK_Control_L }}, { 18, ShiftMask, { XK_Shift_L }}, { 20, LockMask, { XK_Caps_Lock }}, { 21, 0, { XK_Q }}, { 22, 0, { XK_1, XK_exclam }}, { 25, Mod1Mask, { XK_Alt_L }}, { 26, 0, { XK_Z }}, { 27, 0, { XK_S }}, { 28, 0, { XK_A }}, { 29, 0, { XK_W }}, { 30, 0, { XK_2, XK_at }}, { 31, 0, { XK_F4 }}, { 33, 0, { XK_C }}, { 34, 0, { XK_X }}, { 35, 0, { XK_D }}, { 36, 0, { XK_E }}, { 37, 0, { XK_4, XK_dollar }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_F5 }}, { 41, 0, { XK_space }}, { 42, 0, { XK_V }}, { 43, 0, { XK_F }}, { 44, 0, { XK_T }}, { 45, 0, { XK_R }}, { 46, 0, { XK_5, XK_percent }}, { 47, 0, { XK_F6 }}, { 49, 0, { XK_N }}, { 50, 0, { XK_B }}, { 51, 0, { XK_H }}, { 52, 0, { XK_G }}, { 53, 0, { XK_Y }}, { 54, 0, { XK_6, XK_asciicircum }}, { 55, 0, { XK_F7 }}, { 58, 0, { XK_M }}, { 59, 0, { XK_J }}, { 60, 0, { XK_U }}, { 61, 0, { XK_7, XK_ampersand }}, { 62, 0, { XK_8, XK_asterisk }}, { 63, 0, { XK_F8 }}, { 65, 0, { XK_comma, XK_comma }}, { 66, 0, { XK_K }}, { 67, 0, { XK_I }}, { 68, 0, { XK_O }}, { 69, 0, { XK_0, XK_parenright }}, { 70, 0, { XK_9, XK_parenleft }}, { 71, 0, { XK_F9 }}, { 73, 0, { XK_period, XK_period }}, { 74, 0, { XK_slash, XK_question }}, { 75, 0, { XK_L }}, { 76, 0, { XK_semicolon, XK_colon }}, { 77, 0, { XK_P }}, { 78, 0, { XK_minus, XK_underscore }}, { 79, 0, { XK_F10 }}, { 80, 0, { XK_F14 }}, { 81, 0, { XK_Help }}, { 82, 0, { XK_apostrophe, XK_quotedbl }}, { 83, 0, { XK_backslash, XK_bar }}, { 84, 0, { XK_bracketleft, XK_braceleft }}, { 85, 0, { XK_plus, XK_equal }}, { 87, 0, { XK_KP_F4 }}, { 89, ShiftMask, { XK_Shift_R }}, { 90, 0, { XK_Return }}, { 91, 0, { XK_bracketright, XK_braceright }}, { 95, 0, { XK_KP_F3 }}, { 96, 0, { XK_Down }}, { 97, 0, { XK_Left }}, { 99, 0, { XK_Up }}, { 101, 0, { XK_Select }}, { 102, 0, { XK_Delete }}, { 103, 0, { XK_Insert }}, { 105, 0, { XK_KP_1 }}, { 106, 0, { XK_Right }}, { 107, 0, { XK_KP_4 }}, { 108, 0, { XK_KP_7 }}, { 109, 0, { XK_Next }}, { 110, 0, { XK_Find }}, { 111, 0, { XK_Prior }}, { 112, 0, { XK_KP_0 }}, { 113, 0, { XK_KP_Decimal }}, { 114, 0, { XK_KP_2 }}, { 115, 0, { XK_KP_5 }}, { 116, 0, { XK_KP_6 }}, { 117, 0, { XK_KP_8 }}, { 118, 0, { XK_KP_F2 }}, { 121, 0, { XK_KP_Enter }}, { 122, 0, { XK_KP_3 }}, { 124, 0, { XK_KP_Separator }}, { 125, 0, { XK_KP_9 }}, { 127, 0, { XK_Menu }}, { 128, 0, { XK_F17 }}, { 129, 0, { XK_F18 }}, { 130, 0, { XK_F19 }}, { 131, 0, { XK_F20 }}, { 132, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/pc84-geom.h0000644000175000017500000000317210206731453013632 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1999 Jamie Zawinski * * This file describes the physical layout of original 84 key PC/AT-style * keyboards. * by Ken Rose */ static const struct key_geometry pc84_geom_row1 [] = { {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc84_geom_row2 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc84_geom_row3 [] = { {7, 7}, {7, 7}, {4, 0}, {13, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 0}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry pc84_geom_row4 [] = { {7, 7}, {7, 7}, {4, 0}, {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {19, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry pc84_geom_row5 [] = { {7, 7}, {7, 7}, {4, 0}, {10, 7}, {8, 0}, {69, 7}, {8, 0}, {10, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry pc84_geom_rows [] = { ROW (pc84_geom_row1, 7), ROW (pc84_geom_row2, 7), ROW (pc84_geom_row3, 7), ROW (pc84_geom_row4, 7), ROW (pc84_geom_row5, 7), }; static const struct keyboard_geometry pc84_geom = { sizeof (pc84_geom_rows) / sizeof (struct keyboard_row_geometry), pc84_geom_rows, 5, 3, 3 }; xkeycaps-2.47/kbds/butterflyde-map.h0000644000175000017500000001061310206731453015231 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the keymap of a Soft key "Butterfly" keyboard * with German layout. * Generated by Edgar Greuter . */ static const struct default_keycode_map butterflyde_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 12, 0, { XK_3, XK_section, XK_threesuperior }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, XK_braceright }}, { 20, 0, { XK_ssharp, XK_question, XK_backslash }}, { 21, 0, { XK_acute, XK_grave }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_z, XK_Z }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 35, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 48, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 49, 0, { XK_asciicircum, XK_degree }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_numbersign, XK_apostrophe }}, { 52, 0, { XK_y, XK_Y }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M, XK_mu }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, Mod2Mask, { XK_Meta_L }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, 0, { XK_Num_Lock }}, { 78, Mod4Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 92, 0, { XK_Print, XK_Sys_Req }}, { 93, 0, { XK_Down }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_F13 }}, { 98, 0, { XK_F14 }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_F15 }}, { 103, 0, { XK_F16 }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 110, 0, { XK_Pause, XK_Undo, XK_Break }}, { 111, 0, { XK_Print, XK_Help, XK_Sys_Req }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R }}, { 118, 0, { XK_Left }}, { 119, 0, { XK_Prior }}, { 120, Mod2Mask, { XK_Meta_L }}, { 121, Mod2Mask, { XK_Meta_R }}, { 122, Mod3Mask, { XK_Mode_switch }}, { 123, ControlMask, { XK_Control_R }}, { 124, 0, { XK_KP_Enter }}, { 125, 0, { XK_KP_Divide }}, { 126, 0, { XK_Menu }}, { 127, 0, { XK_Pause, XK_Break }}, { 128, 0, { XK_Up }}, { 129, 0, { XK_Delete }}, { 130, 0, { XK_End }}, { 131, 0, { XK_Insert }}, { 133, 0, { XK_Right }}, { 134, 0, { XK_Next }}, { 135, 0, { XK_Home }}, { 136, 0, { XK_Break }}, { 137, 0, { XK_Sys_Req }}, { 140, 0, { XK_Undo }}, { 141, 0, { XK_Redo }}, { 142, 0, { XK_Help }}, { 143, 0, { XK_Cancel }}, { 144, 0, { XK_Find }} }; xkeycaps-2.47/kbds/cramer-codes.h0000644000175000017500000000151410206731453014471 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the keycodes of the "Interfaces by Cramer" * Floating Arms keyboard (formerly the Workplace Designs keyboard) * with XFree86 3.1. */ static const KeyCode cramer_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, /* Row 1 */ 49, 10, 11, 12, 13, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 78, 77, 112, 63, 82, /* Row 2 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 111, 79, 80, 81, 86, /* Row 3 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 117, 83, 84, 85, /* Row 4 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 116, 87, 88, 89, 108, /* Row 5 */ 37, 115, 64, 110, 65, 65, 106, 97, 99, 113, 98, 109, 90, 91, /* Row 6 */ 107, 103, 105, 100, 104, 102 }; xkeycaps-2.47/kbds/rs2030-map.h0000644000175000017500000000626610206731453013642 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the MIPS RS-2030 keyboard. * By Cliff Marcellus (cliff@phys.ucalgary.ca) */ static const struct default_keycode_map rs2030_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_Q }}, { 25, 0, { XK_W }}, { 26, 0, { XK_E }}, { 27, 0, { XK_R }}, { 28, 0, { XK_T }}, { 29, 0, { XK_Y }}, { 30, 0, { XK_U }}, { 31, 0, { XK_I }}, { 32, 0, { XK_O }}, { 33, 0, { XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, LockMask, { XK_Caps_Lock }}, { 38, 0, { XK_A }}, { 39, 0, { XK_S }}, { 40, 0, { XK_D }}, { 41, 0, { XK_F }}, { 42, 0, { XK_G }}, { 43, 0, { XK_H }}, { 44, 0, { XK_J }}, { 45, 0, { XK_K }}, { 46, 0, { XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_Z }}, { 53, 0, { XK_X }}, { 54, 0, { XK_C }}, { 55, 0, { XK_V }}, { 56, 0, { XK_B }}, { 57, 0, { XK_N }}, { 58, 0, { XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L }}, { 65, 0, { XK_space }}, { 66, ControlMask, { XK_Control_L }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, 0, { XK_Num_Lock }}, { 78, 0, { XK_Pause }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 92, 0, { XK_Print }}, { 93, 0, { XK_Prior }}, { 94, 0, { XK_Next }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Up }}, { 98, 0, { XK_Left }}, { 99, 0, { XK_Down }}, { 100, 0, { XK_Right }}, { 101, 0, { XK_Delete }}, { 102, 0, { XK_KP_Enter }}, { 103, ControlMask, { XK_Control_R }}, { 104, Mod1Mask, { XK_Alt_R }}, { 105, 0, { XK_Insert }}, { 106, 0, { XK_KP_Divide }}, { 107, 0, { XK_Home }}, { 108, 0, { XK_End }} }; xkeycaps-2.47/kbds/omniultra-codes.h0000644000175000017500000000212110206731453015225 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the keycodes of a Northgate OmniKey Ultra * keyboard (part number: 560,0020, vendor code: 777, rev 6.04, 18 June 91) * seen by XFree86 v3.2 atop linux v2.0.30. * Recorded by John A. Martin */ static const KeyCode omniultra_codes [] = { /* Row 0 */ 95, 96, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 0, 0, 0, /* Row 2 */ 67, 68, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 111, 78, 110, 77, 112, 63, 82, /* Row 3 */ 69, 70, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 97, 98, 99, 79, 80, 81, 86, /* Row 4 */ 71, 72, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 100, 101, 102, 83, 84, 85, 21, /* Row 5 */ 73, 74, 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 51, 103, 104, 105, 87, 88, 89, 108, /* Row 6 */ 75, 76, 64, 49, 66, 65, 109, 63, 113, 106, 107, 90, 91 }; xkeycaps-2.47/kbds/phasex110-codes.h0000644000175000017500000000156210206731453014735 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the keycodes of the PhaseX 110 keyboard. * By Jonathan Abbey , based on the * SCO ODT 110 keycodes def by Steven W. Orr . */ static const KeyCode phasex110_codes [] = { /* Row 0 */ 8, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 94, 95, 91, 77, 0, /* Row 2 */ 48, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 97, 98, 99, 76, 103, 62, 81, /* Row 3 */ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 50, 100, 101, 102, 78, 79, 80, 85, /* Row 4 */ 65, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 35, 82, 83, 84, /* Row 5 */ 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 107, 86, 87, 88, 104, /* Row 6 */ 36, 63, 64, 92, 96, 105, 108, 106, 89, 90 }; xkeycaps-2.47/kbds/teksun4-map.h0000644000175000017500000000715210206731453014301 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Tektroknix X terminal * with a Sun4-style keyboard. * Generated by Robert Zwickenpflug */ static const struct default_keycode_map teksun4_map [] = { { 9, 0, { XK_F15 }}, { 10, 0, { XK_F11 }}, { 11, 0, { XK_F13 }}, { 12, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 13, 0, { XK_F17 }}, { 14, 0, { XK_F19 }}, { 15, 0, { XK_F1 }}, { 16, 0, { XK_F12 }}, { 17, 0, { XK_F20 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_Escape }}, { 23, 0, { XK_F2 }}, { 24, 0, { XK_Help, XK_Help }}, { 25, LockMask, { XK_Caps_Lock }}, { 26, ShiftMask, { XK_Shift_L }}, { 27, ShiftMask, { XK_Shift_R }}, { 28, ControlMask, { XK_Control_L }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Meta_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_F4 }}, { 40, 0, { XK_Multi_key }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign }}, { 47, 0, { XK_F5 }}, { 48, 0, { XK_F14 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 56, 0, { XK_Alt_R }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_asciicircum }}, { 63, 0, { XK_F7 }}, { 65, Mod1Mask, { XK_Meta_R }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_ampersand }}, { 70, 0, { XK_8, XK_asterisk }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_less }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_parenright }}, { 78, 0, { XK_9, XK_parenleft }}, { 79, 0, { XK_F9 }}, { 80, 0, { XK_F16 }}, { 81, 0, { XK_period, XK_greater }}, { 82, 0, { XK_slash, XK_question }}, { 83, 0, { XK_L }}, { 84, 0, { XK_semicolon, XK_colon }}, { 85, 0, { XK_P }}, { 86, 0, { XK_minus, XK_underscore }}, { 87, 0, { XK_F10 }}, { 89, 0, { XK_backslash, XK_bar }}, { 90, 0, { XK_apostrophe, XK_quotedbl }}, { 92, 0, { XK_bracketleft, XK_braceleft }}, { 93, 0, { XK_equal, XK_plus }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_F21, XK_Pause }}, { 96, 0, { XK_Alt_L }}, { 97, 0, { XK_Linefeed }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_bracketright, XK_braceright }}, { 100, 0, { XK_Delete }}, { 101, 0, { XK_F23 }}, { 102, 0, { XK_F12 }}, { 103, 0, { XK_F22 }}, { 110, 0, { XK_grave, XK_asciitilde }}, { 111, 0, { XK_F24, XK_KP_Equal }}, { 112, 0, { XK_F18 }}, { 113, 0, { XK_F33, XK_KP_1 }}, { 115, 0, { XK_Left, XK_KP_4 }}, { 116, 0, { XK_F27, XK_KP_7 }}, { 120, 0, { XK_Insert, XK_KP_0 }}, { 121, 0, { XK_Delete, XK_KP_Decimal }}, { 122, 0, { XK_Down, XK_KP_2 }}, { 123, 0, { XK_F31, XK_KP_5 }}, { 124, 0, { XK_Right, XK_KP_6 }}, { 125, 0, { XK_Up, XK_KP_8 }}, { 126, 0, { XK_Num_Lock, XK_Num_Lock }}, { 127, 0, { XK_F25, XK_KP_Divide }}, { 129, 0, { XK_KP_Enter, XK_KP_Enter }}, { 130, 0, { XK_F35, XK_KP_3 }}, { 131, 0, { XK_BackSpace }}, { 132, 0, { XK_KP_Add, XK_KP_Add }}, { 133, 0, { XK_F29, XK_KP_9 }}, { 134, 0, { XK_F26, XK_KP_Multiply }} }; xkeycaps-2.47/kbds/xmint-map.h0000644000175000017500000000726510206731453014050 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the default keymap of the Takaoka Xmint X terminal. * Generated by Christian Goetze . */ static const struct default_keycode_map xmint_map [] = { { 8, ShiftMask, { XK_Shift_L }}, { 9, ShiftMask, { XK_Shift_R }}, { 10, ControlMask, { XK_Control_L }}, { 11, 0, { XK_Tab }}, { 12, Mod1Mask, { XK_Meta_L }}, { 13, Mod1Mask, { XK_Meta_R }}, { 14, 0, { XK_Alt_L }}, { 15, 0, { XK_Alt_R }}, { 16, LockMask, { XK_Caps_Lock }}, { 17, Mod5Mask, { XK_Mode_switch, 0, XK_Mode_switch }}, { 18, 0, { XK_Linefeed }}, { 19, 0, { XK_space }}, { 20, 0, { XK_Escape }}, { 21, 0, { XK_BackSpace }}, { 22, 0, { XK_Delete }}, { 23, 0, { XK_Return }}, { 24, 0, { XK_F1 }}, { 25, 0, { XK_F2 }}, { 26, 0, { XK_F3 }}, { 27, 0, { XK_F4 }}, { 28, 0, { XK_F5 }}, { 29, 0, { XK_F6 }}, { 30, 0, { XK_F7 }}, { 31, 0, { XK_F8 }}, { 32, 0, { XK_F9 }}, { 33, 0, { XK_F10 }}, { 34, 0, { XK_Left, XK_F11 }}, { 35, 0, { XK_Down, XK_F12 }}, { 36, 0, { XK_Up, XK_F13 }}, { 37, 0, { XK_Right, XK_F14 }}, { 40, 0, { XK_1, XK_exclam, XK_kana_NU }}, { 41, 0, { XK_2, XK_at, XK_kana_FU }}, { 42, 0, { XK_3, XK_numbersign, XK_kana_A, XK_kana_a }}, { 43, 0, { XK_4, XK_dollar, XK_kana_U, XK_kana_u }}, { 44, 0, { XK_5, XK_percent, XK_kana_E, XK_kana_e }}, { 45, 0, { XK_6, XK_asciicircum, XK_kana_O, XK_kana_o }}, { 46, 0, { XK_7, XK_ampersand, XK_kana_YA, XK_kana_ya }}, { 47, 0, { XK_8, XK_asterisk, XK_kana_YU, XK_kana_yu }}, { 48, 0, { XK_9, XK_parenleft, XK_kana_YO, XK_kana_yo }}, { 49, 0, { XK_0, XK_parenright, XK_kana_WA, XK_kana_WO }}, { 50, 0, { XK_minus, XK_underscore, XK_kana_HO }}, { 51, 0, { XK_equal, XK_plus, XK_kana_HE }}, { 52, 0, { XK_backslash, XK_bar, XK_kana_openingbracket, XK_kana_closingbracket }}, { 53, 0, { XK_grave, XK_asciitilde, XK_prolongedsound }}, { 56, 0, { XK_q, XK_Q, XK_kana_TA }}, { 57, 0, { XK_w, XK_W, XK_kana_TE }}, { 58, 0, { XK_e, XK_E, XK_kana_I, XK_kana_i }}, { 59, 0, { XK_r, XK_R, XK_kana_SU }}, { 60, 0, { XK_t, XK_T, XK_kana_KA }}, { 61, 0, { XK_y, XK_Y, XK_kana_N }}, { 62, 0, { XK_u, XK_U, XK_kana_NA }}, { 63, 0, { XK_i, XK_I, XK_kana_NI }}, { 64, 0, { XK_o, XK_O, XK_kana_RA }}, { 65, 0, { XK_p, XK_P, XK_kana_SE }}, { 66, 0, { XK_bracketleft, XK_braceleft, XK_kana_RO, XK_voicedsound }}, { 67, 0, { XK_bracketright, XK_braceright, XK_kana_MU, XK_semivoicedsound }}, { 72, 0, { XK_a, XK_A, XK_kana_CHI }}, { 73, 0, { XK_s, XK_S, XK_kana_TO }}, { 74, 0, { XK_d, XK_D, XK_kana_SHI }}, { 75, 0, { XK_f, XK_F, XK_kana_HA }}, { 76, 0, { XK_g, XK_G, XK_kana_KI }}, { 77, 0, { XK_h, XK_H, XK_kana_KU }}, { 78, 0, { XK_j, XK_J, XK_kana_MA }}, { 79, 0, { XK_k, XK_K, XK_kana_NO }}, { 80, 0, { XK_l, XK_L, XK_kana_RI }}, { 81, 0, { XK_semicolon, XK_colon, XK_kana_RE }}, { 82, 0, { XK_apostrophe, XK_quotedbl, XK_kana_KE }}, { 88, 0, { XK_z, XK_Z, XK_kana_TSU, XK_kana_tsu }}, { 89, 0, { XK_x, XK_X, XK_kana_SA }}, { 90, 0, { XK_c, XK_C, XK_kana_SO }}, { 91, 0, { XK_v, XK_V, XK_kana_HI }}, { 92, 0, { XK_b, XK_B, XK_kana_KO }}, { 93, 0, { XK_n, XK_N, XK_kana_MI }}, { 94, 0, { XK_m, XK_M, XK_kana_MO }}, { 95, 0, { XK_comma, XK_less, XK_kana_NE, XK_kana_comma }}, { 96, 0, { XK_period, XK_greater, XK_kana_RU, XK_kana_fullstop }}, { 97, 0, { XK_slash, XK_question, XK_kana_ME, XK_kana_conjunctive }} }; xkeycaps-2.47/kbds/ncd102-caps.h0000644000175000017500000000341710206731453014044 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the NCD X terminal N102 keyboard. */ static const struct key_strings ncd102_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", 0}, {"Scroll", "lock", 0}, {"Setup", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num ", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Return", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", 0}, {"8", 0}, {"9", 0}, {"+", 0}, /* Row 4 */ {"Caps", "lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"|", "\\", 0}, {"4", 0}, {"5", 0}, {"6", 0}, /* Row 5 */ {"Shift", 0}, {"|", "\\", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", 0}, {".", 0} }; xkeycaps-2.47/kbds/labtam-map.h0000644000175000017500000000754510206731453014152 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the Labtam MT200 keyboard * (Australian layout), which is really a Honeywell-101RXd keyboard, * also used with some IBM PCs. * Generated by Anthony Thyssen against the Labtam * X11R5 server, patch level 26, running on a SUN4/60 SLC with SunOS 4.1.2. */ static const struct default_keycode_map labtam_map [] = { /* this has a keycode but no keysyms in the default map */ { 134, 0, { 0 }}, /* Pause */ { 9, 0, { XK_grave, XK_asciitilde }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign, XK_sterling }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 23, 0, { XK_BackSpace }}, { 24, 0, { XK_Tab }}, { 25, 0, { XK_Q }}, { 26, 0, { XK_W }}, { 27, 0, { XK_E }}, { 28, 0, { XK_R }}, { 29, 0, { XK_T }}, { 30, 0, { XK_Y }}, { 31, 0, { XK_U }}, { 32, 0, { XK_I }}, { 33, 0, { XK_O }}, { 34, 0, { XK_P }}, { 35, 0, { XK_bracketleft, XK_braceleft }}, { 36, 0, { XK_bracketright, XK_braceright }}, { 37, 0, { XK_backslash, XK_bar }}, { 38, LockMask, { XK_Caps_Lock }}, { 39, 0, { XK_A }}, { 40, 0, { XK_S }}, { 41, 0, { XK_D }}, { 42, 0, { XK_F }}, { 43, 0, { XK_G }}, { 44, 0, { XK_H }}, { 45, 0, { XK_J }}, { 46, 0, { XK_K }}, { 47, 0, { XK_L }}, { 48, 0, { XK_semicolon, XK_colon }}, { 49, 0, { XK_apostrophe, XK_quotedbl }}, { 51, 0, { XK_Return }}, { 52, ShiftMask, { XK_Shift_L }}, { 54, 0, { XK_Z }}, { 55, 0, { XK_X }}, { 56, 0, { XK_C }}, { 57, 0, { XK_V }}, { 58, 0, { XK_B }}, { 59, 0, { XK_N }}, { 60, 0, { XK_M }}, { 61, 0, { XK_comma, XK_less }}, { 62, 0, { XK_period, XK_greater }}, { 63, 0, { XK_slash, XK_question }}, { 65, ShiftMask, { XK_Shift_R }}, { 66, ControlMask, { XK_Control_L }}, { 68, Mod1Mask, { XK_Alt_L }}, { 69, 0, { XK_space }}, { 70, Mod2Mask, { XK_Alt_R }}, { 72, ControlMask, { XK_Control_R }}, { 83, 0, { XK_Insert }}, { 84, 0, { XK_Delete }}, { 87, 0, { XK_Left }}, { 88, 0, { XK_Home }}, { 89, 0, { XK_End }}, { 91, 0, { XK_Up }}, { 92, 0, { XK_Down }}, { 93, 0, { XK_Prior }}, { 94, 0, { XK_Next }}, { 97, 0, { XK_Right }}, { 98, ShiftMask, { XK_Num_Lock }}, { 99, 0, { XK_Home, XK_KP_7, XK_KP_7, XK_Home }}, { 100, 0, { XK_Left, XK_KP_4, XK_KP_4, XK_Left }}, { 101, 0, { XK_End, XK_KP_1, XK_KP_1, XK_End }}, { 103, 0, { XK_KP_Divide }}, { 104, 0, { XK_Up, XK_KP_8, XK_KP_8, XK_Up }}, { 105, 0, { 0, XK_KP_5, XK_KP_5 }}, { 106, 0, { XK_Down, XK_KP_2, XK_KP_2, XK_Down }}, { 107, 0, { XK_Insert, XK_KP_0, XK_KP_0, XK_Insert }}, { 108, 0, { XK_KP_Multiply }}, { 109, 0, { XK_Prior, XK_KP_9, XK_KP_9, XK_Prior }}, { 110, 0, { XK_Right, XK_KP_6, XK_KP_6, XK_Right }}, { 111, 0, { XK_Next, XK_KP_3, XK_KP_3, XK_Next }}, { 112, 0, { XK_Delete, XK_KP_Decimal, XK_KP_Decimal, XK_Delete }}, { 113, 0, { XK_KP_Subtract }}, { 114, 0, { XK_KP_Add }}, { 116, 0, { XK_KP_Enter }}, { 118, 0, { XK_Escape }}, { 120, 0, { XK_F1 }}, { 121, 0, { XK_F2 }}, { 122, 0, { XK_F3 }}, { 123, 0, { XK_F4 }}, { 124, 0, { XK_F5 }}, { 125, 0, { XK_F6 }}, { 126, 0, { XK_F7 }}, { 127, 0, { XK_F8 }}, { 128, 0, { XK_F9 }}, { 129, 0, { XK_F10 }}, { 130, 0, { XK_F11 }}, { 131, 0, { XK_F12 }}, { 132, 0, { XK_Print }}, { 170, 0, { XK_Scroll_Lock }}, { 178, 0, { XK_Break }} }; xkeycaps-2.47/kbds/sun3-xc-map.h0000644000175000017500000000602110206731453014176 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the Sun type 3 keyboard, * with X Consortium R4 and R5 servers. */ static const struct default_keycode_map sun3_xc_map [] = { { 8, 0, { XK_F11 }}, { 10, 0, { XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 15, 0, { XK_F3 }}, { 17, 0, { XK_F4 }}, { 19, 0, { XK_F5 }}, { 21, 0, { XK_F6 }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, 0, { XK_Alt_R }}, { 28, 0, { XK_F21 }}, { 29, 0, { XK_F22 }}, { 30, 0, { XK_F23 }}, { 32, 0, { XK_F13 }}, { 33, 0, { XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_at }}, { 39, 0, { XK_3, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent }}, { 42, 0, { XK_6, XK_asciicircum }}, { 43, 0, { XK_7, XK_ampersand }}, { 44, 0, { XK_8, XK_asterisk }}, { 45, 0, { XK_9, XK_parenleft }}, { 46, 0, { XK_0, XK_parenright }}, { 47, 0, { XK_minus, XK_underscore }}, { 48, 0, { XK_equal, XK_plus }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_F24 }}, { 53, 0, { XK_F25 }}, { 54, 0, { XK_F26 }}, { 56, 0, { XK_F15 }}, { 58, 0, { XK_F16 }}, { 60, 0, { XK_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O }}, { 70, 0, { XK_P }}, { 71, 0, { XK_bracketleft, XK_braceleft }}, { 72, 0, { XK_bracketright, XK_braceright }}, { 73, 0, { XK_Delete }}, { 75, 0, { XK_F27 }}, { 76, 0, { XK_Up, XK_F28 }}, { 77, 0, { XK_F29 }}, { 79, 0, { XK_F17 }}, { 80, 0, { XK_F18 }}, { 83, ControlMask, { XK_Control_L }}, { 84, 0, { XK_A }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_semicolon, XK_colon }}, { 94, 0, { XK_apostrophe, XK_quotedbl }}, { 95, 0, { XK_backslash, XK_bar, }}, { 96, 0, { XK_Return }}, { 98, 0, { XK_Left, XK_F30 }}, { 99, 0, { XK_F31 }}, { 100, 0, { XK_Right, XK_F32 }}, { 102, 0, { XK_F19 }}, { 104, 0, { XK_F20 }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_less }}, { 115, 0, { XK_period, XK_greater }}, { 116, 0, { XK_slash, XK_question }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_R13 }}, { 120, 0, { XK_Down, XK_F34 }}, { 121, 0, { XK_F35 }}, { 126, LockMask, { XK_Caps_Lock }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }} }; xkeycaps-2.47/kbds/xoft1-map.h0000644000175000017500000001127210206731453013743 0ustar cbcb/* xkeycaps, Copyright (c) 1994 by Jamie Zawinski * * AGE and IBM have conspired to confuse us all. * * AGE XoftWare 2.0 is a PC software product, and therefore works with a * variety of PC keyboards. It comes with the vendor id "AGE Logic, Inc." * * The IBM Xstation 130 X terminal is an IBM hardware product, which comes * with "X Station Manager Software 1.4" which is in fact made by AGE. It * has the vendor id "AGE Logic, Inc. Release 090493". It has a different * default keymap than the PC software, though it comes with a PC101 keyboard. * This is apparently so that the IBM product ends up with the same default * keymap (and keycaps) as the IBM RS6K keyboards. * * This file describes the default R4 and R5 keymaps of the IBM Xstation 130. * * Generated by Tom McConnell on * IBM Xstation 130 running AGE Logic's X11R4, (11.0, release 040793) * hosted by IBM RS/6000 55S (550), AIX-3.2.4. * * Verified by Daniel Packman on * IBM Xstation 130 running AGE Logic's X11R5, (11.0, release 090493) * hosted by running AIX 3.2.5. * * On the IBM Xstation 130, keycode 72 (the right Ctrl/Act key) generates * ModControl, but on the IBM RS/6000 it is used for window manager stuff. */ static const struct default_keycode_map xoft1_map [] = { { 9, 0, { XK_grave, XK_asciitilde }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_yen }}, { 23, 0, { XK_BackSpace }}, { 24, 0, { XK_Tab }}, { 25, 0, { XK_q, XK_Q }}, { 26, 0, { XK_w, XK_W }}, { 27, 0, { XK_e, XK_E }}, { 28, 0, { XK_r, XK_R }}, { 29, 0, { XK_t, XK_T }}, { 30, 0, { XK_y, XK_Y }}, { 31, 0, { XK_u, XK_U }}, { 32, 0, { XK_i, XK_I }}, { 33, 0, { XK_o, XK_O }}, { 34, 0, { XK_p, XK_P }}, { 35, 0, { XK_bracketleft, XK_braceleft }}, { 36, 0, { XK_bracketright, XK_braceright }}, { 37, 0, { XK_backslash, XK_bar }}, { 38, LockMask, { XK_Caps_Lock }}, { 39, 0, { XK_a, XK_A }}, { 40, 0, { XK_s, XK_S }}, { 41, 0, { XK_d, XK_D }}, { 42, 0, { XK_f, XK_F }}, { 43, 0, { XK_g, XK_G }}, { 44, 0, { XK_h, XK_H }}, { 45, 0, { XK_j, XK_J }}, { 46, 0, { XK_k, XK_K }}, { 47, 0, { XK_l, XK_L }}, { 48, 0, { XK_semicolon, XK_colon }}, { 49, 0, { XK_apostrophe, XK_quotedbl }}, { 50, 0, { XK_asterisk, XK_mu }}, { 51, 0, { XK_Return, XK_Return }}, { 52, ShiftMask, { XK_Shift_L }}, { 53, 0, { XK_less, XK_greater }}, { 54, 0, { XK_z, XK_Z }}, { 55, 0, { XK_x, XK_X }}, { 56, 0, { XK_c, XK_C }}, { 57, 0, { XK_v, XK_V }}, { 58, 0, { XK_b, XK_B }}, { 59, 0, { XK_n, XK_N }}, { 60, 0, { XK_m, XK_M }}, { 61, 0, { XK_comma, XK_less }}, { 62, 0, { XK_period, XK_greater }}, { 63, 0, { XK_slash, XK_question }}, { 64, 0, { XK_underscore, XK_underscore }}, { 65, ShiftMask, { XK_Shift_R }}, { 66, ControlMask, { XK_Control_L }}, { 68, Mod1Mask, { XK_Alt_L }}, { 69, 0, { XK_space }}, { 70, Mod1Mask, { XK_Alt_R }}, { 72, ControlMask, { XK_Execute }}, { 83, 0, { XK_Insert }}, { 84, 0, { XK_Delete }}, { 87, 0, { XK_Left }}, { 88, 0, { XK_Home }}, { 89, 0, { XK_End }}, { 91, 0, { XK_Up }}, { 92, 0, { XK_Down }}, { 93, 0, { XK_Prior }}, { 94, 0, { XK_Next }}, { 97, 0, { XK_Right }}, { 98, Mod5Mask, { XK_Num_Lock }}, { 99, 0, { XK_KP_7 }}, { 100, 0, { XK_KP_4 }}, { 101, 0, { XK_KP_1 }}, { 103, 0, { XK_KP_Divide }}, { 104, 0, { XK_KP_8 }}, { 105, 0, { XK_KP_5 }}, { 106, 0, { XK_KP_2 }}, { 107, 0, { XK_KP_0 }}, { 108, 0, { XK_KP_Multiply }}, { 109, 0, { XK_KP_9 }}, { 110, 0, { XK_KP_6 }}, { 111, 0, { XK_KP_3 }}, { 112, 0, { XK_KP_Decimal }}, { 113, 0, { XK_KP_Subtract }}, { 114, 0, { XK_KP_Add }}, { 116, 0, { XK_KP_Enter }}, { 118, 0, { XK_Escape }}, { 120, 0, { XK_F1 }}, { 121, 0, { XK_F2 }}, { 122, 0, { XK_F3 }}, { 123, 0, { XK_F4 }}, { 124, 0, { XK_F5 }}, { 125, 0, { XK_F6 }}, { 126, 0, { XK_F7 }}, { 127, 0, { XK_F8 }}, { 128, 0, { XK_F9 }}, { 129, 0, { XK_F10 }}, { 130, 0, { XK_F11 }}, { 131, 0, { XK_F12 }}, { 132, 0, { XK_Print }}, { 133, 0, { XK_Cancel }}, { 134, 0, { XK_Pause }}, { 139, 0, { XK_Multi_key }}, { 140, 0, { XK_Kanji }}, { 141, 0, { XK_Mode_switch }} }; xkeycaps-2.47/kbds/mag3k-map.h0000644000175000017500000000624610206731453013711 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the MIPS Magnum 3000 keyboard. * By Cliff Marcellus . */ static const struct default_keycode_map mag3k_map [] = { { 9, 0, { XK_F1 }}, { 10, 0, { XK_Escape }}, { 15, 0, { XK_Tab }}, { 16, 0, { XK_grave, XK_asciitilde }}, { 17, 0, { XK_F2 }}, { 19, ControlMask, { XK_Control_L }}, { 20, ShiftMask, { XK_Shift_L }}, { 22, LockMask, { XK_Caps_Lock }}, { 23, 0, { XK_Q }}, { 24, 0, { XK_1, XK_exclam }}, { 25, 0, { XK_F3 }}, { 27, Mod1Mask, { XK_Alt_L }}, { 28, 0, { XK_Z }}, { 29, 0, { XK_S }}, { 30, 0, { XK_A }}, { 31, 0, { XK_W }}, { 32, 0, { XK_2, XK_at }}, { 33, 0, { XK_F4 }}, { 35, 0, { XK_C }}, { 36, 0, { XK_X }}, { 37, 0, { XK_D }}, { 38, 0, { XK_E }}, { 39, 0, { XK_4, XK_dollar }}, { 40, 0, { XK_3, XK_numbersign }}, { 41, 0, { XK_F5 }}, { 43, 0, { XK_space }}, { 44, 0, { XK_V }}, { 45, 0, { XK_F }}, { 46, 0, { XK_T }}, { 47, 0, { XK_R }}, { 48, 0, { XK_5, XK_percent }}, { 49, 0, { XK_F6 }}, { 51, 0, { XK_N }}, { 52, 0, { XK_B }}, { 53, 0, { XK_H }}, { 54, 0, { XK_G }}, { 55, 0, { XK_Y }}, { 56, 0, { XK_6, XK_asciicircum }}, { 57, 0, { XK_F7 }}, { 59, Mod1Mask, { XK_Alt_R }}, { 60, 0, { XK_M }}, { 61, 0, { XK_J }}, { 62, 0, { XK_U }}, { 63, 0, { XK_7, XK_ampersand }}, { 64, 0, { XK_8, XK_asterisk }}, { 65, 0, { XK_F8 }}, { 67, 0, { XK_comma, XK_less }}, { 68, 0, { XK_K }}, { 69, 0, { XK_I }}, { 70, 0, { XK_O }}, { 71, 0, { XK_0, XK_parenright }}, { 72, 0, { XK_9, XK_parenleft }}, { 73, 0, { XK_F9 }}, { 75, 0, { XK_period, XK_greater }}, { 76, 0, { XK_slash, XK_question }}, { 77, 0, { XK_L }}, { 78, 0, { XK_semicolon, XK_colon }}, { 79, 0, { XK_P }}, { 80, 0, { XK_minus, XK_underscore }}, { 81, 0, { XK_F10 }}, { 84, 0, { XK_apostrophe, XK_quotedbl }}, { 86, 0, { XK_bracketleft, XK_braceleft }}, { 87, 0, { XK_equal, XK_plus }}, { 88, 0, { XK_F11 }}, { 89, 0, { XK_Linefeed }}, { 90, ControlMask, { XK_Control_R }}, { 91, ShiftMask, { XK_Shift_R }}, { 92, 0, { XK_Return }}, { 93, 0, { XK_bracketright, XK_braceright }}, { 94, 0, { XK_backslash, XK_bar }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Break }}, { 98, 0, { XK_Down }}, { 99, 0, { XK_Left }}, { 101, 0, { XK_Up }}, { 102, 0, { XK_Delete }}, { 104, 0, { XK_BackSpace }}, { 107, 0, { XK_KP_1, XK_End }}, { 108, 0, { XK_Right }}, { 109, 0, { XK_KP_4, XK_Left }}, { 110, 0, { XK_KP_7, XK_Home }}, { 111, 0, { XK_KP_Separator }}, { 114, 0, { XK_KP_0, XK_Insert }}, { 115, 0, { XK_KP_Decimal, XK_Delete }}, { 116, 0, { XK_KP_2, XK_Down }}, { 117, 0, { XK_KP_5 }}, { 118, 0, { XK_KP_6, XK_Right }}, { 119, 0, { XK_KP_8, XK_Up }}, { 120, 0, { XK_KP_F1 }}, { 121, 0, { XK_KP_F2 }}, { 123, 0, { XK_KP_Enter }}, { 124, 0, { XK_KP_3, XK_Next }}, { 126, 0, { XK_KP_F4 }}, { 127, 0, { XK_KP_9, XK_Prior }}, { 128, 0, { XK_KP_F3 }}, { 134, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/lk201-caps.h0000644000175000017500000000646010206731453013707 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1999 Jamie Zawinski * * This file describes the key surfaces of the DEC LK201, LK401 and * LK450 keyboards. * By Tom Ivar Helbekkmo , jwz and Robin * Stephenson . */ #ifdef LK401_KLUDGE # define lk201_caps lk401_caps #endif #ifdef LK450_KLUDGE # define lk201_caps lk450_caps #endif static const struct key_strings lk201_caps [] = { /* Row 0 */ #ifdef LK450_KLUDGE {"F1", "Hold", 0}, #else /* LK201 */ {"F1", 0}, #endif {"F2", 0}, #ifdef LK450_KLUDGE {"F3", "Set-Up", 0}, #else /* LK201 */ {"F3", 0}, #endif {"F4", 0}, {"F5", 0}, #ifdef LK450_KLUDGE {"F6", "Inter/Halt", 0}, {"F7", "Resume", 0}, {"F8", "Cancel", 0}, {"F9", "Main Screen", 0}, {"F10", "Exit", 0}, {"F11", "Alt Char", 0}, {"F12", "Pr. Field Hyp Psh", 0}, {"F13", "Er Line Rub Wrd" , 0}, {"F14", "Insert/Ovrstke", 0}, #else /* LK201 */ {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"F13", 0}, {"F14", 0}, #endif {"Help", 0}, {"Do", 0}, {"F17", 0}, #ifdef LK450_KLUDGE {"F18", "PrtSc", 0}, {"F19", "Scroll Lock", 0}, {"F20", "Pause", 0}, #else /* LK201 */ {"F18", 0}, {"F19", 0}, {"F20", 0}, #endif /* Row 2 */ #ifdef LK450_KLUDGE {"Esc", 0}, #else /* LK201 */ {"~", "`", 0}, #endif {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"", "<", 0}, #endif {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, #if defined (LK401_KLUDGE) || defined(LK450_KLUDGE) {"<", ",", 0}, {">", ".", 0}, #else /* LK201 */ {",", ",", 0}, {".", ".", 0}, #endif {"?", "/", 0}, {"Shift", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"1", 0}, {"2", 0}, {"3", 0}, {"Enter", 0}, /* Row 6 */ {"Compose", "Character", 0}, #if defined(LK401_KLUDGE) || defined(LK450_KLUDGE) {"Alt", "Function", 0}, /* LK201 doesn't have this */ #endif {" ", 0}, #ifdef LK401_KLUDGE {"Alt", "Function", 0}, /* LK201 doesn't have this */ {"Compose", "Character", 0}, /* LK201 doesn't have this */ #elif defined(LK450_KLUDGE) {"Alt", "Function", 0}, /* LK201 doesn't have this */ {"Control", 0}, /* LK201 doesn't have this */ #endif {"0", 0}, {".", 0} }; #undef lk201_caps xkeycaps-2.47/kbds/sun2-codes.h0000644000175000017500000000131310206731453014104 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the Sun type 2 keyboard. */ static const KeyCode sun2_codes [] = { /* Row 0 */ 8, 10, 12, 13, 15, 17, 19, 21, 23, 24, 25, 26, 28, 29, 30, /* Row 1 */ 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, /* Row 2 */ 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, /* Row 3 */ 79, 80, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100, /* Row 4 */ 102, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, /* Row 5 */ 127, 128, 129 }; xkeycaps-2.47/kbds/sun4-codes.h0000644000175000017500000000162710206731453014116 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Sun type 4 keyboard, * as interpreted by OpenWindows and X Consortium R4 and R5 servers. * Note that the X Consortium R6 keycodes are totally different. */ static const KeyCode sun4_codes [] = { /* Row 0 */ 8, 10, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 95, 73, 28, 29, 30, 105, /* Row 1 */ 32, 33, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 52, 53, 54, 78, /* Row 2 */ 56, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 75, 76, 77, 132, /* Row 3 */ 79, 80, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 49, 98, 99, 100, /* Row 4 */ 102, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 97, /* Row 5 */ 125, 126, 26, 127, 128, 129, 74, 20, 101, 57 }; xkeycaps-2.47/kbds/hpitf-map.h0000644000175000017500000001124010206731453014007 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the HP 300, 400, and 700 series * keyboards. Generated by Dave Brooks running on an * HP 9000/720 with the stock HP-UX 9.01 X server. */ static const struct default_keycode_map hpitf_map [] = { { 10, Mod1Mask, { XK_Meta_R }}, { 11, Mod1Mask, { XK_Meta_L }}, { 12, ShiftMask, { XK_Shift_R }}, { 13, ShiftMask, { XK_Shift_L }}, { 14, ControlMask, { XK_Control_L }}, { 15, 0, { XK_Break, hpXK_Reset }}, { 16, 0, { XK_KP_4 }}, { 17, 0, { XK_KP_8 }}, { 18, 0, { XK_KP_5 }}, { 19, 0, { XK_KP_9 }}, { 20, 0, { XK_KP_6 }}, { 21, 0, { XK_KP_7 }}, { 22, 0, { XK_KP_Separator }}, { 23, 0, { XK_KP_Enter }}, { 24, 0, { XK_KP_1 }}, { 25, 0, { XK_KP_Divide }}, { 26, 0, { XK_KP_2 }}, { 27, 0, { XK_KP_Add }}, { 28, 0, { XK_KP_3 }}, { 29, 0, { XK_KP_Multiply }}, { 30, 0, { XK_KP_0 }}, { 31, 0, { XK_KP_Subtract }}, { 32, 0, { XK_B, 0, hpXK_block }}, { 33, 0, { XK_V, 0, XK_section }}, { 34, 0, { XK_C, 0, XK_ccedilla, XK_Ccedilla }}, { 35, 0, { XK_X, 0, XK_scaron, XK_Scaron }}, { 36, 0, { XK_Z, 0, XK_paragraph }}, { 39, 0, { XK_Escape, XK_Delete }}, { 41, 0, { XK_F10, XK_KP_F2 }}, { 43, 0, { XK_F11, XK_KP_F3 }}, { 44, 0, { XK_KP_Decimal }}, { 45, 0, { XK_F9, XK_KP_F1 }}, { 46, 0, { XK_KP_Tab, hpXK_KP_BackTab }}, { 47, 0, { XK_F12, XK_KP_F4 }}, { 48, 0, { XK_H, 0, XK_yen }}, { 49, 0, { XK_G, 0, XK_currency }}, { 50, 0, { XK_F, 0, hpXK_guilder }}, { 51, 0, { XK_D, 0, XK_eth, XK_ETH }}, { 52, 0, { XK_S, 0, XK_ssharp }}, { 53, 0, { XK_A, 0, XK_aring, XK_Aring }}, { 54, Mod1Mask, { XK_Mode_switch, 0, 0, XK_Mode_switch }}, { 55, LockMask, { XK_Caps_Lock }}, { 56, 0, { XK_U, 0, hpXK_mute_diaeresis }}, { 57, 0, { XK_Y, 0, hpXK_mute_asciicircum }}, { 58, 0, { XK_T, 0, hpXK_mute_grave }}, { 59, 0, { XK_R, 0, hpXK_mute_acute }}, { 60, 0, { XK_E, 0, XK_ae, XK_AE }}, { 61, 0, { XK_W, 0, XK_asciitilde }}, { 62, 0, { XK_Q, 0, XK_periodcentered }}, { 63, 0, { XK_Tab, hpXK_BackTab }}, { 64, 0, { XK_7, XK_ampersand, XK_backslash }}, { 65, 0, { XK_6, XK_asciicircum, XK_asciicircum }}, { 66, 0, { XK_5, XK_percent, XK_onehalf }}, { 67, 0, { XK_4, XK_dollar, XK_onequarter, XK_threequarters }}, { 68, 0, { XK_3, XK_numbersign, XK_numbersign }}, { 69, 0, { XK_2, XK_at, XK_at }}, { 70, 0, { XK_1, XK_exclam, XK_exclamdown }}, { 71, 0, { XK_grave, XK_asciitilde, XK_guillemotleft, XK_guillemotright }}, { 80, 0, { XK_Menu }}, { 81, 0, { XK_F4 }}, { 82, 0, { XK_F3 }}, { 83, 0, { XK_F2 }}, { 84, 0, { XK_F1 }}, { 86, 0, { XK_Cancel }}, { 87, 0, { XK_Execute, XK_Print }}, { 88, 0, { hpXK_System, hpXK_User }}, { 89, 0, { XK_F5 }}, { 90, 0, { XK_F6 }}, { 91, 0, { XK_F7 }}, { 92, 0, { XK_F8 }}, { 94, 0, { hpXK_ClearLine }}, { 95, 0, { XK_Clear }}, { 96, 0, { XK_8, XK_asterisk, XK_bracketleft, XK_braceleft }}, { 97, 0, { XK_9, XK_parenleft, XK_bracketright, XK_braceright }}, { 98, 0, { XK_0, XK_parenright, XK_questiondown }}, { 99, 0, { XK_minus, XK_underscore, hpXK_longminus, XK_macron }}, { 100, 0, { XK_equal, XK_plus, XK_plusminus }}, { 101, 0, { XK_BackSpace }}, { 102, 0, { hpXK_InsertLine }}, { 103, 0, { hpXK_DeleteLine }}, { 104, 0, { XK_I, 0, hpXK_mute_asciitilde }}, { 105, 0, { XK_O, 0, XK_oslash, XK_Ooblique }}, { 106, 0, { XK_P, 0, XK_thorn, XK_THORN }}, { 107, 0, { XK_bracketleft, XK_braceleft, XK_degree }}, { 108, 0, { XK_bracketright, XK_braceright, XK_bar, XK_brokenbar }}, { 109, 0, { XK_backslash, XK_bar, XK_mu }}, { 110, 0, { hpXK_InsertChar }}, { 111, 0, { hpXK_DeleteChar }}, { 112, 0, { XK_J, 0, XK_dollar }}, { 113, 0, { XK_K, 0, XK_cent }}, { 114, 0, { XK_L, 0, XK_sterling }}, { 115, 0, { XK_semicolon, XK_colon, hpXK_lira }}, { 116, 0, { XK_apostrophe, XK_quotedbl, XK_grave, XK_apostrophe }}, { 117, 0, { XK_Return }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_M, 0, XK_masculine }}, { 121, 0, { XK_comma, XK_less, XK_less }}, { 122, 0, { XK_period, XK_greater, XK_greater }}, { 123, 0, { XK_slash, XK_question, XK_underscore }}, { 125, 0, { XK_Select }}, { 127, 0, { XK_Next }}, { 128, 0, { XK_N, 0, XK_ordfeminine }}, { 129, 0, { XK_space }}, { 132, 0, { XK_Left }}, { 133, 0, { XK_Down }}, { 134, 0, { XK_Up }}, { 135, 0, { XK_Right }} }; xkeycaps-2.47/kbds/hppc-codes.h0000644000175000017500000000144310206731453014153 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the HP PC keyboard. * By Markus Stumpf */ static const KeyCode hppc_codes [] = { /* Row 0 */ 39, 84, 83, 82, 81, 89, 90, 91, 92, 45, 41, 43, 47, 80, 86, 15, /* Row 2 */ 71, 70, 69, 68, 67, 66, 65, 64, 96, 97, 98, 99, 100, 101, 110, 118, 119, 88, 25, 29, 31, /* Row 3 */ 63, 62, 61, 60, 59, 58, 57, 56, 104, 105, 106, 107, 108, 109, 111, 125, 127, 21, 17, 19, 27, /* Row 4 */ 55, 53, 52, 51, 50, 49, 48, 112, 113, 114, 115, 116, 117, 16, 18, 20, /* Row 5 */ 13, 36, 35, 34, 33, 32, 128, 120, 121, 122, 123, 12, 134, 24, 26, 28, 23, /* Row 6 */ 14, 11, 129, 10, 8, 132, 133, 135, 30, 44 }; xkeycaps-2.47/kbds/pcxal-r6-codes.h0000644000175000017500000000217710206731453014662 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996 * Jamie Zawinski * * generated 1997-05-18 by , based on the template in * pcxal-codes.h by Aleksandar Milivojevic * * OS: Linux reptile.scrye.com 2.0.27 #1 Sat Dec 21 23:44:11 EST 1996 i486 * X: XFree86 v3.2 with XKEYBOARD enabled and default XF86Config file. * XkbKeymap "xfree86(us)" */ static const KeyCode pcxal_r6_codes [] = { /* Row 1 -- escape to pause */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 -- grave/tilde to keypad-minus */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 -- tab to keypad-add */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 107, 103, 105, 79, 80, 81, 86, /* Row 4 -- caps-lock to keypad-6 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 83, 84, 85, /* Row 5 -- right-shift to keypad-enter */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 87, 88, 89, 108, /* Row 6 -- right-control to keypad-. */ 37, 64, 65, 113, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/kinesis-caps.h0000644000175000017500000000333510206731453014521 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995 * Jamie Zawinski * * This file describes the key surfaces of the Kinesis Model 120 Keyboard. */ static const struct key_strings kinesis_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", "Data", 0}, {"F8", "Delay", 0}, {"F9", "Repeat", 0}, {"F10", "Disable", 0}, {"F11", "Macro", 0}, {"F12", "Remap", 0}, {"Print", "Scrn", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, {"Keypad", 0}, {"Program", 0}, /* Row 2 */ {"+", "=", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"|", "\\", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, /* Row 6 */ {"~", "`", 0}, {"Insert", 0}, {"LeftArrow", 0}, {"RightArrow", 0}, {"UpArrow", 0}, {"DownArrow", 0}, {"{", "[", 0}, {"}", "]", 0}, /* Row 7 */ {"Ctrl", 0}, {"Alt", 0}, {"Alt", 0}, {"Ctrl", 0}, /* Row 8 */ {"Back", "Space", 0}, {"Delete", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Enter", 0}, {"Space", 0}, /* Row 9 */ {"End", 0}, {"Page", "Down", 0} }; xkeycaps-2.47/kbds/libretto100-geom.h0000644000175000017500000000353210206731453015121 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the physical layout of the Toshiba Libretto * 100CT/2.1 (model no. PA1254EA). * * david arnold september 1999 */ static const struct key_geometry libretto100_geom_row0 [] = { {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {11, 06}, {12, 06}, {11, 06}, {11, 06}, {11, 06}}; static const struct key_geometry libretto100_geom_row1 [] = { {4,0}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {16,12}}; static const struct key_geometry libretto100_geom_row2 [] = { {12,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {12,12}, {12,12}, {12,12}}; static const struct key_geometry libretto100_geom_row3 [] = { {15,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {13,12}, {13,12}, {21,12}}; static const struct key_geometry libretto100_geom_row4 [] = { {23,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {14,12}, {13,12}, {13,12}, {13,12}, {14,12}}; static const struct key_geometry libretto100_geom_row5 [] = { {13,12}, {13,12}, {13,12}, {69,12}, {13,12}, {13,12}, {13,12}, {14,12}, {13,12}, {14,12}}; static const struct keyboard_row_geometry libretto100_geom_rows [] = { ROW (libretto100_geom_row0, 06), ROW (libretto100_geom_row1, 12), ROW (libretto100_geom_row2, 12), ROW (libretto100_geom_row3, 12), ROW (libretto100_geom_row4, 12), ROW (libretto100_geom_row5, 12), }; static const struct keyboard_geometry libretto100_geom = { sizeof (libretto100_geom_rows) / sizeof (struct keyboard_row_geometry), libretto100_geom_rows, 4, 3, 3 }; xkeycaps-2.47/kbds/tp560es-caps.h0000644000175000017500000000302110206731453014252 0ustar cbcb/* xkeycaps, Copyright (c) 1998, 1999 Jamie Zawinski * * This file describes the key surfaces of the IBM ThinkPad 770ED keyboard. * By Jamie Zawinski */ static const struct key_strings tp560es_caps [] = { /* Row 0 */ {"Esc","",0}, {"Imp Pt", "PetSis", 0}, {"BiNum", "Despl", 0}, {"Pausa", "Inter", 0}, {"Insert", 0}, {"Inicio", 0}, {"ReP\341g", 0, 0}, /* Row 2 */ {"F1",0}, {"F2",0}, {"F3",0}, {"F4",0}, {"F5",0}, {"F6",0}, {"F7",0}, {"F8",0}, {"F9",0}, {"F10",0}, {"F11",0}, {"F12",0}, {"Supr",0}, {"Fin",0}, {"AvP\341g",0,0}, /* Row 3 */ {"\252", "\272", "\\"}, {"!", "1", "|"}, {"\"", "2", "@"}, {"\267", "3", "#"}, {"$", "4", "~"}, {"%", "5", 0}, {"&", "6", "\254"}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "'", 0}, {"\277", "\241", 0}, {"Backspace", 0}, /* Row 4 */ {"Tab",0},{"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"^", "`", "["}, {"*", "+", "]"}, {"Enter", 0}, /* Row 5 */ {"Bloq May\372s", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\321", 0}, {"\250", "'", "{"}, {0, "\307", "}"}, /* Row 6 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, /* Row 7 */ {"Fn", 0}, {"Ctrl", 0}, {"Alt", 0}, { " ", 0}, {"AltGr", 0}, {"Ctrl", 0}, {"UpArrow", 0}, /* Row 8 */ {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0} }; xkeycaps-2.47/kbds/openwin101-codes.h0000644000175000017500000000153110206731453015120 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996, 1997 * Jamie Zawinski * * This file describes the keycodes of a 101 key keyboard for * Solaris 5.5.1/Intel and OpenWindows. * By Dave Carrigan . */ static KeyCode openwin101_codes [] = { /* Row 0 */ 117, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, /* Row 2 */ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 82, 87, 92, 97, 102, 107, 112, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 83, 88, 93, 98, 103, 108, 113, /* Row 4 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 99, 104, 109, /* Row 5 */ 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 90, 100, 105, 110, 115, /* Row 6 */ 65, 67, 68, 69, 71, 86, 91, 96, 106, 111 }; xkeycaps-2.47/kbds/ktx1000-geom.h0000644000175000017500000000401710206731453014162 0ustar cbcb/* xkeycaps, Copyright (c) 1991, ..., 1999 Jamie Zawinski * * This file specifies the geometry of a keyboard that comes * with a KTX 1000 laptop as distributed by Edge . * File edited by Neil Zanella . */ static const struct key_geometry ktx1000_row1 [] = { {15, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10} }; static const struct key_geometry ktx1000_row2 [] = { {11, 0}, /* this corresponds to an empty space on the kbd */ {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {28, 18}, {16, 18}, }; static const struct key_geometry ktx1000_row3 [] = { {21, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {16, 18} }; static const struct key_geometry ktx1000_row4 [] = { {24, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {33, 18}, {16,18} }; static const struct key_geometry ktx1000_row5 [] = { {33, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {18, 18}, {26, 18}, {16, 18}, {16, 18} }; static const struct key_geometry ktx1000_row6 [] = { {16, 18}, {16, 18}, {16, 18}, {16, 18}, {16, 18}, {79, 18}, {16, 18}, {16, 18}, {16, 18}, {16, 18}, {16, 18}, {16, 18}, {16, 18} }; static const struct keyboard_row_geometry ktx1000_rows [] = { ROW (ktx1000_row1, 10), ROW (ktx1000_row2, 18), ROW (ktx1000_row3, 18), ROW (ktx1000_row4, 18), ROW (ktx1000_row5, 18), ROW (ktx1000_row6, 18), }; /* The following is not documented in the file defining.txt. */ /* What exactly does this do and do I have to have it here? */ static const struct keyboard_geometry ktx1000_geom = { sizeof (ktx1000_rows) / sizeof (struct keyboard_row_geometry), ktx1000_rows, 3, 1, 1 }; xkeycaps-2.47/kbds/sun4es-map.h0000644000175000017500000001443110206731453014123 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the key surfaces of the Sun type 4 Catalan and * Spanish keyboard by Antoni Pamies Olive . * */ static const struct default_keycode_map sun4es_map [] = { { 8, 0, { XK_Cancel, 0, XK_F11 }}, { 10, 0, { XK_Redo, 0, XK_F12 }}, { 12, 0, { XK_F1 }}, { 13, 0, { XK_F2 }}, { 14, 0, { XK_F10 }}, { 15, 0, { XK_F3 }}, { 16, 0, { XK_F11, 0, SunXK_F36 }}, { 17, 0, { XK_F4 }}, { 18, 0, { XK_F12, 0, SunXK_F37 }}, { 19, 0, { XK_F5 }}, { 20, Mod2Mask, { XK_Mode_switch }}, { 21, 0, { XK_F6 }}, { 22, 0, { XK_asciitilde, XK_asciicircum }}, { 23, 0, { XK_F7 }}, { 24, 0, { XK_F8 }}, { 25, 0, { XK_F9 }}, { 26, Mod3Mask, { XK_Alt_L }}, { 28, 0, { XK_Pause, 0, XK_F21 }}, { 29, 0, { XK_Print, 0, XK_F22 }}, { 30, 0, { XK_Break, XK_Scroll_Lock, XK_F23 }}, { 32, Mod5Mask, { SunXK_Props, 0, XK_F13 }}, { 33, 0, { XK_Undo, 0, XK_F14 }}, { 36, 0, { XK_Escape }}, { 37, 0, { XK_1, XK_exclam }}, { 38, 0, { XK_2, XK_quotedbl, XK_at }}, { 39, 0, { XK_3, XK_sterling, XK_numbersign }}, { 40, 0, { XK_4, XK_dollar }}, { 41, 0, { XK_5, XK_percent, XK_degree }}, { 42, 0, { XK_6, XK_ampersand, XK_notsign }}, { 43, 0, { XK_7, XK_slash }}, { 44, 0, { XK_8, XK_parenleft }}, { 45, 0, { XK_9, XK_parenright, XK_backslash }}, { 46, 0, { XK_0, XK_equal, XK_bar }}, { 47, 0, { XK_apostrophe, XK_question, XK_grave }}, { 48, 0, { XK_exclamdown, XK_questiondown }}, { 49, 0, { XK_ccedilla, XK_Ccedilla }}, { 50, 0, { XK_BackSpace }}, { 52, 0, { XK_KP_Equal, 0, XK_F24 }}, { 53, 0, { XK_KP_Divide, 0, XK_F25 }}, { 54, 0, { XK_KP_Multiply, 0, XK_F26 }}, { 56, 0, { SunXK_Front, 0, XK_F15 }}, { 57, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 58, 0, { SunXK_Copy, 0, XK_F16 }}, { 60, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 61, 0, { XK_Q }}, { 62, 0, { XK_W }}, { 63, 0, { XK_E }}, { 64, 0, { XK_R }}, { 65, 0, { XK_T }}, { 66, 0, { XK_Y }}, { 67, 0, { XK_U }}, { 68, 0, { XK_I }}, { 69, 0, { XK_O , XK_O, XK_masculine}}, { 70, 0, { XK_P }}, { 71, 0, { SunXK_FA_Grave, SunXK_FA_Circum, XK_dead_doubleacute }}, { 72, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 73, 0, { XK_Delete }}, { 74, Mod2Mask, { XK_Mode_switch }}, { 75, 0, { XK_KP_Home, XK_KP_7, XK_F27 }}, { 76, 0, { XK_KP_Up, XK_KP_8, XK_F28 }}, { 77, 0, { XK_KP_Prior, XK_KP_9, XK_F28 }}, { 78, 0, { XK_KP_Subtract }}, { 79, 0, { SunXK_Open, 0, XK_F17 }}, { 80, 0, { SunXK_Paste, 0, XK_F18 }}, { 83, LockMask, { XK_Caps_Lock }}, { 84, 0, { XK_A , XK_A, XK_ordfeminine }}, { 85, 0, { XK_S }}, { 86, 0, { XK_D }}, { 87, 0, { XK_F }}, { 88, 0, { XK_G }}, { 89, 0, { XK_H }}, { 90, 0, { XK_J }}, { 91, 0, { XK_K }}, { 92, 0, { XK_L }}, { 93, 0, { XK_Ntilde }}, { 94, 0, { SunXK_FA_Acute, SunXK_FA_Diaeresis }}, { 95, 0, { XK_bracketleft, XK_braceleft, XK_guillemotleft }}, { 96, 0, { XK_Return }}, { 97, 0, { XK_KP_Enter }}, { 98, 0, { XK_KP_Left, XK_KP_4, XK_F30 }}, { 99, 0, { XK_Begin, XK_KP_5, XK_F31 }}, { 100, 0, { XK_KP_Right, XK_KP_6, XK_F32 }}, { 101, 0, { XK_KP_Insert, XK_KP_0 }}, { 102, 0, { XK_Find, 0, XK_F19 }}, { 104, 0, { SunXK_Cut, 0, XK_F20 }}, { 105, Mod4Mask, { XK_Num_Lock }}, { 106, ShiftMask, { XK_Shift_L }}, { 107, 0, { XK_Z }}, { 108, 0, { XK_X }}, { 109, 0, { XK_C , XK_C, XK_copyright }}, { 110, 0, { XK_V }}, { 111, 0, { XK_B }}, { 112, 0, { XK_N }}, { 113, 0, { XK_M }}, { 114, 0, { XK_comma, XK_semicolon }}, { 115, 0, { XK_period, XK_colon }}, { 116, 0, { XK_minus, XK_underscore }}, { 117, ShiftMask, { XK_Shift_R }}, { 118, 0, { XK_Linefeed }}, { 119, 0, { XK_KP_End, XK_KP_1, XK_F33 }}, { 120, 0, { XK_KP_Down, XK_KP_2, XK_F34 }}, { 121, 0, { XK_KP_Next, XK_KP_3, XK_F35 }}, { 124, 0, { XK_less, XK_greater }}, { 125, 0, { XK_Help }}, { 126, ControlMask, { XK_Control_L }}, { 127, Mod1Mask, { XK_Meta_L }}, { 128, 0, { XK_space }}, { 129, Mod1Mask, { XK_Meta_R }}, { 131, 0, { XK_less, XK_greater }}, { 132, 0, { XK_KP_Add }} }; xkeycaps-2.47/kbds/sun5de-codes.h0000644000175000017500000000173510206731453014430 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the Sun type 5 keyboard with German * layout. * By Carl Witty , Sylvain Meunier , * and Andreas Schuch . */ static const KeyCode sun5de_codes [] = { /* Row 0 */ 125, 36, 12, 13, 15, 17, 19, 21, 23, 24, 25, 14, 16, 18, 29, 30, 28, 52, 9, 11, 55, /* Row 1 */ 8, 10, 49, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 59, 103, 105, 53, 54, 78, /* Row 2 */ 32, 33, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 96, 73, 81, 130, 75, 76, 77, 132, /* Row 3 */ 56, 58, 126, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, /* Row 4 */ 79, 80, 106, 131, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 27, 119, 120, 121, 97, /* Row 5 */ 102, 104, 83, 26, 127, 128, 129, 74, 20, 31, 34, 35, 101, 57 }; xkeycaps-2.47/kbds/xfree86it-map.h0000644000175000017500000001073210206731453014526 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the default IT keymap used by the XFree86 3.1.1 server. * Generated by Lorenzo Maria Catucci . */ static const struct default_keycode_map xfree86it_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl, XK_at }}, { 12, 0, { XK_3, XK_sterling }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_braceleft }}, { 18, 0, { XK_9, XK_parenright, XK_braceright }}, { 19, 0, { XK_0, XK_equal, XK_asciitilde }}, { 20, 0, { XK_apostrophe, XK_question, XK_grave }}, { 21, 0, { XK_igrave, XK_asciicircum}}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_egrave, XK_eacute, XK_bracketleft }}, { 35, 0, { XK_plus, XK_asterisk, XK_bracketright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_ograve, XK_ccedilla, XK_at }}, { 48, 0, { XK_agrave, XK_degree, XK_numbersign }}, { 49, 0, { XK_backslash, XK_bar }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_ugrave, XK_section }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock }}, { 78, 0, { XK_Multi_key }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 94, 0, { XK_less, XK_greater, XK_guillemotleft, XK_guillemotright }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { XK_Help }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod3Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }}, { 115, 0, { 0 }}, { 116, 0, { 0 }}, { 117, 0, { 0 }} }; xkeycaps-2.47/kbds/omniultra-geom.h0000644000175000017500000000454410206731453015072 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file describes the physical layout of a Northgate OmniKey Ultra * keyboard (part number: 560,0020, vendor code: 777, rev 6.04, 18 June 91). * By John A. Martin */ static const struct key_geometry omniultra_geom_row0 [] = { { 7, 7}, { 7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, {10, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, {11, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7} }; static const struct key_geometry omniultra_geom_row2 [] = { { 7, 7}, { 7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, {14, 7}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7} }; static const struct key_geometry omniultra_geom_row3 [] = { { 7, 7}, { 7, 7}, { 3, 0}, {10, 7}, { 7, 7}, { 7, 7}, { 7, 7}, {7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, {7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, {11,14}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 7, 7} }; static const struct key_geometry omniultra_geom_row4 [] = { { 7, 7}, { 7, 7}, { 3, 0}, {12, 7}, { 7, 7}, { 7, 7}, {7, 7}, {7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, {7, 7}, {7, 7}, { 7, 7}, { 7, 7}, {16, 0}, {3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, {7, 7} }; static const struct key_geometry omniultra_geom_row5 [] = { { 7, 7}, { 7, 7}, { 3, 0}, {15, 7}, { 7, 7}, { 7, 7}, {7, 7}, {7, 7}, { 7, 7}, { 7, 7}, { 7, 7}, {7, 7}, {7, 7}, { 7, 7}, {13, 7}, { 7, 7}, { 3, 0}, { 7, 7}, { 7, 7}, { 7, 7}, { 3,0}, { 7, 7}, { 7, 7}, { 7, 7}, {7, 14} }; static const struct key_geometry omniultra_geom_row6 [] = { { 7, 7}, { 7, 7}, { 3, 0}, {10, 7}, { 7, 7}, {10, 7}, {50,7}, {10, 7}, { 7, 7}, {11, 7}, { 3, 0}, {10, 7}, {11, 7}, { 3, 0}, {14, 7}, { 7, 7} }; static const struct keyboard_row_geometry omniultra_geom_rows [] = { ROW (omniultra_geom_row0, 7), EMPTYROW (3), ROW (omniultra_geom_row2, 7), ROW (omniultra_geom_row3, 7), ROW (omniultra_geom_row4, 7), ROW (omniultra_geom_row5, 7), ROW (omniultra_geom_row6, 7), }; static const struct keyboard_geometry omniultra_geom = { sizeof (omniultra_geom_rows) / sizeof (struct keyboard_row_geometry), omniultra_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/mklinux-map.h0000644000175000017500000000670510206731453014376 0ustar cbcb/* * Copyright (C) by Albrecht Dress 1997. This file is "really free" under the * terms the standard X license/copyright. */ static struct default_keycode_map mac_mklinux_map [] = { { 8, 0, { XK_a, XK_A }}, { 9, 0, { XK_s, XK_S }}, { 10, 0, { XK_d, XK_D }}, { 11, 0, { XK_f, XK_F }}, { 12, 0, { XK_h, XK_H }}, { 13, 0, { XK_g, XK_G }}, { 14, 0, { XK_z, XK_Z }}, { 15, 0, { XK_x, XK_X }}, { 16, 0, { XK_c, XK_C }}, { 17, 0, { XK_v, XK_V }}, { 18, 0, { 0 }}, { 19, 0, { XK_b, XK_B }}, { 20, 0, { XK_q, XK_Q }}, { 21, 0, { XK_w, XK_W }}, { 22, 0, { XK_e, XK_E }}, { 23, 0, { XK_r, XK_R }}, { 24, 0, { XK_y, XK_Y }}, { 25, 0, { XK_t, XK_T }}, { 26, 0, { XK_1, XK_exclam }}, { 27, 0, { XK_2, XK_at }}, { 28, 0, { XK_3, XK_numbersign }}, { 29, 0, { XK_4, XK_dollar }}, { 30, 0, { XK_6, XK_asciicircum }}, { 31, 0, { XK_5, XK_percent }}, { 32, 0, { XK_equal, XK_plus }}, { 33, 0, { XK_9, XK_parenleft }}, { 34, 0, { XK_7, XK_ampersand }}, { 35, 0, { XK_minus, XK_underscore }}, { 36, 0, { XK_8, XK_asterisk }}, { 37, 0, { XK_0, XK_parenright }}, { 38, 0, { XK_bracketright, XK_braceright }}, { 39, 0, { XK_o, XK_O }}, { 40, 0, { XK_u, XK_U }}, { 41, 0, { XK_bracketleft, XK_braceleft }}, { 42, 0, { XK_i, XK_I }}, { 43, 0, { XK_p, XK_P }}, { 44, 0, { XK_Return }}, { 45, 0, { XK_l, XK_L }}, { 46, 0, { XK_j, XK_J }}, { 47, 0, { XK_apostrophe, XK_quotedbl }}, { 48, 0, { XK_k, XK_K }}, { 49, 0, { XK_semicolon, XK_colon }}, { 50, 0, { XK_backslash, XK_bar }}, { 51, 0, { XK_comma, XK_less }}, { 52, 0, { XK_slash, XK_question }}, { 53, 0, { XK_n, XK_N }}, { 54, 0, { XK_m, XK_M }}, { 55, 0, { XK_period, XK_greater }}, { 56, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 57, 0, { XK_space }}, { 58, 0, { XK_grave, XK_asciitilde }}, { 59, 0, { XK_Delete }}, { 61, 0, { XK_Escape }}, { 62, ControlMask, { XK_Control_L }}, { 63, Mod1Mask, { XK_Meta_L }}, { 64, ShiftMask, { XK_Shift_L }}, { 65, LockMask, { XK_Caps_Lock }}, { 66, 0, { XK_Alt_L }}, { 67, 0, { XK_Left }}, { 68, 0, { XK_Right }}, { 69, 0, { XK_Down }}, { 70, 0, { XK_Up }}, { 73, 0, { XK_KP_Decimal }}, { 75, 0, { XK_KP_Multiply }}, { 77, 0, { XK_KP_Add }}, { 79, 0, { XK_Clear }}, { 83, 0, { XK_KP_Divide }}, { 84, 0, { XK_KP_Enter }}, { 86, 0, { XK_KP_Subtract }}, { 89, 0, { XK_KP_Equal }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_1 }}, { 92, 0, { XK_KP_2 }}, { 93, 0, { XK_KP_3 }}, { 94, 0, { XK_KP_4 }}, { 95, 0, { XK_KP_5 }}, { 96, 0, { XK_KP_6 }}, { 97, 0, { XK_KP_7 }}, { 99, 0, { XK_KP_8 }}, { 100, 0, { XK_KP_9 }}, { 104, 0, { XK_F5 }}, { 105, 0, { XK_F6 }}, { 106, 0, { XK_F7 }}, { 107, 0, { XK_F3 }}, { 108, 0, { XK_F8 }}, { 109, 0, { XK_F9 }}, { 111, 0, { XK_F11 }}, { 113, 0, { XK_F13, XK_Print }}, { 115, 0, { XK_F14, XK_Scroll_Lock }}, { 117, 0, { XK_F10 }}, { 119, 0, { XK_F12 }}, { 121, 0, { XK_F15, XK_Pause }}, { 122, 0, { XK_Insert }}, { 123, 0, { XK_Home }}, { 124, 0, { XK_Prior }}, { 125, 0, { XK_BackSpace }}, { 126, 0, { XK_F4 }}, { 127, 0, { XK_End }}, { 128, 0, { XK_F2 }}, { 129, 0, { XK_Next }}, { 130, 0, { XK_F1 }}, { 131, ShiftMask, { XK_Shift_R }}, { 132, 0, { XK_Alt_R }}, { 133, ControlMask, { XK_Control_R }}, { 134, Mod1Mask, { XK_Meta_R }} }; xkeycaps-2.47/kbds/ncdpc-map.h0000644000175000017500000000756210206731453014000 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the default keymap of the NCD PC-Xview keyboard * By Jason Merrill */ static const struct default_keycode_map ncdpc_map [] = { { 8, 0, { XK_space, XK_space }}, { 9, 0, { XK_a, XK_A }}, { 10, 0, { XK_b, XK_B }}, { 11, 0, { XK_c, XK_C }}, { 12, 0, { XK_d, XK_D }}, { 13, 0, { XK_e, XK_E }}, { 14, 0, { XK_f, XK_F }}, { 15, 0, { XK_g, XK_G }}, { 16, 0, { XK_h, XK_H }}, { 17, 0, { XK_i, XK_I }}, { 18, 0, { XK_j, XK_J }}, { 19, 0, { XK_k, XK_K }}, { 20, 0, { XK_l, XK_L }}, { 21, 0, { XK_m, XK_M }}, { 22, 0, { XK_n, XK_N }}, { 23, 0, { XK_o, XK_O }}, { 24, 0, { XK_p, XK_P }}, { 25, 0, { XK_q, XK_Q }}, { 26, 0, { XK_r, XK_R }}, { 27, 0, { XK_s, XK_S }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_u, XK_U }}, { 30, 0, { XK_v, XK_V }}, { 31, 0, { XK_w, XK_W }}, { 32, 0, { XK_x, XK_X }}, { 33, 0, { XK_y, XK_Y }}, { 34, 0, { XK_z, XK_Z }}, { 35, 0, { XK_0, XK_parenright }}, { 36, 0, { XK_1, XK_exclam }}, { 37, 0, { XK_2, XK_at }}, { 38, 0, { XK_3, XK_numbersign }}, { 39, 0, { XK_4, XK_dollar }}, { 40, 0, { XK_5, XK_percent }}, { 41, 0, { XK_6, XK_asciicircum }}, { 42, 0, { XK_7, XK_ampersand }}, { 43, 0, { XK_8, XK_asterisk }}, { 44, 0, { XK_9, XK_parenleft }}, { 45, 0, { XK_comma, XK_less }}, { 46, 0, { XK_period, XK_greater }}, { 47, 0, { XK_slash, XK_question }}, { 48, 0, { XK_semicolon, XK_colon }}, { 49, 0, { XK_apostrophe, XK_quotedbl }}, { 50, 0, { XK_grave, XK_asciitilde }}, { 51, 0, { XK_bracketleft, XK_braceleft }}, { 52, 0, { XK_bracketright, XK_braceright }}, { 53, 0, { XK_minus, XK_underscore }}, { 54, 0, { XK_equal, XK_plus }}, { 55, 0, { XK_backslash, XK_bar }}, { 56, 0, { XK_BackSpace, XK_Delete }}, { 57, 0, { XK_Tab, XK_Tab }}, { 58, 0, { XK_Pause, XK_Pause }}, { 59, 0, { XK_Escape, XK_Escape }}, { 60, 0, { XK_Prior, XK_Prior }}, { 61, 0, { XK_Next, XK_Next }}, { 62, 0, { XK_End, XK_End }}, { 63, 0, { XK_Home, XK_Home }}, { 64, 0, { XK_Left, XK_Left }}, { 65, 0, { XK_Up, XK_Up }}, { 66, 0, { XK_Right, XK_Right }}, { 67, 0, { XK_Down, XK_Down }}, { 68, 0, { XK_Insert, XK_Insert }}, { 69, 0, { XK_Delete, XK_Delete }}, { 81, 0, { XK_KP_0, XK_Insert }}, { 82, 0, { XK_KP_1, XK_End }}, { 83, 0, { XK_KP_2, XK_Down }}, { 84, 0, { XK_KP_3, XK_Next }}, { 85, 0, { XK_KP_4, XK_Left }}, { 86, 0, { XK_KP_5, XK_KP_5 }}, { 87, 0, { XK_KP_6, XK_Right }}, { 88, 0, { XK_KP_7, XK_Home }}, { 89, 0, { XK_KP_8, XK_Up }}, { 90, 0, { XK_KP_9, XK_Prior }}, { 91, 0, { XK_KP_Multiply, XK_KP_Multiply }}, { 92, 0, { XK_KP_Add, XK_KP_Add }}, { 93, 0, { XK_KP_Subtract, XK_KP_Subtract }}, { 94, 0, { XK_KP_Decimal, XK_Delete }}, { 95, 0, { XK_KP_Divide, XK_KP_Divide }}, { 96, 0, { XK_F1, XK_F11 }}, { 97, 0, { XK_F2, XK_F12 }}, { 98, 0, { XK_F3, XK_F13 }}, { 99, 0, { XK_F4, XK_F14 }}, { 100, 0, { XK_F5, XK_F15 }}, { 101, 0, { XK_F6, XK_F16 }}, { 102, 0, { XK_F7, XK_F17 }}, { 103, 0, { XK_F8, XK_F18 }}, { 104, 0, { XK_F9, XK_F19 }}, { 105, 0, { XK_F10, XK_F20 }}, { 106, 0, { XK_F11, XK_F21 }}, { 107, 0, { XK_F12, XK_F22 }}, { 111, 0, { XK_Num_Lock, XK_Num_Lock }}, { 112, 0, { XK_Scroll_Lock, XK_Scroll_Lock }}, { 113, 0, { XK_KP_Enter, XK_KP_Enter }}, { 114, 0, { XK_Return, XK_Return }}, { 115, Mod1Mask, { XK_Alt_R, XK_Alt_R }}, { 116, Mod1Mask, { XK_Alt_L, XK_Alt_L }}, { 117, ShiftMask, { XK_Shift_R, XK_Shift_R }}, { 118, ShiftMask, { XK_Shift_L, XK_Shift_L }}, { 119, ControlMask, { XK_Control_R, XK_Control_R }}, { 120, ControlMask, { XK_Control_L, XK_Control_L }}, { 121, LockMask, { XK_Caps_Lock, XK_Caps_Lock }} }; xkeycaps-2.47/kbds/xinside-de-map.h0000644000175000017500000001057410206731453014737 0ustar cbcb/* xkeycaps, Copyright (c) 1997 Jamie Zawinski * * This file describes the keymap of a "Cherry" 102 key PC-style keyboard * on Linux 2.0 running the "Accelerated X" server from X Inside Inc. * By "D.Stolte" */ static const struct default_keycode_map xinside_de_map [] = { { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 12, 0, { XK_3, XK_section, XK_threesuperior }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_ampersand }}, { 16, 0, { XK_7, XK_slash, XK_braceleft }}, { 17, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 18, 0, { XK_9, XK_parenright, XK_bracketright }}, { 19, 0, { XK_0, XK_equal, XK_braceright }}, { 20, 0, { XK_ssharp, XK_question, XK_backslash }}, { 21, 0, { XK_acute, XK_grave }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab }}, { 24, 0, { XK_q, XK_Q, XK_at }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_z, XK_Z }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_udiaeresis, XK_Udiaeresis }}, { 35, 0, { XK_plus, XK_asterisk, XK_asciitilde }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_odiaeresis, XK_Odiaeresis }}, { 48, 0, { XK_adiaeresis, XK_Adiaeresis }}, { 49, 0, { XK_asciicircum, XK_degree }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_numbersign, XK_apostrophe }}, { 52, 0, { XK_y, XK_Y }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M, XK_mu }}, { 59, 0, { XK_comma, XK_semicolon }}, { 60, 0, { XK_period, XK_colon }}, { 61, 0, { XK_minus, XK_underscore }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, 0, { XK_Num_Lock }}, { 78, Mod4Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_7 }}, { 80, 0, { XK_KP_8 }}, { 81, 0, { XK_KP_9 }}, { 82, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_4 }}, { 84, 0, { XK_KP_5 }}, { 85, 0, { XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_1 }}, { 88, 0, { XK_KP_2 }}, { 89, 0, { XK_KP_3 }}, { 90, 0, { XK_KP_0 }}, { 91, 0, { XK_KP_Decimal }}, { 92, 0, { XK_Print }}, { 93, 0, { XK_Down }}, { 94, 0, { XK_less, XK_greater, XK_bar }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, #if 0 /* which is it? */ { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 101, 0, { XK_Begin }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause }}, { 111, 0, { XK_Print }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod5Mask, { XK_Mode_switch }}, { 114, 0, { XK_Break }} #endif { 118, 0, { XK_Left }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_Meta_L }}, { 121, 0, { XK_Meta_R }}, { 122, Mod3Mask, { XK_Mode_switch }}, { 123, ControlMask, { XK_Control_R }}, { 124, 0, { XK_KP_Enter }}, { 125, 0, { XK_KP_Divide }}, { 126, 0, { XK_Menu }}, { 127, 0, { XK_Pause }}, { 128, 0, { XK_Up }}, { 129, 0, { XK_Delete }}, { 130, 0, { XK_End }}, { 131, 0, { XK_Insert }}, { 133, 0, { XK_Right }}, { 134, 0, { XK_Next }}, { 135, 0, { XK_Home }}, { 136, 0, { XK_Break }}, { 137, 0, { XK_Sys_Req }}, }; xkeycaps-2.47/kbds/butterfly-caps.h0000644000175000017500000000512510206731453015073 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Soft key "Butterfly" keyboard * with US layout. * By Edgar Greuter . * The actual image on the "Window"-keys is a square with two diagonals. * The actual image of the "Menu"-key is a square with an outlined white * mouse pointer pointing to the upper left corner. * The additional lower curser block has diagonal arrows in its 4 corners. */ static const struct key_strings butterfly_caps [] = { /* Row 0 */ {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, /* Row 2 */ {"Print", "Screen", "SysRq"}, {"Scroll", "Lock", 0}, {"Pause", "", "Break"}, {"Esc", 0}, {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"F13", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 4 */ {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"F14", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"F15", 0}, {"UpArrow", 0}, {"F16", 0}, {"Enter", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 6 */ {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"Ctrl", 0}, {"Alt", 0}, {"|", "\\", 0}, {"Window", 0}, {" ", 0}, {"Window", 0}, {"Menu", 0}, {"|", "\\", 0}, {"Alt", 0}, {"Ctrl", 0}, {"0", "Ins", 0}, {".", "Del", 0}, /* additional cursor block */ {"", "UpArrow", 0}, {"UpArrow", 0}, {"", "UpArrow", 0}, {"LeftArrow", 0}, {"CSC", 0}, {"RightArrow", 0}, {"", "DownArrow", 0}, {"DownArrow", 0}, {"", "DownArrow", 0}, }; xkeycaps-2.47/kbds/sgi6no-r6-map.h0000644000175000017500000001172110206731453014433 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the default Norwegian keymap of the SGI Iris keyboard. * Generated by on Irix 6.2 (x11r6) */ static const struct default_keycode_map sgi6no_r6_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_bar, XK_section, XK_notsign }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 27, 0, { XK_less, XK_greater, XK_bar, XK_brokenbar }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 30, 0, { XK_1, XK_exclam, XK_onesuperior, XK_exclamdown }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 34, 0, { XK_z, XK_Z, XK_guillemotleft, XK_less }}, { 35, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 36, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 37, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 38, 0, { XK_2, XK_quotedbl, XK_at, XK_oneeighth }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 42, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 43, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 44, 0, { XK_e, XK_E }}, { 45, 0, { XK_4, XK_currency, XK_dollar, XK_dollar }}, { 46, 0, { XK_3, XK_numbersign, XK_sterling, XK_sterling }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_v, XK_V }}, { 51, 0, { XK_f, XK_F, XK_dstroke, XK_ordfeminine }}, { 52, 0, { XK_t, XK_T, XK_tslash, XK_Tslash }}, { 53, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 54, 0, { XK_5, XK_percent, XK_onehalf, XK_threeeighths }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_b, XK_B }}, { 59, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 60, 0, { XK_g, XK_G, XK_eng, XK_ENG }}, { 61, 0, { XK_y, XK_Y, XK_leftarrow, XK_yen }}, { 62, 0, { XK_6, XK_ampersand, XK_threequarters, XK_fiveeighths }}, { 63, 0, { XK_F7 }}, { 65, Mod3Mask, { XK_Mode_switch, XK_Multi_key }}, { 66, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 67, 0, { XK_j, XK_J }}, { 68, 0, { XK_u, XK_U, XK_downarrow, XK_uparrow }}, { 69, 0, { XK_7, XK_slash, XK_braceleft, XK_seveneighths }}, { 70, 0, { XK_8, XK_parenleft, XK_bracketleft, XK_trademark }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon, XK_horizconnector, XK_multiply }}, { 74, 0, { XK_k, XK_K, XK_k, XK_ampersand }}, { 75, 0, { XK_i, XK_I, XK_rightarrow, XK_idotless }}, { 76, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 77, 0, { XK_0, XK_equal, XK_braceright, XK_degree }}, { 78, 0, { XK_9, XK_parenright, XK_bracketright, XK_plusminus }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon, XK_periodcentered, XK_division }}, { 82, 0, { XK_minus, XK_underscore, XK_dead_abovedot, XK_dead_abovedot }}, { 83, 0, { XK_l, XK_L }}, { 84, 0, { XK_oslash, XK_Ooblique, XK_dead_acute, XK_dead_doubleacute }}, { 85, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 86, 0, { XK_plus, XK_question, XK_backslash, XK_questiondown }}, { 87, 0, { XK_F10 }}, { 90, 0, { XK_ae, XK_AE, XK_dead_circumflex }}, { 91, 0, { XK_apostrophe, XK_asterisk, XK_dead_grave, XK_dead_breve }}, { 92, 0, { XK_aring, XK_Aring, XK_dead_diaeresis, XK_dead_abovering }}, { 93, 0, { XK_backslash, XK_grave, XK_acute, XK_dead_ogonek }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Print, XK_Execute }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_diaeresis, XK_asciicircum, XK_asciitilde, XK_dead_macron }}, { 100, 0, { XK_apostrophe, XK_asterisk, XK_dead_grave, XK_dead_breve }}, { 102, 0, { XK_F12 }}, { 103, Mod3Mask, { XK_Scroll_Lock, XK_SGI_Long_Compose }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { XK_Pause, XK_Break }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_End, XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_Left, XK_KP_4 }}, { 116, 0, { XK_KP_Home, XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_Insert, XK_KP_0 }}, { 121, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 122, 0, { XK_KP_Down, XK_KP_2 }}, { 123, 0, { XK_KP_Begin, XK_KP_5 }}, { 124, 0, { XK_KP_Right, XK_KP_6 }}, { 125, 0, { XK_KP_Up, XK_KP_8 }}, { 126, Mod2Mask, { XK_Num_Lock }}, { 127, 0, { XK_KP_Divide }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_Next, XK_KP_3 }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_Prior, XK_KP_9 }}, { 134, 0, { XK_KP_Multiply }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/hppcuk-map.h0000644000175000017500000000702610206731453014176 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * Key map for HP PC Keyboard (UK Version) * Generated by Chris Paulson-Ellis */ static const struct default_keycode_map hppcuk_map [] = { { 8, ControlMask, { XK_Control_R }}, { 10, Mod1Mask, { XK_Meta_R }}, { 11, Mod1Mask, { XK_Meta_L }}, { 12, ShiftMask, { XK_Shift_R }}, { 13, ShiftMask, { XK_Shift_L }}, { 14, ControlMask, { XK_Control_L }}, { 15, 0, { XK_Break, hpXK_Reset }}, { 16, 0, { XK_KP_4, XK_Left }}, { 17, 0, { XK_KP_8, XK_Up }}, { 18, 0, { XK_KP_5 }}, { 19, 0, { XK_KP_9, XK_Prior }}, { 20, 0, { XK_KP_6, XK_Right }}, { 21, 0, { XK_KP_7, XK_Home }}, { 23, 0, { XK_KP_Enter }}, { 24, 0, { XK_KP_1, XK_End }}, { 25, 0, { XK_KP_Divide }}, { 26, 0, { XK_KP_2, XK_Down }}, { 27, 0, { XK_KP_Add }}, { 28, 0, { XK_KP_3, XK_Next }}, { 29, 0, { XK_KP_Multiply }}, { 30, 0, { XK_KP_0, XK_Insert }}, { 31, 0, { XK_KP_Subtract }}, { 32, 0, { XK_B }}, { 33, 0, { XK_V }}, { 34, 0, { XK_C }}, { 35, 0, { XK_X }}, { 36, 0, { XK_Z }}, { 39, 0, { XK_Escape }}, { 41, 0, { XK_F10, XK_KP_F2 }}, { 43, 0, { XK_F11, XK_KP_F3 }}, { 44, 0, { XK_KP_Decimal, XK_Delete }}, { 45, 0, { XK_F9, XK_KP_F1 }}, { 47, 0, { XK_F12, XK_KP_F4 }}, { 48, 0, { XK_H }}, { 49, 0, { XK_G }}, { 50, 0, { XK_F }}, { 51, 0, { XK_D }}, { 52, 0, { XK_S }}, { 53, 0, { XK_A }}, { 54, Mod1Mask, { XK_Mode_switch, 0, 0, XK_Mode_switch }}, { 55, LockMask, { XK_Caps_Lock }}, { 56, 0, { XK_U }}, { 57, 0, { XK_Y }}, { 58, 0, { XK_T }}, { 59, 0, { XK_R }}, { 60, 0, { XK_E }}, { 61, 0, { XK_W }}, { 62, 0, { XK_Q }}, { 63, 0, { XK_Tab, hpXK_BackTab }}, { 64, 0, { XK_7, XK_ampersand }}, { 65, 0, { XK_6, XK_asciicircum }}, { 66, 0, { XK_5, XK_percent }}, { 67, 0, { XK_4, XK_dollar }}, { 68, 0, { XK_3, XK_sterling }}, { 69, 0, { XK_2, XK_quotedbl }}, { 70, 0, { XK_1, XK_exclam }}, { 71, 0, { XK_grave, XK_notsign, XK_bar }}, { 80, 0, { XK_Menu, 0xFF15 }}, { 81, 0, { XK_F4 }}, { 82, 0, { XK_F3 }}, { 83, 0, { XK_F2 }}, { 84, 0, { XK_F1 }}, { 86, 0, { XK_Cancel }}, { 88, 0, { hpXK_System, hpXK_User }}, { 89, 0, { XK_F5 }}, { 90, 0, { XK_F6 }}, { 91, 0, { XK_F7 }}, { 92, 0, { XK_F8 }}, { 96, 0, { XK_8, XK_asterisk }}, { 97, 0, { XK_9, XK_parenleft }}, { 98, 0, { XK_0, XK_parenright }}, { 99, 0, { XK_minus, XK_underscore }}, { 100, 0, { XK_equal, XK_plus }}, { 101, 0, { XK_BackSpace }}, { 104, 0, { XK_I }}, { 105, 0, { XK_O }}, { 106, 0, { XK_P }}, { 107, 0, { XK_bracketleft, XK_braceleft }}, { 108, 0, { XK_bracketright, XK_braceright }}, { 110, 0, { hpXK_InsertChar }}, { 111, 0, { hpXK_DeleteChar }}, { 112, 0, { XK_J }}, { 113, 0, { XK_K }}, { 114, 0, { XK_L }}, { 115, 0, { XK_semicolon, XK_colon }}, { 116, 0, { XK_apostrophe, XK_at }}, { 117, 0, { XK_Return }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_M }}, { 121, 0, { XK_comma, XK_less }}, { 122, 0, { XK_period, XK_greater }}, { 123, 0, { XK_slash, XK_question }}, { 124, 0, { XK_numbersign, XK_asciitilde }}, { 125, 0, { XK_Select }}, { 126, 0, { XK_backslash, XK_brokenbar }}, { 127, 0, { XK_Next }}, { 128, 0, { XK_N }}, { 129, 0, { XK_space }}, { 132, 0, { XK_Left }}, { 133, 0, { XK_Down }}, { 134, 0, { XK_Up }}, { 135, 0, { XK_Right }} }; xkeycaps-2.47/kbds/pc102it-caps.h0000644000175000017500000000373110206731453014236 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * This file by Lorenzo M. Catucci */ static const struct key_strings pc102it_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Stamp", "R Sist", 0}, {"Bloc", "Scorr", 0}, {"Pausa", "Interr", 0}, /* Row 2 */ {"|", "\\", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"\243", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"=", "0", 0}, {"?", "'", 0}, {"^", "\354", 0}, {"LeftArrow", 0}, {"Ins", 0}, {"Inizio", 0}, {"Pag", "UpArrow", 0}, {"Bloc", "Num", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"LeftArrow","RightArrow"}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\351", "\350", "["}, {"*", "+", "]"}, {"Invio", 0}, {"Canc", 0}, {"Fine", 0}, {"Pag", "DownArrow", 0}, {"7", "Inizio", 0}, {"8", "UpArrow", 0}, {"9", "Pag Su", 0}, {"+", 0}, /* Row 4 */ {"Bloc", "Maius"}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\347", "\362", "@" }, {"\260", "\340", "#" }, {"\247", "\372", 0 }, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "Fine", 0}, {"2", "DownArrow", 0}, {"3", "Pag Giu", 0}, {"Invio", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Canc", 0} }; xkeycaps-2.47/kbds/sun5jp-caps.h0000644000175000017500000000443710206731453014304 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the Sun type 5 Japanese keyboard. * By Kazutaka Yokota (yokota@zodiac.mech.utsunomiya-u.ac.jp). */ static const struct key_strings sun5jp_caps [] = { /* Row 0 */ {"Help", 0}, {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, {"Scroll", "Lock", 0}, {"Pause", 0}, {"Degauss", "Mute", 0}, {"Dim", "Quiet", 0}, {"Bright", "Loud", 0}, {"Power", 0}, /* Row 1 */ {"Stop", 0}, {"Again", 0}, {"|", "\\", 0}, {"!", "1", 0}, {"\"", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"'", "7", 0}, {"(", "8", 0}, {")", "9", 0}, {"", "0", 0}, {"=", "-", 0}, {"~", "^", 0}, {"Back ", "Space", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 2 */ {"Props", 0}, {"Undo", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"`", "@", 0}, {"{", "[", 0}, {"Return", 0}, {"Del", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "upArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Front", 0}, {"Copy", 0}, {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"+", ";", 0}, {"*", ":", 0}, {"}", "]", 0}, {"4", "leftArrow", 0}, {"5", 0}, {"6", "rightArrow", 0}, /* Row 4 */ {"Open", 0}, {"Paste", 0}, {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"_", "\\", 0}, {"Shift", 0}, {"upArrow", 0}, {"1", "End", 0}, {"2", "downArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Find", 0}, {"Cut", 0}, {"Ctrl", 0}, {"Alt", 0}, {"<>", 0}, {"Conf", 0}, {" ", 0}, {"Conv", 0}, {"Japanese", "on/off", 0}, {"<>", 0}, {"Com-", "pose", 0}, {"Roman", "/Kana", 0}, {"leftArrow", 0}, {"downArrow", 0}, {"rightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pc105no-caps.h0000644000175000017500000000424510206731453014242 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 * Jamie Zawinski * * This file describes the key surfaces of a "Keytronic" 105 key PC-style * keyboard, norwegian layout. By Håvard Kvålen */ static const struct key_strings pc105no_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtScr", "SysRq", 0}, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\247", "| \246", 0}, {"!", "1", 0}, {"\"", "2 @", 0}, {"#", "3 \243", 0}, {"\244","4 $", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"\075", "0 }", 0}, {"?", "+", 0}, {"`", "\\ '", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "up", 0}, {"Num", "Lock", 0}, {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0, 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0}, {"^", "\250 ~", 0}, {"Enter", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\330", 0}, {"\306", 0}, {"*", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"=/+/", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/ncd97-geom.h0000644000175000017500000000337110206731453014001 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the physical layout of the NCD X terminal N97 keyboard. */ static const struct key_geometry ncd97_geom_row0 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7} }; static const struct key_geometry ncd97_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd97_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd97_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {14, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry ncd97_geom_row5 [] = { {16, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {10, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry ncd97_geom_row6 [] = { {9, 7}, {9, 7}, {62, 7}, {9, 7}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry ncd97_geom_rows [] = { ROW (ncd97_geom_row0, 7), EMPTYROW (3), ROW (ncd97_geom_row2, 7), ROW (ncd97_geom_row3, 7), ROW (ncd97_geom_row4, 7), ROW (ncd97_geom_row5, 7), ROW (ncd97_geom_row6, 7), }; static const struct keyboard_geometry ncd97_geom = { sizeof (ncd97_geom_rows) / sizeof (struct keyboard_row_geometry), ncd97_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/lk450-map.h0000644000175000017500000001230310206731453013535 0ustar cbcb/* xkeycaps, Copyright (c) 1999 Jamie Zawinski * * This file describes the default keymap of the DEC LK450 keyboard, * using XFree86-3.3.2-13 on Linux 2.0.35. * * Robin Stephenson 1998 * */ static const struct default_keycode_map lk450_map [] = { /* These keys aren't picked up by XFree86 so I've added them to the map by hand. I put in mappings to 0 => NoSymbol -- I tried VoidSymbol, but got `Unrecognised vendor keysym 0x00FFFFFF' errors. */ { 118, 0, { 0 }}, { 119, 0, { 0 }}, { 120, 0, { 0 }}, { 121, 0, { 0 }}, { 122, 0, { 0 }}, { 82, 0, { 0 }}, /* The default map as generated by build-map.sh */ { 9, 0, { XK_Escape }}, { 10, 0, { XK_1, XK_exclam }}, { 11, 0, { XK_2, XK_at }}, { 12, 0, { XK_3, XK_numbersign }}, { 13, 0, { XK_4, XK_dollar }}, { 14, 0, { XK_5, XK_percent }}, { 15, 0, { XK_6, XK_asciicircum }}, { 16, 0, { XK_7, XK_ampersand }}, { 17, 0, { XK_8, XK_asterisk }}, { 18, 0, { XK_9, XK_parenleft }}, { 19, 0, { XK_0, XK_parenright }}, { 20, 0, { XK_minus, XK_underscore }}, { 21, 0, { XK_equal, XK_plus }}, { 22, 0, { XK_BackSpace }}, { 23, 0, { XK_Tab, XK_ISO_Left_Tab }}, { 24, 0, { XK_q, XK_Q }}, { 25, 0, { XK_w, XK_W }}, { 26, 0, { XK_e, XK_E }}, { 27, 0, { XK_r, XK_R }}, { 28, 0, { XK_t, XK_T }}, { 29, 0, { XK_y, XK_Y }}, { 30, 0, { XK_u, XK_U }}, { 31, 0, { XK_i, XK_I }}, { 32, 0, { XK_o, XK_O }}, { 33, 0, { XK_p, XK_P }}, { 34, 0, { XK_bracketleft, XK_braceleft }}, { 35, 0, { XK_bracketright, XK_braceright }}, { 36, 0, { XK_Return }}, { 37, ControlMask, { XK_Control_L }}, { 38, 0, { XK_a, XK_A }}, { 39, 0, { XK_s, XK_S }}, { 40, 0, { XK_d, XK_D }}, { 41, 0, { XK_f, XK_F }}, { 42, 0, { XK_g, XK_G }}, { 43, 0, { XK_h, XK_H }}, { 44, 0, { XK_j, XK_J }}, { 45, 0, { XK_k, XK_K }}, { 46, 0, { XK_l, XK_L }}, { 47, 0, { XK_semicolon, XK_colon }}, { 48, 0, { XK_apostrophe, XK_quotedbl }}, { 49, 0, { XK_grave, XK_asciitilde }}, { 50, ShiftMask, { XK_Shift_L }}, { 51, 0, { XK_backslash, XK_bar }}, { 52, 0, { XK_z, XK_Z }}, { 53, 0, { XK_x, XK_X }}, { 54, 0, { XK_c, XK_C }}, { 55, 0, { XK_v, XK_V }}, { 56, 0, { XK_b, XK_B }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_m, XK_M }}, { 59, 0, { XK_comma, XK_less }}, { 60, 0, { XK_period, XK_greater }}, { 61, 0, { XK_slash, XK_question }}, { 62, ShiftMask, { XK_Shift_R }}, { 63, 0, { XK_KP_Multiply }}, { 64, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 65, 0, { XK_space }}, { 66, LockMask, { XK_Caps_Lock }}, { 67, 0, { XK_F1 }}, { 68, 0, { XK_F2 }}, { 69, 0, { XK_F3 }}, { 70, 0, { XK_F4 }}, { 71, 0, { XK_F5 }}, { 72, 0, { XK_F6 }}, { 73, 0, { XK_F7 }}, { 74, 0, { XK_F8 }}, { 75, 0, { XK_F9 }}, { 76, 0, { XK_F10 }}, { 77, Mod2Mask, { XK_Num_Lock, XK_Pointer_EnableKeys }}, { 78, Mod5Mask, { XK_Scroll_Lock }}, { 79, 0, { XK_KP_Home, XK_KP_7 }}, { 80, 0, { XK_KP_Up, XK_KP_8 }}, { 81, 0, { XK_KP_Prior, XK_KP_9 }}, { 123, 0, { XK_KP_Subtract }}, { 83, 0, { XK_KP_Left, XK_KP_4 }}, { 84, 0, { XK_KP_Begin, XK_KP_5 }}, { 85, 0, { XK_KP_Right, XK_KP_6 }}, { 86, 0, { XK_KP_Add }}, { 87, 0, { XK_KP_End, XK_KP_1 }}, { 88, 0, { XK_KP_Down, XK_KP_2 }}, { 89, 0, { XK_KP_Next, XK_KP_3 }}, { 90, 0, { XK_KP_Insert, XK_KP_0 }}, { 91, 0, { XK_KP_Delete, XK_KP_Decimal }}, { 95, 0, { XK_F11 }}, { 96, 0, { XK_F12 }}, { 97, 0, { XK_Home }}, { 98, 0, { XK_Up }}, { 99, 0, { XK_Prior }}, { 100, 0, { XK_Left }}, { 102, 0, { XK_Right }}, { 103, 0, { XK_End }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Next }}, { 106, 0, { XK_Insert }}, { 107, 0, { XK_Delete }}, { 108, 0, { XK_KP_Enter }}, { 109, ControlMask, { XK_Control_R }}, { 110, 0, { XK_Pause, XK_Break }}, { 111, 0, { XK_Print, XK_Execute }}, { 112, 0, { XK_KP_Divide }}, { 113, Mod1Mask, { XK_Alt_R, XK_Meta_R }}, }; xkeycaps-2.47/kbds/gvc-codes.h0000644000175000017500000000207710206731453014004 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1997 Jamie Zawinski * * file for the keycodes of the GVC Win '95 keyboard (I think they use it for * all models) in the U.S. sold as ARM notebooks (model ARM 753CD was used * for creating these files) * * Note: the keycodes generated by Fn+.. keys are not included, since * xkeycaps does not allow two different keycodes for one "physical" * key. Even though it is quite common on laptops to "map" the numeric * keypad, etc. to other keys (wich can be accessed with a special `Fn` key) * * by R.Back */ static const KeyCode gvc_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 77, 111, 78, 110, /* Row 2 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 49, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 97, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 106, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 107, /* Row 6 */ 0, 37, 64, 115, 94, 65, 117, 113, 109, 100, 104, 102 }; xkeycaps-2.47/kbds/sgi5de-codes.h0000644000175000017500000000150110206731453014374 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the keycodes of the German SGI Iris keyboard. * By Benedikt Kessler for Irix 5.2. */ static const KeyCode sgi5de_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 94, 102, 95, 103, 106, /* Row 2 */ 22, 30, 38, 46, 45, 54, 62, 69, 70, 78, 77, 86, 93, 110, 111, 118, 119, 126, 127, 134, 140, /* Row 3 */ 21, 29, 37, 44, 53, 52, 61, 68, 75, 76, 85, 92, 99, 98, 108, 109, 117, 116, 125, 133, 132, /* Row 4 */ 28, 36, 35, 43, 51, 60, 59, 67, 74, 83, 84, 90, 91, 115, 123, 124, /* Row 5 */ 26, 27, 34, 42, 41, 50, 58, 57, 66, 73, 81, 82, 97, 107, 113, 122, 130, 129, /* Row 6 */ 25, 33, 49, 65, 96, 105, 104, 114, 120, 121 }; xkeycaps-2.47/kbds/hclpc-caps.h0000644000175000017500000000455310206731453014150 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the key surfaces of the HCL eXceed PC X-server keyboard. * By Grant McDorman */ static const struct key_strings hclpc_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "Screen", 0}, /* keycode assigned but not generated? */ {"Scroll", "Lock", 0}, {"Pause", 0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, /* no keycode assigned or generated. */ {"/", 0}, {"*", 0}, {"-", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"Delete", 0}, {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 4 */ {"Caps Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"Alt", 0}, /* no keycode assigned or generated. */ {" ", 0}, {"Alt", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {".", "Del", 0}, /* Row 7 */ /* Row 8 */ {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"+", 0}, /* Row 9 */ {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 10 */ {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 11 */ {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/pc101-codes.h0000644000175000017500000000153710206731453014051 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996 * Jamie Zawinski * * This file describes the keycodes of a generic 101 key Dell keyboard * on BSDI running the "Accelerated X" server from X Inside Inc. * By Joe Siegrist . */ static const KeyCode pc101_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 92, 78, 127, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 131, 135, 119, 77, 125, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 129, 130, 134, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 128, 87, 88, 89, 124, /* Row 6 */ 37, 64, 65, 122, 123, 118, 93, 133, 90, 91 }; xkeycaps-2.47/kbds/sgi5de-r5-map.h0000644000175000017500000001115010206731453014401 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994 * Jamie Zawinski * * This file describes the default keymap of the SGI Iris keyboard. * Generated by Benedikt Kessler on Irix 5.2, (x11r5). */ static const struct default_keycode_map sgi5de_r5_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_Escape }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_dead_circumflex, XK_degree, XK_notsign }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 27, 0, { XK_less, XK_greater, XK_bar, XK_brokenbar }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_q, XK_Q, XK_at, XK_Greek_OMEGA }}, { 30, 0, { XK_1, XK_exclam, XK_onesuperior, XK_exclamdown }}, { 31, 0, { XK_F3 }}, { 33, Mod1Mask, { XK_Alt_L, XK_Meta_L }}, { 34, 0, { XK_y, XK_Y, XK_guillemotleft, XK_less }}, { 35, 0, { XK_s, XK_S, XK_ssharp, XK_section }}, { 36, 0, { XK_a, XK_A, XK_ae, XK_AE }}, { 37, 0, { XK_w, XK_W, XK_lstroke, XK_Lstroke }}, { 38, 0, { XK_2, XK_quotedbl, XK_twosuperior }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_c, XK_C, XK_cent, XK_copyright }}, { 42, 0, { XK_x, XK_X, XK_guillemotright, XK_greater }}, { 43, 0, { XK_d, XK_D, XK_eth, XK_ETH }}, { 44, 0, { XK_e, XK_E }}, { 45, 0, { XK_4, XK_dollar, XK_onequarter, XK_currency }}, { 46, 0, { XK_3, XK_section, XK_threesuperior, XK_sterling }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_v, XK_V }}, { 51, 0, { XK_f, XK_F, XK_VoidSymbol, XK_ordfeminine }}, { 52, 0, { XK_t, XK_T }}, { 53, 0, { XK_r, XK_R, XK_paragraph, XK_registered }}, { 54, 0, { XK_5, XK_percent, XK_onehalf }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_n, XK_N }}, { 58, 0, { XK_b, XK_B }}, { 59, 0, { XK_h, XK_H, XK_hstroke, XK_Hstroke }}, { 60, 0, { XK_g, XK_G }}, { 61, 0, { XK_z, XK_Z, XK_VoidSymbol, XK_yen }}, { 62, 0, { XK_6, XK_ampersand, XK_threequarters }}, { 63, 0, { XK_F7 }}, { 65, Mod3Mask, { XK_Mode_switch, XK_Multi_key }}, { 66, 0, { XK_m, XK_M, XK_mu, XK_masculine }}, { 67, 0, { XK_j, XK_J }}, { 68, 0, { XK_u, XK_U }}, { 69, 0, { XK_7, XK_slash, XK_braceleft }}, { 70, 0, { XK_8, XK_parenleft, XK_bracketleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon, XK_VoidSymbol, XK_multiply }}, { 74, 0, { XK_k, XK_K, XK_k, XK_ampersand }}, { 75, 0, { XK_i, XK_I }}, { 76, 0, { XK_o, XK_O, XK_oslash, XK_Ooblique }}, { 77, 0, { XK_0, XK_equal, XK_braceright, XK_degree }}, { 78, 0, { XK_9, XK_parenright, XK_bracketright, XK_plusminus }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon, XK_periodcentered, XK_division }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_l, XK_L }}, { 84, 0, { XK_odiaeresis, XK_Odiaeresis, XK_dead_acute }}, { 85, 0, { XK_p, XK_P, XK_thorn, XK_THORN }}, { 86, 0, { XK_ssharp, XK_question, XK_backslash, XK_questiondown }}, { 87, 0, { XK_F10 }}, { 90, 0, { XK_adiaeresis, XK_Adiaeresis, XK_dead_circumflex }}, { 91, 0, { XK_numbersign, XK_apostrophe, XK_dead_grave }}, { 92, 0, { XK_udiaeresis, XK_Udiaeresis, XK_dead_diaeresis }}, { 93, 0, { XK_dead_acute, XK_dead_grave, XK_dead_cedilla }}, { 94, 0, { XK_F11 }}, { 95, 0, { XK_Print, XK_Execute }}, { 96, ControlMask, { XK_Control_R }}, { 97, ShiftMask, { XK_Shift_R }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_plus, XK_asterisk, XK_dead_tilde, XK_dead_macron }}, { 102, 0, { XK_F12 }}, { 103, Mod3Mask, { XK_Scroll_Lock, XK_SGI_Long_Compose }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { XK_Pause, XK_Break }}, { 107, 0, { XK_Up }}, { 108, 0, { XK_Delete }}, { 109, 0, { XK_End }}, { 110, 0, { XK_BackSpace }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_End, XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_Left, XK_KP_4 }}, { 116, 0, { XK_KP_Home, XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Home }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_Insert, XK_KP_0 }}, { 121, 0, { XK_KP_Delete, XK_KP_Separator }}, { 122, 0, { XK_KP_Down, XK_KP_2 }}, { 123, 0, { XK_KP_Begin, XK_KP_5 }}, { 124, 0, { XK_KP_Right, XK_KP_6 }}, { 125, 0, { XK_KP_Up, XK_KP_8 }}, { 126, Mod2Mask, { XK_Num_Lock }}, { 127, 0, { XK_KP_Divide }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_Next, XK_KP_3 }}, { 132, 0, { XK_KP_Add }}, { 133, 0, { XK_KP_Prior, XK_KP_9 }}, { 134, 0, { XK_KP_Multiply }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/rs6k-codes.h0000644000175000017500000000144210206731453014105 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the IBM RS/6000 keyboard. * By Tom McConnell */ static const KeyCode rs6k_codes [] = { /* Row 0 */ 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, /* Row 2 */ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 83, 88, 93, 98, 103, 108, 113, /* Row 3 */ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 84, 89, 94, 99, 104, 109, 114, /* Row 4 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 100, 105, 110, /* Row 5 */ 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 91, 101, 106, 111, 116, /* Row 6 */ 66, 68, 69, 70, 72, 87, 92, 97, 107, 112 }; xkeycaps-2.47/kbds/pc104-2-codes.h0000644000175000017500000000157410206731453014214 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the keycodes of a generic 104 key PC keyboard * on NetBSD with Xfree86 3.x. This is based on file "linux102-codes.h", * as modified by Steven Winikoff, 1997/04/23. */ static const KeyCode pc104_2_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 92, 78, 127, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 131, 135, 119, 77, 125, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 129, 130, 134, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 83, 84, 85, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 128, 87, 88, 89, 124, /* Row 6 */ 37, 120, 64, 65, 122, 121, 126, 123, 118, 93, 133, 90, 91 }; xkeycaps-2.47/kbds/ncd102-codes.h0000644000175000017500000000137310206731453014212 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD X terminal N102 keyboard. */ static const KeyCode ncd102_codes [] = { /* Row 0 */ 8, 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 86, 94, 87, 95, 98, /* Row 2 */ 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 103, 110, 111, 118, 119, 126, 123, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 90, 100, 101, 109, 108, 117, 125, 124, /* Row 4 */ 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 83, 107, 115, 116, /* Row 5 */ 18, 19, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 99, 105, 114, 122, 121, /* Row 6 */ 17, 25, 41, 57, 88, 97, 96, 106, 112, 113 }; xkeycaps-2.47/kbds/shine106-geom.h0000644000175000017500000000377710206731453014424 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the physical layout of the Microsoft "Natural" keyboard (part 58221). */ static const struct key_geometry shine106_geom_row0 [] = { {7, 7}, {6, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {17, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry shine106_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {15, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry shine106_geom_row3 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {10, 14}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry shine106_geom_row4 [] = { {12, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {12, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {39, 0}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry shine106_geom_row5 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {21, 7}, {11, 0}, {7, 7}, {11, 0}, {7, 7}, {7, 7}, {7, 7}, {7, 14} }; static const struct key_geometry shine106_geom_row6 [] = { {12, 7}, {12, 7}, {12, 7}, {18, 7}, {3, 0}, {18, 7}, {11, 7}, {10, 7}, {11, 7}, {11, 7}, {4, 0}, {7, 7}, {7, 7}, {7, 7}, {4, 0}, {14, 7}, {7, 7} }; static const struct keyboard_row_geometry shine106_geom_rows [] = { ROW (shine106_geom_row0, 7), EMPTYROW (5), ROW (shine106_geom_row2, 7), ROW (shine106_geom_row3, 7), ROW (shine106_geom_row4, 7), ROW (shine106_geom_row5, 7), ROW (shine106_geom_row6, 7), }; static const struct keyboard_geometry shine106_geom = { sizeof (shine106_geom_rows) / sizeof (struct keyboard_row_geometry), shine106_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/pc105-codes.h0000644000175000017500000000163310206731453014052 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997, 1998 * Jamie Zawinski * * This file describes the keycodes of a generic 105 key PC keyboard with * Microsoft keys, as used in Slovenia. This is based on "xinside_codes3.h". * By Andrej Presern , 18. May 1998 */ static const KeyCode pc105_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 92, 78, 127, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 131, 135, 119, 77, 125, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 129, 130, 134, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 83, 84, 85, /* Row 5 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 128, 87, 88, 89, 124, /* Row 6 */ 37, 120, 64, 65, 122, 121, 126, 123, 118, 93, 133, 90, 91 }; xkeycaps-2.47/kbds/pc107-codes.h0000644000175000017500000000157610206731453014062 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keycodes of a Brazilian ABNT2 107 key PC keyboard * on Linux RedHat with Xfree86 3.x. This is based on file "linux104-codes.h" * By Andre Gerhard - 05/12/98 */ static const KeyCode pc107_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 78, 110, /* Row 2 */ 49, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 106, 97, 99, 77, 112, 63, 82, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 107, 103, 105, 79, 80, 81, 86, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 83, 84, 85, 134, /* Row 5 */ 50, 94, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 123, 62, 98, 87, 88, 89, 108, /* Row 6 */ 37, 115, 64, 65, 113, 116, 117, 109, 100, 104, 102, 90, 91 }; xkeycaps-2.47/kbds/tm4000m-caps.h0000644000175000017500000000330710206731453014154 0ustar cbcb/* xkeycaps, Copyright (c) 1994, 1995, 1996 Jamie Zawinski * * This file describes the key surfaces of the Texas Instruments * TravelMate 4000M multimedia notebook keyboard interface. * By Kenneth E. Harker */ static const struct key_strings tm4000m_caps [] = { /* Row 0 */ {"Esc","Setup",0}, {"F1",0,0}, {"F2",0,0}, {"F3",0,0}, {"F4",0,0}, {"F5",0,0}, {"F6",0,0}, {"F7",0,0}, {"F8","/",0}, {"F9","*",0}, {"F10","-",0}, {"F11",0,0}, {"F12",0,0}, {"NumLk","ScrLck",0}, {"PrtSc","SysRq",0}, {"Pause","Break",0}, {"Ins",0,0}, {"Del",0,0}, /* Row 2 */ {"~", "`", 0}, {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", "7"}, {"*", "8", "8"}, {"(", "9", "9"}, {")", "0", "+"}, {"_", "-", 0}, {"+", "=", 0}, {"Back", "Space", 0}, /* Row 3 */ {"Tab", 0, 0}, {"Q", 0, 0}, {"W", 0, 0}, {"E", 0, 0}, {"R", 0, 0}, {"T", 0, 0}, {"Y", 0, 0}, {"U", 0, "4"}, {"I", 0, "5"}, {"O", 0, "6"}, {"P", 0, "+"}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0, 0}, {"S", 0, 0}, {"D", 0, 0}, {"F", 0, 0}, {"G", 0, 0}, {"H", 0, 0}, {"J", 0, "1"}, {"K", 0, "2"}, {"L", 0, "3"}, {":", ";", "Enter"}, {"\"", "'", 0}, {"Enter", 0, 0}, /* Row 5 */ {"Shift", 0, 0}, {"Z", 0, 0}, {"X", 0, 0}, {"C", 0, 0}, {"V", 0, 0}, {"B", 0, 0}, {"N", 0, 0}, {"M", 0, "0"}, {"<", ",", "0"}, {">", ".", "."}, {"?", "/", "Enter"}, {"Shift", 0, 0}, /* Row 6a */ {"Fn", 0, 0}, {"Ctrl", 0, 0}, {"Alt", 0, 0}, {" ", 0, 0}, {"Alt", 0, 0}, {"Home", 0, 0}, {"UpArrow", 0, 0}, {"End", 0, 0}, {"PgUp", 0, 0}, /* Row 6b */ {"LeftArrow", 0, 0}, {"DownArrow", 0, 0}, {"RightArrow", 0, 0}, {"PgDn", 0, 0} }; xkeycaps-2.47/kbds/pc105sw-caps.h0000644000175000017500000000411410206731453014252 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of a Swedish 105 key PC-style * keyboardn on XFree86 3.3.1 Linux 3.0.32. By Mikael Hedin * 980218 */ static const struct key_strings pc105sw_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"Print", "SysRq",0 }, {"Scroll", "Lock", 0}, {"Pause", "Break", 0}, /* Row 2 */ {"\275", "\247", 0}, {"!", "1", 0}, {"\"", "2", "@"}, {"#", "3", "\243"}, {"\244", "4", "$"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "+", "\\"}, {"`", "\264", 0}, {"Backspace", 0}, {"Insert", 0}, {"Home", 0}, {"Page", "Up", 0}, {"Num", "Lock", 0}, {"\367", 0}, {"\327", 0}, {"\055", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\305", 0 }, {"^", "\250", "~" }, {"Enter", 0}, {"Del", 0}, /* "Home" -> "Del" says leguern@inf.enst.fr */ {"End", 0}, {"Page", "Down", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "Pg Up", 0}, {"\053", 0}, /* Row 4 */ {"Caps", " Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0,}, {"*", "'", 0}, {"4", "LeftArrow", 0}, {"5", 0}, {"6", "RightArrow", 0}, /* Row 5 */ {"Shift", 0}, {">", "<", "|"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"UpArrow", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "Pg Dn", 0}, {"Enter", 0}, /* Row 6 */ {"Ctrl", 0}, {"%%", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"%%", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"0", "Ins", 0}, {",", "Del", 0} }; xkeycaps-2.47/kbds/sun4sw-caps.h0000644000175000017500000000407310206731453014317 0ustar cbcb/* xkeycaps, Copyright (c) 1994 Jamie Zawinski * * This file describes the key surfaces of the Sun type 4 Swedish keyboard * By Torbj|rn Lindgren . */ static const struct key_strings sun4sw_caps [] = { /* Row 0 */ {"Stop", "L1", 0}, {"Again", "L2", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"½", "§", 0}, {"^", "~" }, {"Delete", 0}, {"Pause", "R1", 0}, {"PrSc", "R2", 0}, {"Scroll", "Lock", 0}, {"Num", "Lock", 0}, /* Row 1 */ {"Props", "L3", 0}, {"Undo", "L4", 0}, {"Esc", 0}, {"!", "1", 0}, {"\"", "2", "@"}, {"#", "3", "£"}, {"¤", "4", "$"}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7", "{"}, {"(", "8", "["}, {")", "9", "]"}, {"=", "0", "}"}, {"?", "+", "\\"}, {0}, {"Backspace", 0}, {"=", "R4", 0}, {"/", "R5", 0}, {"*", "R6", 0}, {"-", 0}, /* Row 2 */ {"Front", "L5", 0}, {"Copy", "L6", 0}, {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"Å", 0}, {0}, {"Return", 0}, {"7", "Home", 0}, {"8", "UpArrow", 0}, {"9", "PgUp", 0}, {"+", 0}, /* Row 3 */ {"Open", "L7", 0}, {"Paste", "L8", 0}, {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"Ö", 0}, {"Ä", 0}, {"*", "'", "`"}, {"4", "LeftArrow", 0}, {"5", "R11", 0}, {"6", "RightArrow", 0}, /* Row 4 */ {"Find", "L9", 0}, {"Cut", "L10", 0}, {"Shift", 0}, {">", "<", "|"}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Shift", 0}, {"Line ", "Feed", 0}, {"1", "End", 0}, {"2", "DownArrow", 0}, {"3", "PgDn", 0}, {"Enter", 0}, /* Row 5 */ {"Help", 0}, {"Ctrl", 0}, {"Alt", 0}, {"<>", 0}, {" ", 0}, {"<>", 0}, {"Alt", "Graph", 0}, {"Com ", "pose", 0}, {"0", "Ins", 0}, {".", "Del", 0} }; xkeycaps-2.47/kbds/tek200u-da-map.h0000644000175000017500000000674310206731453014465 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keymap of the Tektronix VT200 keyboard. * _TEK_KEYBOARD_TYPE(STRING) = "vt200" * _TEK_KEYBOARD_LAYOUT(STRING) = "ultrix" * _TEK_KEYBOARD_NATIONALITY(STRING) = "danish" * By Juergen Stuber * with Tektronix XP338 Version 6.0 Level 0. */ static const struct default_keycode_map tek200u_da_map [] = { { 15, 0, { XK_F1 }}, { 16, 0, { XK_KP_F1 }}, { 17, 0, { XK_less, XK_greater }}, { 18, 0, { XK_Escape }}, { 19, 0, { XK_F12 }}, { 20, 0, { XK_F13 }}, { 21, 0, { XK_Tab }}, { 22, 0, { XK_asciitilde, XK_degree }}, { 23, 0, { XK_F2 }}, { 25, ControlMask, { XK_Control_L }}, { 26, ShiftMask, { XK_Shift_L }}, { 28, LockMask, { XK_Caps_Lock }}, { 29, 0, { XK_Q }}, { 30, 0, { XK_1, XK_exclam }}, { 33, 0, { XK_Multi_key, XK_Alt_L }}, { 34, 0, { XK_Z }}, { 35, 0, { XK_S }}, { 36, 0, { XK_A }}, { 37, 0, { XK_W }}, { 38, 0, { XK_2, XK_quotedbl }}, { 39, 0, { XK_F4 }}, { 41, 0, { XK_C }}, { 42, 0, { XK_X }}, { 43, 0, { XK_D }}, { 44, 0, { XK_E }}, { 45, 0, { XK_4, XK_dollar }}, { 46, 0, { XK_3, XK_section }}, { 47, 0, { XK_F5 }}, { 49, 0, { XK_space }}, { 50, 0, { XK_V }}, { 51, 0, { XK_F }}, { 52, 0, { XK_T }}, { 53, 0, { XK_R }}, { 54, 0, { XK_5, XK_percent }}, { 55, 0, { XK_F6 }}, { 57, 0, { XK_N }}, { 58, 0, { XK_B }}, { 59, 0, { XK_H }}, { 60, 0, { XK_G }}, { 61, 0, { XK_Y }}, { 62, 0, { XK_6, XK_ampersand }}, { 63, 0, { XK_F7 }}, { 66, 0, { XK_M }}, { 67, 0, { XK_J }}, { 68, 0, { XK_U }}, { 69, 0, { XK_7, XK_slash }}, { 70, 0, { XK_8, XK_parenleft }}, { 71, 0, { XK_F8 }}, { 73, 0, { XK_comma, XK_semicolon }}, { 74, 0, { XK_K }}, { 75, 0, { XK_I }}, { 76, 0, { XK_O }}, { 77, 0, { XK_0, XK_equal }}, { 78, 0, { XK_9, XK_parenright }}, { 79, 0, { XK_F9 }}, { 81, 0, { XK_period, XK_colon }}, { 82, 0, { XK_minus, XK_underscore }}, { 83, 0, { XK_L }}, { 84, 0, { XK_ae, XK_AE }}, { 85, 0, { XK_P }}, { 86, 0, { XK_plus, XK_question }}, { 87, 0, { XK_F10 }}, { 88, 0, { XK_F14 }}, { 89, Mod5Mask, { XK_Help }}, { 90, 0, { XK_oslash, XK_Ooblique }}, { 91, 0, { XK_apostrophe, XK_asterisk }}, { 92, 0, { XK_aring, XK_Aring }}, { 93, 0, { XK_acute, XK_grave }}, { 95, 0, { XK_KP_F4 }}, { 97, ShiftMask, { XK_Shift_L }}, { 98, 0, { XK_Return }}, { 99, 0, { XK_diaeresis, XK_asciicircum }}, { 103, 0, { XK_KP_F3 }}, { 104, 0, { XK_Down }}, { 105, 0, { XK_Left }}, { 106, 0, { TekXK_Setup, XK_F3 }}, { 107, 0, { XK_Up }}, { 108, 0, { TekXK_Remove }}, { 109, 0, { XK_Select }}, { 110, 0, { XK_Delete }}, { 111, 0, { XK_Insert }}, { 113, 0, { XK_KP_1 }}, { 114, 0, { XK_Right }}, { 115, 0, { XK_KP_4 }}, { 116, 0, { XK_KP_7 }}, { 117, 0, { XK_Next }}, { 118, 0, { XK_Find }}, { 119, 0, { XK_Prior }}, { 120, 0, { XK_KP_0 }}, { 121, 0, { XK_KP_Decimal }}, { 122, 0, { XK_KP_2 }}, { 123, 0, { XK_KP_5 }}, { 124, 0, { XK_KP_6 }}, { 125, 0, { XK_KP_8 }}, { 126, 0, { XK_KP_F2 }}, { 129, 0, { XK_KP_Enter }}, { 130, 0, { XK_KP_3 }}, { 132, 0, { XK_KP_Separator }}, { 133, 0, { XK_KP_9 }}, { 135, 0, { XK_Menu }}, { 136, 0, { XK_F17 }}, { 137, 0, { XK_F18 }}, { 138, 0, { XK_F19 }}, { 139, 0, { XK_F20 }}, { 140, 0, { XK_KP_Subtract }} }; xkeycaps-2.47/kbds/ncd108-codes.h0000644000175000017500000000202110206731453014207 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * This file describes the keycodes of the NCD X terminal N108 and VT220 * keyboards. These keyboards differ only in that the N108 has three * additional keys in the bottom row. */ #ifdef VT220_KLUDGE # define ncd108_codes ncd220_codes #endif static const KeyCode ncd108_codes [] = { /* Row 0 */ 16, 15, 23, 31, 39, 47, 55, 63, 71, 79, 10, 11, 12, 80, 81, 127, 128, 129, 130, 131, /* Row 2 */ 14, 22, 30, 38, 37, 46, 54, 61, 62, 70, 69, 78, 85, 102, 110, 103, 100, 8, 118, 95, 87, /* Row 3 */ 13, 21, 29, 36, 45, 44, 53, 60, 67, 68, 77, 84, 91, 90, 101, 111, 109, 108, 117, 125, 132, /* Row 4 */ 17, 20, 28, 27, 35, 43, 52, 51, 59, 66, 75, 76, 82, 83, 99, 107, 115, 116, 124, /* Row 5 */ 18, 9, 26, 34, 33, 42, 50, 49, 58, 65, 73, 74, 89, 97, 96, 106, 105, 114, 122, 121, /* Row 6 */ #ifdef VT220_KLUDGE 25, 41, #else /* n108 */ 119, 25, 41, 57, 120, #endif 112, 113 }; #undef ncd108_codes xkeycaps-2.47/kbds/c1v-geom.h0000644000175000017500000000432310206740731013543 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1997 * Jamie Zawinski * * This file describes the physical layout of the Sony PCG-C1V ("Picturebook") * series keyboard. (The keycaps in the comments describe the German version.) * by Christoph Berg 010901, 030112 * (copied from pc105-geom.h) * * Still missing, but not important: keys and caps for the numeric keypad. (cb) */ static const struct key_geometry c1v_geom_row0 [] = { {6, 5}, /* ESC */ {6, 5}, {5, 5}, {6, 5}, {6, 5}, /* F (F2 and F8 smaller to make it fit) */ {6, 5}, {6, 5}, {6, 5}, {5, 5}, {6, 5}, {6, 5}, {6, 5}, {6, 5}, {6, 5}, {6, 5}, {6, 5}, {6, 5}, /* misc */ {3, 0}, {6, 5}, {2, 0}, {6, 5}, {6, 5} /* Fn */ }; static const struct key_geometry c1v_geom_row1 [] = { {10, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {9, 7}, {11, 7} /* ', Backspace */ }; static const struct key_geometry c1v_geom_row2 [] = { {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {2, 0}, {7, 14} }; static const struct key_geometry c1v_geom_row3 [] = { {9, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7} }; static const struct key_geometry c1v_geom_row4 [] = { {7, 7}, {6, 7}, /* Shift, < (should be {5, 7} but this looks ugly) */ {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {7, 7}, {5, 7}, {5, 7}, {7, 7}, {7, 7}, /* -, Fn, Up, Shift */ {11, 0}, {7, 7} /* (space), Fn: PgUp */ }; static const struct key_geometry c1v_geom_row5 [] = { {7, 7}, {7, 7}, {5, 7}, {5, 7}, /* Strg, Fn, ^, Win */ {5, 7}, {33, 7}, {5, 7}, {5, 7}, /* Alt, Space, AltGr, Menu */ {7, 7}, {7, 7}, {7, 7}, {7, 7}, /* Strg, Left, Down, Right */ {4, 0}, {7, 7}, {7, 7}, {7, 7} /* (space), Fn: Home, PgDn, End */ }; static const struct keyboard_row_geometry c1v_geom_rows [] = { ROW (c1v_geom_row0, 5), /* the top row is smaller */ ROW (c1v_geom_row1, 7), ROW (c1v_geom_row2, 7), ROW (c1v_geom_row3, 7), ROW (c1v_geom_row4, 7), ROW (c1v_geom_row5, 7), }; static const struct keyboard_geometry c1v_geom = { sizeof (c1v_geom_rows) / sizeof (struct keyboard_row_geometry), c1v_geom_rows, 6, 3, 3 }; xkeycaps-2.47/kbds/c1ve-de-caps.h0000644000175000017500000000352510206740731014300 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Sony PCG-C1VE ("Picturebook") * series keyboard, German layout. * by Christoph Berg 010901 * (copied from ms105de-caps.h) */ static const struct key_strings c1ve_de_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"NumLk", "", "ScrLk"}, {"PrtSc", "SysRq", 0}, {"Insert", "", "Pause"}, {"Delete", "", "Break"}, {"ScrLk", 0}, {"Pause", 0}, {"Break", 0}, /* Row 1 */ {"!", "1", 0}, {"\"", "2 \262", 0}, {"\247", "3 \263", 0}, {"$", "4", 0}, {"%", "5", 0}, {"&", "6", 0}, {"/", "7 {", 0}, {"(", "8 [", 0}, {")", "9 ]", 0}, {"=", "0 }", 0}, {"?", "\337 \\", 0}, {"`", "'", 0}, {"Backspace", 0}, /* Row 2 */ {"Tab", 0}, {"Q", " @", 0}, {"W", 0}, {"E", " \244", 0}, {"R", 0}, {"T", 0}, {"Z", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"\334", 0}, {"*", "+ ~", 0}, {"Enter", 0}, /* Row 3 */ {"CapsLock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {"\326", 0}, {"\304", 0}, {"'", "#", 0}, /* Row 4 */ {"Shift", 0}, {">", "< |", 0}, {"Y", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", " \265", 0}, {";", ",", 0}, {":", ".", 0}, {"_", "-", 0}, {"Fn", 0}, {"UpArrow", 0}, {"Shift", 0}, {"PgUp", 0}, /* Row 5 */ {"Strg", 0}, {"Fn", 0}, {"\260", "^", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"##", 0}, {"Strg", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"Home", 0}, {"PgDn", 0}, {"End", 0}, }; xkeycaps-2.47/kbds/c1vn-us-caps.h0000644000175000017500000000357410206740731014354 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 * Jamie Zawinski * * This file describes the key surfaces of the Sony PCG-C1VN ("Picturebook") * series keyboard, US layout. * by Christoph Berg 030112 * (copied from ms105de-caps.h) * * Please note that I do not own a C1VN and the keys described are here may * be wrong. (cb) */ static const struct key_strings c1vn_us_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"NumLk", "", "ScrLk"}, {"PrtSc", "SysRq", 0}, {"Insert", "", "Pause"}, {"Delete", "", "Break"}, {"ScrLk", 0}, {"Pause", 0}, {"Break", 0}, /* Row 1 */ {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"`", "'", 0}, {"Backspace", 0}, /* Row 2 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"Enter", 0}, /* Row 3 */ {"CapsLock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"|", "\\", 0}, /* Row 4 */ {"Shift", 0}, {">", "<", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Fn", 0}, {"UpArrow", 0}, {"Shift", 0}, {"PgUp", 0}, /* Row 5 */ {"Ctrl", 0}, {"Fn", 0}, {"~", "`", 0}, {"=/+/", 0}, {"Alt", 0}, {" ", 0}, {"Alt Gr", 0}, {"##", 0}, {"Ctrl", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0}, {"Home", 0}, {"PgDn", 0}, {"End", 0}, }; xkeycaps-2.47/kbds/portege34xx-caps.h0000664000175000017500000000315110351123734015244 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the key surfaces of the Toshiba Portege 34xxCT keyboard. * By Antony Pavloff * Used code for Tecra 500CDT by Cesar Augusto Rorato Crusius. */ static const struct key_strings portege34xx_caps [] = { /* Row 0 */ {"Esc", 0}, {"F1", 0}, {"F2", 0}, {"F3", 0}, {"F4", 0}, {"F5", 0}, {"F6", 0}, {"F7", 0}, {"F8", 0}, {"F9", 0}, {"F10", 0}, {"F11", 0}, {"F12", 0}, {"PrtSc", 0}, {"Pause", 0}, {"=/+/", 0}, {"##", 0}, /* Row 2 */ {"!", "1", 0}, {"@", "2", 0}, {"#", "3", 0}, {"$", "4", 0}, {"%", "5", 0}, {"^", "6", 0}, {"&", "7", 0}, {"*", "8", 0}, {"(", "9", 0}, {")", "0", 0}, {"_", "-", 0}, {"+", "=", 0}, {"Backspace", 0}, {"Home", 0}, /* Row 3 */ {"Tab", 0}, {"Q", 0}, {"W", 0}, {"E", 0}, {"R", 0}, {"T", 0}, {"Y", 0}, {"U", 0}, {"I", 0}, {"O", 0}, {"P", 0}, {"{", "[", 0}, {"}", "]", 0}, {"|", "\\", 0}, {"PgUp", 0}, /* Row 4 */ {"Caps", "Lock", 0}, {"A", 0}, {"S", 0}, {"D", 0}, {"F", 0}, {"G", 0}, {"H", 0}, {"J", 0}, {"K", 0}, {"L", 0}, {":", ";", 0}, {"\"", "'", 0}, {"Enter", 0}, {"PgDn", 0}, /* Row 5 */ {"Shift", 0}, {"Z", 0}, {"X", 0}, {"C", 0}, {"V", 0}, {"B", 0}, {"N", 0}, {"M", 0}, {"<", ",", 0}, {">", ".", 0}, {"?", "/", 0}, {"Shift", 0}, {"UpArrow", 0}, {"End", 0}, /* Row 6 */ {"Ctrl", 0}, {"Fn", 0}, {"Alt", 0}, {" ", 0}, {"~", "`", 0}, {"Ins", 0}, {"Del", 0}, {"LeftArrow", 0}, {"DownArrow", 0}, {"RightArrow", 0} }; xkeycaps-2.47/kbds/portege34xx-codes.h0000664000175000017500000000136410351123734015417 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the keycodes of a Toshiba Portege 34xxCT laptop. * By Antony Pavloff * Used code for Tecra 500CDT by Cesar Augusto Rorato Crusius. */ static const KeyCode portege34xx_codes [] = { /* Row 0 */ 9, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 95, 96, 111, 110, 115, 117, /* Row 2 */ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 97, /* Row 3 */ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 99, /* Row 4 */ 66, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 36, 105, /* Row 5 */ 50, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 98, 103, /* Row 6 */ 37, 0, 64, 65, 49, 106, 107, 100, 104, 102 }; xkeycaps-2.47/kbds/portege34xx-geom.h0000664000175000017500000000371610351123734015254 0ustar cbcb/* xkeycaps, Copyright (c) 1998 Jamie Zawinski * * This file describes the physical layout of the Toshiba Portege 34xxCT * laptop, and may be suitable for many others * By Antony Pavloff * Used code for Tecra 500CDT by Cesar Augusto Rorato Crusius. */ static const struct key_geometry portege34xx_geom_row0 [] = { {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}, {16, 10}}; static const struct key_geometry portege34xx_geom_row2 [] = { {7,0}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {31,18}, {18,18}}; static const struct key_geometry portege34xx_geom_row3 [] = { {16,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {22,18}, {18,18}}; static const struct key_geometry portege34xx_geom_row4 [] = { {19,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {37,18}, {18,18}}; static const struct key_geometry portege34xx_geom_row5 [] = { {29,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {27,18}, {18,18}, {18,18}}; static const struct key_geometry portege34xx_geom_row6 [] = { {21,18}, {19,18}, {19,18}, {105,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}, {18,18}}; static const struct keyboard_row_geometry portege34xx_geom_rows [] = { ROW (portege34xx_geom_row0, 18), ROW (portege34xx_geom_row2, 18), ROW (portege34xx_geom_row3, 18), ROW (portege34xx_geom_row4, 18), ROW (portege34xx_geom_row5, 18), ROW (portege34xx_geom_row6, 18), }; static const struct keyboard_geometry portege34xx_geom = { sizeof (portege34xx_geom_rows) / sizeof (struct keyboard_row_geometry), portege34xx_geom_rows, 2, 3, 3 }; xkeycaps-2.47/XKeyCaps_ad.h0000644000175000017500000004104010206731453013333 0ustar cbcb"XKeyCaps*Foreground: #000000", "XKeyCaps*borderColor: #000000", "XKeyCaps*background: #E0E0E0", "XKeyCaps*Command.background: #EDEDED", "XKeyCaps*MenuButton.background: #EDEDED", "XKeyCaps*Toggle.background: #EDEDED", "XKeyCaps*Key.background: #EDEDED", "XKeyCaps*Key.highlight: #FFFF00", "XKeyCaps*editKey*label.foreground: #EDEDED", "XKeyCaps*editKey*label.background: #000000", "XKeyCaps*editKey*Toggle.background: #E0E0E0", "XKeyCaps*editKey*Viewport*background: #EDEDED", "XKeyCaps*editKey*autoRepeatValue.background: #E0E0E0", "XKeyCaps*selectKbd*label.foreground: #EDEDED", "XKeyCaps*selectKbd*label.background: #000000", "XKeyCaps*selectKbd*kbd_icon.foreground: #000000", "XKeyCaps*selectKbd*kbd_icon.background: #FCFCFC", "XKeyCaps*selectKbd*Viewport*background: #EDEDED", "*Paned*showGrip: false", "*Paned.borderWidth: 0", "*Paned.internalBorderWidth: 0", "*buttons.borderWidth: 0", "*info.borderWidth: 0", "*Keyboard.borderWidth: 0", "*Key.borderWidth: 1", "*horizontal.internalBorderWidth: 0", "*info.defaultDistance: 0", "*info.labels.defaultDistance: 1", "*info.labels.borderWidth: 0", "*info.line.vSpace: 0", "*info.line.borderWidth: 0", "*Label*internalWidth: 3", "*Label*internalHeight: 0", "*Label.borderWidth: 0", "*editKey*Viewport.borderWidth: 1", "*editKey*Viewport.forceBars: true", "*editKey*Viewport.allowVert: true", "*editKey*List.defaultColumns: 1", "*editKey*List.forceColumns: true", "*editKey*Toggle*internalWidth: 3", "*editKey*Toggle*internalHeight: 3", "*editKey*Toggle*vertDistance: 0", "*editKey*Toggle.borderWidth: 0", "*editKey*keysymLine.borderWidth: 0", "*editKey*label.internalHeight: 5", "*editKey*keysymBox*defaultDistance: 0", "*editKey*keysymLine.vSpace: 0", "*editKey*keysymBox*Label.internalHeight: 0", "*editKey*keysymBox*symsOfCode.internalWidth: 15", "*editKey*keysymBox*symsOfCode.internalHeight: 5", "*editKey*Toggle*internalHeight: 1", "*editKey*spacer.height: 5", "*editKey*autoRepeatValue.internalHeight: 0", "*editKey*autoRepeatValue.shapeStyle: rectangle", "*editKey*autoRepeatValue.borderWidth: 0", "*editKey*modifierBox*internalHeight: 1", "*editKey*List.internalWidth: 5", "*editKey*List.columnSpacing: 10", "*editKey*List.rowSpacing: 0", "*selectKbd*Viewport.borderWidth: 1", "*selectKbd*Viewport.forceBars: true", "*selectKbd*Viewport.allowVert: true", "*selectKbd*Viewport.height: 150", "*selectKbd*List.defaultColumns: 1", "*selectKbd*List.forceColumns: true", "*selectKbd*label.internalHeight: 5", "*selectKbd*List.internalWidth: 2", "*selectKbd*List.columnSpacing: 5", "*selectKbd*List.rowSpacing: 0", "*selectKbd*vendorBox*Label.internalWidth: 20", "*selectKbd*vendorBox*Label.internalHeight: 3", "*selectKbd*keyboardBox*Label.internalWidth: 20", "*selectKbd*keyboardBox*Label.internalHeight: 3", "*selectKbd*keymapBox*Label.internalWidth: 20", "*selectKbd*keymapBox*Label.internalHeight: 3", "*selectKbd*label2.allowResize: true", "*selectKbd*label2.internalWidth: 30", "*selectKbd*kbd_icon.justify: center", "*selectKbd*spacer.width: 120", "*selectKbd*kbd_icon.internalWidth: 0", "*selectKbd*kbd_icon.internalHeight: 0", "*selectKbd*kbd_icon.height: 30", "*selectKbd*kbd_icon.allowResize: true", "*buttons.defaultDistance: 1", "*Command.shapeStyle: oval", "*buttons.MenuButton.shapeStyle: oval", "*Command.internalWidth: 5", "*buttons.MenuButton.internalWidth: 5", "*buttons.MenuButton.internalHeight: 1", "*Command.internalHeight: 1", "*Command.borderWidth: 1", "*buttons.MenuButton.borderWidth: 1", "*keyboardMenu*leftMargin: 15", "*keyboardMenu*rightMargin: 15", " ", "*labels.Label.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*", "*Label.font: *-courier-medium-r-*-*-*-120-*-*-*-*-*-*", "*info*message.font: *-helvetica-medium-r-*-*-*-100-*-*-iso8859-1", "*info*message2.font: *-helvetica-medium-r-*-*-*-100-*-*-iso8859-1", "*Command.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*", "*keyMenu*font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*", "*keyMenu.menuLabel.font: *-helvetica-bold-o-*-*-*-120-*-*-*-*-*-*", "*modifiers*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*modifiers*Toggle.font: *-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*", "*modifiers*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*buttons.MenuButton.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*", "*buttons.Command.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*", "*keyboardMenu*font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*", "*editKey*buttons*font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*editKey*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*editKey*Label.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*", "*editKey*Toggle.font: *-helvetica-medium-r-*-*-*-100-*-*-*-*-*-*", "*editKey*List*font: *-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*", "*editKey*autoRepeatValue.font: *-helvetica-medium-r-*-*-*-100-*-*-*-*-*-*", "*selectKbd*buttons*font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*selectKbd*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*selectKbd*Label.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*", "*selectKbd*Toggle.font: *-helvetica-medium-r-*-*-*-100-*-*-*-*-*-*", "*selectKbd*List*font: *-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*", "*selectKbd*label2.font: *-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*", "*editKey.title: Edit Key", "*selectKbd.title: Select Keyboard", "*writeQuery.title: Question", "*restoreQuery.title: Question", "*overwriteQuery.title: Question", "*wroteFileMessage.title: Message", "*buttons.quit.label: Quit", "*buttons.focus.label: Type At Window", "*buttons.keyboard.label: Select Keyboard", "*buttons.restore.label: Restore Default Map", "*buttons.write.label: Write Output", "*keyMenu.editKeysyms.label: Edit KeySyms of Key", "*keyMenu.swapKey.label: Exchange Keys", "*keyMenu.cloneKey.label: Duplicate Key", "*keyMenu.disableKey.label: Disable Key", "*keyMenu.restoreKey.label: Restore Key to Default", "*editKey*keysym1.label: KeySym 1:", "*editKey*keysym2.label: KeySym 2:", "*editKey*keysym3.label: KeySym 3:", "*editKey*keysym4.label: KeySym 4:", "*editKey*keysym5.label: KeySym 5:", "*editKey*keysym6.label: KeySym 6:", "*editKey*keysym7.label: KeySym 7:", "*editKey*keysym8.label: KeySym 8:", "*editKey*autoRepeat.label: AutoRepeat:", "*editKey*symsOfCode.label: KeySyms of KeyCode:", "*editKey*modifiers.label: Modifiers:", "*editKey*allKeySets.label: Character Set:", "*editKey*keySymsOfSet.label: KeySym:", "*editKey*modifierBox.modShift.label: Shift", "*editKey*modifierBox.modControl.label: Control", "*editKey*modifierBox.modLock.label: Lock", "*selectKbd*vendors.label: Vendors:", "*selectKbd*keyboards.label: Keyboards:", "*selectKbd*keymaps.label: Layouts:", "*selectKbd*label.label: Select a Keyboard and Layout:", "*TransientShell*Paned.borderWidth: 0", "*writeQuery*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*restoreQuery*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*overwriteQuery*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*wroteFileMessage*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*noKeysymDBError*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*unknownKeysymDBError*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*magicKeyError*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*keysymConflictWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*badModifiersWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*badModifiersWarning2*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*multipleModifiersWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*noModifiersWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*modifiersConflictWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*modifiersConflictWarning2*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*writeQuery*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*restoreQuery*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*overwriteQuery*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*wroteFileMessage*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*noKeysymDBError*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*unknownKeysymDBError*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*magicKeyError*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*keysymConflictWarning*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*badModifiersWarning*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*badModifiersWarning2*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*multipleModifiersWarning*Command.font:*-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*noModifiersWarning*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*modifiersConflictWarning*Command.font:*-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*modifiersConflictWarning2*Command.font:*-helvetica-bold-r-*-*-*-140-*-*-*-*-*-*", "*noKeysymDBError*label.internalWidth: 20", "*noKeysymDBError*label.internalHeight: 0", "*noKeysymDBError*buttons.hSpace: 20", "*noKeysymDBError*buttons.vSpace: 20", "*unknownKeysymDBError*label.internalWidth: 20", "*unknownKeysymDBError*label.internalHeight: 0", "*unknownKeysymDBError*buttons.hSpace: 20", "*unknownKeysymDBError*buttons.vSpace: 20", "*magicKeyError*label.internalWidth: 20", "*magicKeyError*label.internalHeight: 0", "*magicKeyError*buttons.hSpace: 20", "*magicKeyError*buttons.vSpace: 20", "*restoreQuery*label.internalWidth: 20", "*restoreQuery*label.internalHeight: 0", "*restoreQuery*buttons.hSpace: 20", "*restoreQuery*buttons.vSpace: 20", "*overwriteQuery*label.internalWidth: 20", "*overwriteQuery*label.internalHeight: 0", "*overwriteQuery*buttons.hSpace: 20", "*overwriteQuery*buttons.vSpace: 20", "*wroteFileMessage*label.internalWidth: 20", "*wroteFileMessage*label.internalHeight: 0", "*wroteFileMessage*buttons.hSpace: 20", "*wroteFileMessage*buttons.vSpace: 20", "*writeQuery*label.internalWidth: 20", "*writeQuery*label.internalHeight: 0", "*writeQuery*buttons.hSpace: 20", "*writeQuery*buttons.vSpace: 20", "*keysymConflictWarning*label.internalWidth: 20", "*keysymConflictWarning*label.internalHeight: 0", "*keysymConflictWarning*buttons.hSpace: 20", "*keysymConflictWarning*buttons.vSpace: 20", "*badModifiersWarning*label.internalWidth: 20", "*badModifiersWarning*label.internalHeight: 0", "*badModifiersWarning*buttons.hSpace: 20", "*badModifiersWarning*buttons.vSpace: 20", "*badModifiersWarning2*label.internalWidth: 20", "*badModifiersWarning2*label.internalHeight: 0", "*badModifiersWarning2*buttons.hSpace: 20", "*badModifiersWarning2*buttons.vSpace: 20", "*multipleModifiersWarning*label.internalWidth: 20", "*multipleModifiersWarning*label.internalHeight: 0", "*multipleModifiersWarning*buttons.hSpace: 20", "*multipleModifiersWarning*buttons.vSpace: 20", "*noModifiersWarning*label.internalWidth: 20", "*noModifiersWarning*label.internalHeight: 0", "*noModifiersWarning*buttons.hSpace: 20", "*noModifiersWarning*buttons.vSpace: 20", "*modifiersConflictWarning*label.internalWidth: 20", "*modifiersConflictWarning*label.internalHeight: 0", "*modifiersConflictWarning*buttons.hSpace: 20", "*modifiersConflictWarning*buttons.vSpace: 20", "*modifiersConflictWarning2*label.internalWidth: 20", "*modifiersConflictWarning2*label.internalHeight:0", "*modifiersConflictWarning2*buttons.hSpace: 20", "*modifiersConflictWarning2*buttons.vSpace: 20", "*writeQuery*label.label: \\n\ Write an xmodmap file for all keys, or only\\n\ for keys which differ from the default?", "*writeQuery*full.label: All Keys", "*writeQuery*partial.label: Changed Keys", "*writeQuery*abort.label: Cancel", "*restoreQuery*label.label: \\n\ Restore Default Keymap?\\n\ \\n\ If you are not really using the kind of keyboard\\n\ that is displayed, you will lose big.", "*restoreQuery*yes.label: Restore", "*restoreQuery*no.label: Cancel", "*overwriteQuery*label.label: \\nOverwrite file %s?", "*wroteFileMessage*label.label: \\n\ Wrote output to the file\\n\ %s\\n\ \\n\ You should modify your login script to contain a line like\\n\ \\n\ xmodmap ~/.xmodmap-`uname -n`\\n\ \\n\ (those are backquotes.)\\n", "*noKeysymDBError.title: Error", "*unknownKeysymDBError.title: Error", "*noKeysymDBError*label.label: \\n\ The vendor-specific keysym file %s does not exist.\\n\ You can override this location with the $XKEYSYMDB environment variable.", "*unknownKeysymDBError*label.label: \\n\ Don't know where to find the vendor-specific keysym file.\\n\ Set the $XKEYSYMDB environment variable to point to it.\\n\ On many systems this file is found in /usr/lib/X11/XKeysymDB.", "*noKeysymDBError*ok.label: Ok", "*unknownKeysymDBError*ok.label: Ok", "*magicKeyError.title: Error", "*magicKeyError*label.label: \\n\ This key does not have a keycode: it is interpreted specially by\\n\ the X server. You cannot change its behavior with this program.", "*magicKeyError*ok.label: Ok", "*keysymConflictWarning.title: Error", "*keysymConflictWarning*label.label: \\n\ This key generates both the keysyms %s and %s.\\n\ These keysyms have incompatible semantics; it does not make sense\\n\ to attach them both to the same key (the behavior is undefined.)", "*keysymConflictWarning*ok.label: Do It Anyway", "*keysymConflictWarning*cancel.label: Cancel", "*badModifiersWarning.title: Error", "*badModifiersWarning*label.label: \\n\ The semantics of the modifier bits ModShift, ModLock, and ModControl\\n\ are predefined. It does not make sense to assign Mod%s to any\\n\ keysym other than %s or %s.\\n\ \\n\ If you want to make this key be a %s key, change its keysym as well.", "*badModifiersWarning*ok.label: Do It Anyway", "*badModifiersWarning*cancel.label: Cancel", "*badModifiersWarning2.title: Error", "*badModifiersWarning2*label.label: \\n\ The semantics of the Shift, Control, and Lock keysyms are predefined.\\n\ It does not make sense to assign any modifier bit to %s other than Mod%s.\\n\ If you want this to be a %s key, use the appropriate modifier bit.\\n\ If you want this key to do something else, you must change its keysym.", "*badModifiersWarning2*ok.label: Do It Anyway", "*badModifiersWarning2*cancel.label: Cancel", "*multipleModifiersWarning.title: Error", "*multipleModifiersWarning*label.label: \\n\ This key is generating more than one modifier bit.\\n\ The behavior of that is undefined.", "*multipleModifiersWarning*ok.label: Do It Anyway", "*multipleModifiersWarning*cancel.label: Cancel", "*noModifiersWarning.title: Warning", "*noModifiersWarning*label.label: \\n\ This key generates the keysym %s, but no modifier bits.\\n\ This means that this key won't do anything in most applications.", "*noModifiersWarning*ok.label: Ok", "*noModifiersWarning*cancel.label: Cancel", "*modifiersConflictWarning.title: Error", "*modifiersConflictWarning*label.label: \\n\ This key generates the keysym %s, plus the modifier bit Mod%s.\\n\ However, this bit is also generated by key 0x%02X (%s), which has\\n\ the keysym %s.\\n\ \\n\ These two keysyms have different semantics; therefore, they cannot\\n\ share the same modifier bit (the behavior is undefined.)\\n\ \\n\ If you want these two keys to have different behavior, change one of\\n\ them to use some otherwise-unallocated modifier bit.\\n\ \\n\ If you want these two keys to have the same behavior, they must have\\n\ both the same modifier bits, and the same (or compatible) keysyms.\\n\ \\n\ For example, Meta_L and Meta_R are compatible keysyms, because\\n\ they are both Meta keys; however, Meta_L and Mode_switch are not\\n\ compatible, because a Meta key and a Mode_switch key are supposed\\n\ to do quite different things; if they share the same modifier bit, then\\n\ applications cannot tell them apart.", "*modifiersConflictWarning*ok.label: Do It Anyway", "*modifiersConflictWarning*cancel.label: Cancel", "*modifiersConflictWarning2.title: Error", "*modifiersConflictWarning2*label.label: \\n\ This key generates the keysym %s, plus the modifier bit Mod%s.\\n\ However, key 0x%02X (%s) generates the keysym %s plus the\\n\ modifier bit Mod%s. Since these two keys have the same semantics,\\n\ they should have the same modifier bits.\\n\ \\n\ If you want these two keys to have different behavior, you must\\n\ change one of them to generate a different keysym as well as a\\n\ different modifier bit.", "*modifiersConflictWarning2*ok.label: Do It Anyway", "*modifiersConflictWarning2*cancel.label: Cancel", xkeycaps-2.47/xkeycaps.lsm0000644000175000017500000000166010206731453013377 0ustar cbcbBegin3 Title: xkeycaps Version: 2.46 Entered-date: 12DEC99 Description: A graphical front-end to xmodmap. Understands 210 different keyboards. Home page: http://www.jwz.org/xkeycaps/ Keywords: xmodmap, keyboard, keymaps, loadkeys, keytables, X11 Author: jwz@jwz.org (Jamie Zawinski) Maintained-by: jwz@jwz.org (Jamie Zawinski) Primary-site: ftp.x.org /contrib/applications/ 484K xkeycaps-2.46.tar.Z 10K xkeycaps.README 1K xkeycaps.lsm Alternate-site: sunsite.unc.edu /pub/X11/contrib/applications/ 484K xkeycaps-2.46.tar.Z 10K xkeycaps.README 1K xkeycaps.lsm Platforms: Linux, Irix, SunOS, Solaris, HPUX, AIX, FreeBSD, NetBSD, BSDI, SCO, OSF1, Ultrix, NeXT, DG-UX, VMS. Requires X11 (and the Athena widgets.) Copying-policy: BSD End xkeycaps-2.47/actions.c0000644000175000017500000006611510206731453012645 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #include #include "KbdWidgetP.h" #include "KeyWidgetP.h" #include "xkeycaps.h" static void highlight_key P((KeyWidget widget)); static void dehighlight_key P((KeyWidget widget)); static void mouse_highlight_key P((KeyWidget widget)); static void mouse_dehighlight_key P((KeyWidget widget)); static void simulate_key_event P((KeyWidget widget, int down_p)); /* The goal of the mouse-tracking code in the following functions is for the mouse with a button down to be just like your finger on the keyboard: so long as a button is down, the key under it is depressed. If the mouse moves to another key without the button going up first, the previous key is released and the new key is depressed. When a ButtonDown event comes in, the server gives you an implicit grab of the mouse so that you will get the corresponding ButtonUp event no matter what happens to focus or mouse-position in the meantime. This is good, and totally necessary to our purposes. But, we want to be able to track the mouse while the button is down. Initially, I did this by selecting EnterNotify/LeaveNotify events on the child windows, but those aren't generated while the parent window has a grab. So instead, the parent window gets PointerMotion events, and looks at the "child" window that the mouse is over to notice the crossings. This loses slightly in that if you click down on the A key and move quickly over to the L key, we won't necessarily notice that *all* of the intervening keys went down; only the ones that we happened to get motion events for. Others down/up pairs may be compressed out of existence. */ static KeyWidget #ifdef __STDC__ parse_key_action_args (char *name, XEvent *event, char **argv, int argc, KeyboardWidget widget, int *mouse_p_ret) #else /* ! __STDC__ */ parse_key_action_args (name, event, argv, argc, widget, mouse_p_ret) char *name; XEvent *event; char **argv; int argc; KeyboardWidget widget; int *mouse_p_ret; #endif /* ! __STDC__ */ { KeyWidget key = 0; int mouse_p = 0; int mod_p = 0; int track_p = 0; int highlighted_p = 0; char *key_desc = 0; int orig_argc = argc; for (; argc > 0; argc--) { if (string_equal (argv[argc-1], "ifmod")) mod_p = 1; else if (string_equal (argv[argc-1], "unlessmod")) mod_p = -1; else if (string_equal (argv[argc-1], "iftracking")) track_p = 1; else if (string_equal (argv[argc-1], "unlesstracking")) track_p = -1; else if (string_equal (argv[argc-1], "ifhighlighted")) highlighted_p = 1; else if (string_equal (argv[argc-1], "unlesshighlighted")) highlighted_p = -1; else if (key_desc) fprintf (stderr, "%s: too many args (%d) passed to %s action\n", progname, orig_argc, name); else key_desc = argv[argc-1]; } if (key_desc && string_equal (key_desc, "mouse")) key = widget->keyboard.key_under_mouse, mouse_p = 1; else if (key_desc && string_equal (key_desc, "highlighted")) key = widget->keyboard.mouse_highlighted_key, mouse_p = 1; else if (key_desc && string_equal (key_desc, "displayed")) key = widget->keyboard.documented_key, mouse_p = 1; else if (key_desc) fprintf (stderr, "%s: unrecognised arg to %s: %s\n", progname, name, key_desc); else if (event->xany.type == ButtonPress || event->xany.type == ButtonRelease || event->xany.type == MotionNotify) key = widget->keyboard.key_under_mouse, mouse_p = 1; else if (event->xany.type == KeyPress || event->xany.type == KeyRelease) key = keycode_to_key (widget, event->xkey.keycode); else fprintf (stderr, "%s: %d isn't a key or button press or release in %s\n", progname, event->xany.type, name); if (mod_p != 0) { if (!key) return 0; if (mod_p == 1 && !key->key.modifier_bits) return 0; if (mod_p == -1 && key->key.modifier_bits) return 0; } if (track_p == 1 && !widget->keyboard.tracking_key) return 0; if (track_p == -1 && widget->keyboard.tracking_key) return 0; if (highlighted_p == 1 && key != widget->keyboard.mouse_highlighted_key) return 0; if (highlighted_p == -1 && key == widget->keyboard.mouse_highlighted_key) return 0; if (mouse_p_ret) *mouse_p_ret = mouse_p; return key; } void #ifdef __STDC__ highlight_key_action (Widget ww, XEvent *event, String *argv, Cardinal *argc) #else /* ! __STDC__ */ highlight_key_action (ww, event, argv, argc) Widget ww; XEvent *event; String *argv; Cardinal *argc; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) ww; int mouse_p; KeyWidget key = parse_key_action_args ("HighlightKey", event, argv, *argc, widget, &mouse_p); if (! key) return; if (mouse_p) mouse_highlight_key (key); else highlight_key (key); } void #ifdef __STDC__ unhighlight_key_action (Widget ww, XEvent *event, String *argv, Cardinal *argc) #else /* ! __STDC__ */ unhighlight_key_action (ww, event, argv, argc) Widget ww; XEvent *event; String *argv; Cardinal *argc; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) ww; int mouse_p; KeyWidget key = parse_key_action_args ("UnhighlightKey", event, argv, *argc, widget, &mouse_p); if (! key) return; if (mouse_p) mouse_dehighlight_key (key); else dehighlight_key (key); } void #ifdef __STDC__ toggle_key_action (Widget ww, XEvent *event, String *argv, Cardinal *argc) #else /* ! __STDC__ */ toggle_key_action (ww, event, argv, argc) Widget ww; XEvent *event; String *argv; Cardinal *argc; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) ww; int mouse_p; KeyWidget key = parse_key_action_args ("ToggleKey", event, argv, *argc, widget, &mouse_p); if (! key) return; if (mouse_p) { if (key->key.mouse_highlighted) mouse_dehighlight_key (key); else mouse_highlight_key (key); } else { if (key->key.key_highlighted) dehighlight_key (key); else highlight_key (key); } } void #ifdef __STDC__ simulate_KeyPress_action (Widget ww, XEvent *event, String *argv, Cardinal *argc) #else /* ! __STDC__ */ simulate_KeyPress_action (ww, event, argv, argc) Widget ww; XEvent *event; String *argv; Cardinal *argc; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) ww; KeyWidget key = parse_key_action_args ("SimulateKeyPress", event, argv, *argc, widget, 0); if (key) simulate_key_event (key, 1); } void #ifdef __STDC__ simulate_KeyRelease_action (Widget ww, XEvent *event, String *argv, Cardinal *argc) #else /* ! __STDC__ */ simulate_KeyRelease_action (ww, event, argv, argc) Widget ww; XEvent *event; String *argv; Cardinal *argc; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) ww; KeyWidget key = parse_key_action_args ("SimulateKeyRelease", event, argv, *argc, widget, 0); if (key) simulate_key_event (key, 0); } void #ifdef __STDC__ describe_key_action (Widget ww, XEvent *event, String *argv, Cardinal *argc) #else /* ! __STDC__ */ describe_key_action (ww, event, argv, argc) Widget ww; XEvent *event; String *argv; Cardinal *argc; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) ww; KeyWidget key = parse_key_action_args ("DescribeKey", event, argv, *argc, widget, 0); if (! key) return; /* If the event invoking this is a KeyPress or KeyRelease, and the key in question is a modifier key, don't do the optimization of not redisplaying because we're already displaying that key. This is so that the "DescribeKey(displayed)" action can be bound to KeyDown and KeyUp, and will change the display when modifier keys are pressed and released. */ if ((event->xany.type == KeyPress || event->xany.type == KeyRelease) && (widget->keyboard.modifier_vector [event->xkey.keycode / 8] & (1 << (event->xkey.keycode % 8)))) widget->keyboard.documented_key = 0; if (key != widget->keyboard.documented_key) { describe_key (key); widget->keyboard.documented_key = key; } } void #ifdef __STDC__ track_key_action (Widget ww, XEvent *event, String *argv, Cardinal *argc) #else /* ! __STDC__ */ track_key_action (ww, event, argv, argc) Widget ww; XEvent *event; String *argv; Cardinal *argc; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) ww; KeyWidget key = parse_key_action_args ("TrackKey", event, argv, *argc, widget, 0); if (!key) return; if (event->xany.type != ButtonPress && event->xany.type != ButtonRelease) { fprintf (stderr, "%s: TrackKey action invoked on a non-button event\n", progname); return; } widget->keyboard.tracking_key |= (1 << (event->xbutton.button - 1)); } void #ifdef __STDC__ untrack_key_action (Widget ww, XEvent *event, String *argv, Cardinal *argc) #else /* ! __STDC__ */ untrack_key_action (ww, event, argv, argc) Widget ww; XEvent *event; String *argv; Cardinal *argc; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) ww; parse_key_action_args ("UntrackKey", event, argv, *argc, widget, 0); if (event->xany.type != ButtonPress && event->xany.type != ButtonRelease) { fprintf (stderr, "%s: UntrackKey action invoked on a non-button event\n", progname); return; } /* widget->keyboard.tracking_key &= ~(1 << (event->xbutton.button - 1)); */ widget->keyboard.tracking_key = 0; } void #ifdef __STDC__ key_menu_pre_popup_hook (Widget menu, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ key_menu_pre_popup_hook (menu, client_data, call_data) Widget menu; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) client_data; KeyWidget key = widget->keyboard.key_under_mouse; Arg av[10]; int ac = 0; char buf1 [255]; /* so that the "!=" test in SimpleMenu succeeds... */ char buf2 [255]; static int toggle = 0; char *b = (toggle ? buf1 : buf2); message (widget, ""); /* clear the message area */ if (key) { toggle = !toggle; sprintf (b, " Key %s (0x%02X) ", key->key.key_name, key->key.keycode); XtSetArg (av[ac], XtNlabel, b); ac++; } else XtSetArg (av[ac], XtNlabel, "-- No Key --"), ac++; XtSetValues (menu, av, ac); sensitize_menu (widget, menu, (key ? True : False)); } /* This is called before every action is invoked. It does two things: it keeps the variable key_under_mouse up to date, and, if in TrackKey mode, it simulates ButtonPress and ButtonRelease events when the mouse moves from one key to another. */ void #ifdef __STDC__ keyboard_track_motion_hook (Widget action_widget, XtPointer client_data, String action_name, XEvent *event, String *ac, Cardinal *av) #else /* ! __STDC__ */ keyboard_track_motion_hook (action_widget, client_data, action_name, event, ac, av) Widget action_widget; XtPointer client_data; String action_name; XEvent *event; String *ac; Cardinal *av; #endif /* ! __STDC__ */ { if (action_widget != (Widget) client_data) /* not the KeyboardWidget */ return; if (event->xany.type != MotionNotify) return; { KeyboardWidget widget = (KeyboardWidget) action_widget; Display *dpy = XtDisplay (widget); KeyWidget last_key_under_mouse = widget->keyboard.key_under_mouse; Window root, child; int root_x, root_y, x, y; unsigned int mask; /* This call to XQueryPointer is just to tell the server that it's ok to start sending motion events again. When MotionHintMask is used, we only get one MotionNotify event until something interesting happens again. */ XQueryPointer (dpy, XtWindow (widget), &root, &child, &root_x, &root_y, &x, &y, &mask); widget->keyboard.key_under_mouse = window_to_key (dpy, child); if (widget->keyboard.tracking_key && widget->keyboard.key_under_mouse && widget->keyboard.key_under_mouse != last_key_under_mouse && !widget->keyboard.key_under_mouse->key.modifier_bits) /* If we're in tracking-mode and the mouse has entered a key that it wasn't within before, then simulate a ButtonUp event on the key the mouse was last over, and then simulate a ButtonDown event on the key the mouse is over now. But don't do that if the key the mouse is over now is a modifier key, because that breaks the "ifmod" arguments to actions. We simulate these events so that the correct sets of actions get invoked. Remember that the user may have changed the actions. */ { XEvent sim_event; /* Put back a ButtonDown event for the current key first. */ sim_event.xany.type = ButtonPress; sim_event.xbutton.send_event = 1; sim_event.xbutton.display = dpy; sim_event.xbutton.window = XtWindow (widget); /* the KeyboardWidget */ sim_event.xbutton.root = event->xmotion.root; sim_event.xbutton.subwindow = (widget->keyboard.key_under_mouse ? XtWindow (widget->keyboard.key_under_mouse) : 0); sim_event.xbutton.time = event->xmotion.time; sim_event.xbutton.x = event->xmotion.x; sim_event.xbutton.y = event->xmotion.y; sim_event.xbutton.x_root = event->xmotion.x_root; sim_event.xbutton.y_root = event->xmotion.y_root; sim_event.xbutton.state = event->xmotion.state; sim_event.xbutton.button = widget->keyboard.tracking_key; sim_event.xbutton.same_screen = 1; XPutBackEvent (dpy, &sim_event); /* Now put back a ButtonUp event for the previous key. We do it in this order because we're pushing on the front. */ sim_event.xany.type = ButtonRelease; sim_event.xbutton.subwindow = (last_key_under_mouse ? XtWindow (last_key_under_mouse) : 0); sim_event.xbutton.x = (last_key_under_mouse ? last_key_under_mouse->core.x : 0); sim_event.xbutton.y = (last_key_under_mouse ? last_key_under_mouse->core.y : 0); sim_event.xbutton.x_root = -1; /* This is hard, blow it off. */ sim_event.xbutton.y_root = -1; XPutBackEvent (dpy, &sim_event); } } } static unsigned long simulated_modifier_state = 0; static unsigned long real_modifier_state = 0; #define key_highlighted_p(KEY) \ (((KEY)->key.mouse_highlighted > 0) || ((KEY)->key.key_highlighted > 0)) static void #ifdef __STDC__ mouse_highlight_key (KeyWidget widget) #else /* ! __STDC__ */ mouse_highlight_key (widget) KeyWidget widget; #endif /* ! __STDC__ */ { KeyboardWidget keyboard = (KeyboardWidget) widget->core.parent; if (!key_highlighted_p (widget)) { KeyHighlight (widget); #if 0 printf (" simulated: 0x%02x | 0x%02x = 0x%02x\n", simulated_modifier_state, widget->key.modifier_bits, simulated_modifier_state | widget->key.modifier_bits); #endif simulated_modifier_state |= widget->key.modifier_bits; widget->key.mouse_highlighted++; keyboard->keyboard.mouse_highlighted_key = widget; } } static void #ifdef __STDC__ mouse_dehighlight_key (KeyWidget widget) #else /* ! __STDC__ */ mouse_dehighlight_key (widget) KeyWidget widget; #endif /* ! __STDC__ */ { KeyboardWidget keyboard = (KeyboardWidget) widget->core.parent; widget->key.mouse_highlighted--; if (key_highlighted_p (widget)) return; if (widget->key.mouse_highlighted < 0) { printf ("%s: ERROR: more ButtonUps than ButtonDowns on \"%s\"\n", progname, widget->key.key_name); widget->key.mouse_highlighted = 0; } KeyDehighlight (widget); keyboard->keyboard.mouse_highlighted_key = 0; #if 0 printf (" simulated: 0x%02x & ~0x%02x = 0x%02x\n", simulated_modifier_state, widget->key.modifier_bits, simulated_modifier_state & ~widget->key.modifier_bits); #endif simulated_modifier_state &= ~widget->key.modifier_bits; } static void #ifdef __STDC__ highlight_key (KeyWidget widget) #else /* ! __STDC__ */ highlight_key (widget) KeyWidget widget; #endif /* ! __STDC__ */ { KeyboardWidget keyboard = (KeyboardWidget) widget->core.parent; /* printf ("%s: KeyPress %s\n", progname, widget->key.key_name);*/ if (!key_highlighted_p (widget)) { KeyHighlight (widget); #if 0 printf (" real : 0x%02x | 0x%02x = 0x%02x\n", real_modifier_state, widget->key.modifier_bits, real_modifier_state | widget->key.modifier_bits); #endif real_modifier_state |= widget->key.modifier_bits; } if (widget->key.key_highlighted) /* We really shouldn't ever see more than one KeyPress on a given keycode without an intervening KeyRelease, but we can if the keyboard focus moves away from our window between the KeyPress and KeyRelease. Cope with this by not incrementing the key-press-count to >1. This could also happen if two keys on the keyboard had the same keycode, which would make for a terribly bogus keyboard. */ printf ("%s: ERROR: more KeyPresses than KeyReleases on \"%s\"\n", progname, widget->key.key_name); else widget->key.key_highlighted++; keyboard->keyboard.key_state_vector [widget->key.keycode / 8] |= (1 << (widget->key.keycode % 8)); } static void #ifdef __STDC__ dehighlight_key (KeyWidget widget) #else /* ! __STDC__ */ dehighlight_key (widget) KeyWidget widget; #endif /* ! __STDC__ */ { KeyboardWidget keyboard = (KeyboardWidget) widget->core.parent; widget->key.key_highlighted--; /* printf ("%s: KeyRelease %s\n", progname, widget->key.key_name); */ keyboard->keyboard.key_state_vector [widget->key.keycode / 8] &= ~(1 << (widget->key.keycode % 8)); if (widget->key.key_highlighted < 0) { printf ("%s: ERROR: more KeyReleases than KeyPresses on \"%s\"\n", progname, widget->key.key_name); widget->key.key_highlighted = 0; } if (key_highlighted_p (widget)) return; KeyDehighlight (widget); #if 0 printf (" real : 0x%02x & ~0x%02x = 0x%02x\n", real_modifier_state, widget->key.modifier_bits, real_modifier_state & ~widget->key.modifier_bits); #endif real_modifier_state &= ~widget->key.modifier_bits; } void #ifdef __STDC__ key_to_event (KeyWidget key, XEvent *event, int down_p) #else /* ! __STDC__ */ key_to_event (key, event, down_p) KeyWidget key; XEvent *event; int down_p; #endif /* ! __STDC__ */ { event->xkey.type = down_p ? KeyPress : KeyRelease; event->xkey.display = XtDisplay (key); event->xkey.time = CurrentTime; event->xkey.x = event->xkey.y = 0; event->xkey.x_root = event->xkey.y_root = 0; event->xkey.state = (simulated_modifier_state | real_modifier_state); event->xkey.keycode = key->key.keycode; } static void #ifdef __STDC__ simulate_key_event (KeyWidget widget, int down_p) #else /* ! __STDC__ */ simulate_key_event (widget, down_p) KeyWidget widget; int down_p; #endif /* ! __STDC__ */ { KeyboardWidget keyboard = (KeyboardWidget) widget->core.parent; XEvent event; Window window; int revert_to; if (! widget->key.keycode) return; XGetInputFocus (XtDisplay (widget), &window, &revert_to); /* If this widget (or any parent of it) has the keyboard focus, then send the events to the window the user has picked. */ if (window == PointerRoot) window = keyboard->keyboard.target_window; else { Widget parent; for (parent = (Widget) widget; parent; parent = XtParent (parent)) if (XtWindow (parent) == window) { window = keyboard->keyboard.target_window; break; } } if (!window) return; key_to_event (widget, &event, down_p); event.xkey.window = window; #ifdef HAVE_XTRAP if (keyboard->keyboard.trap_data) xkeycaps_xtrap_simulate_event (keyboard, &event); else #endif /* HAVE_XTRAP */ if (! XSendEvent (XtDisplay (widget), window, True, down_p ? KeyPressMask : KeyReleaseMask, &event)) { fprintf (stderr, "%s: Couldn't simulate a keypress: ", progname); if (window == None) fprintf (stderr, "No focus window\n"); else fprintf (stderr, "focus window doesn't accept XSendEvent input\n"); } XSync (XtDisplay (widget), 0); if (XSendEvent_BadWindow && keyboard->keyboard.target_window == XSendEvent_BadWindow) { char buf [255]; sprintf (buf, "Window 0x%X seems to have gone away. Keyboard focus cleared.", (int) XSendEvent_BadWindow); message (keyboard, buf); XBell (XtDisplay ((Widget) widget), 0); XSendEvent_BadWindow = 0; keyboard->keyboard.target_window = 0; } } int mappingNotify_event_expected = 0; static Bool #ifdef __STDC__ mapping_event_p (Display *dpy, XEvent *event, char *closure) #else /* ! __STDC__ */ mapping_event_p (dpy, event, closure) Display *dpy; XEvent *event; char *closure; #endif /* ! __STDC__ */ { if (event->xany.type == MappingNotify) *closure = 1; return False; } void #ifdef __STDC__ keyboard_handle_mapping_notify (Widget widget, XtPointer client_data, XEvent *event, Boolean *cont) #else /* ! __STDC__ */ keyboard_handle_mapping_notify (widget, client_data, event, cont) Widget widget; XtPointer client_data; XEvent *event; Boolean *cont; #endif /* ! __STDC__ */ { char events_queued_p = 0; XRefreshKeyboardMapping (&event->xmapping); init_modifier_mapping ((KeyboardWidget) widget); XSync (XtDisplay (widget), 0); if (XCheckIfEvent (XtDisplay (widget), event, mapping_event_p, &events_queued_p)) exit (-69); /* can't happen. */ if (!events_queued_p) /* refresh, in case the documented key has been modified */ { if (((KeyboardWidget) widget)->keyboard.documented_key) describe_key (((KeyboardWidget) widget)->keyboard.documented_key); if (! mappingNotify_event_expected) message ((KeyboardWidget) widget, "MappingNotify event received; keyboard state refreshed."); else mappingNotify_event_expected = 0; } } void #ifdef __STDC__ keyboard_handle_keymap_notify (Widget w, XtPointer client_data, XEvent *event, Boolean *cont) #else /* ! __STDC__ */ keyboard_handle_keymap_notify (w, client_data, event, cont) Widget w; XtPointer client_data; XEvent *event; Boolean *cont; #endif /* ! __STDC__ */ { /* To prevent getting out of sync with the real state of the keyboard during those unfortunate moments when we don't have the keyboard focus, we select KeymapNotify, which gives us the same data as XQueryKeymap would, but sends it just after any FocusIn or EnterNotify event would have been generated. Unfortunately, this means that this event will be generated every time the cursor move from inside of a key to the top- level keyboard window (since a particular kind of EnterNotify event would be generated there.) This shouldn't be too big a deal: it's just another 40 or so bytes, and a call to bcmp. */ KeyboardWidget widget = (KeyboardWidget) w; int i, j; #ifdef HAVE_XTRAP if (((KeyboardWidget) widget)->keyboard.trap_data) return; /* if we're in XTrap mode, this function is redundant */ #endif if (widget->core.being_destroyed) return; if (! memcmp (event->xkeymap.key_vector, ((KeyboardWidget) widget)->keyboard.key_state_vector, 32)) return; /* Nothing's changed, bug out. */ for (i = 0; i < widget->keyboard.nrows; i++) for (j = 0; j < widget->keyboard.rows[i].nkeys; j++) { KeyWidget key = widget->keyboard.rows[i].keys[j]; int down = ((event->xkeymap.key_vector [key->key.keycode / 8]) & (1 << (key->key.keycode % 8))); if (! key->key.keycode) continue; if (down && !key->key.key_highlighted) /* Down now, wasn't before */ highlight_key (key); else if (!down && key->key.key_highlighted) /* Not down now, was before */ dehighlight_key (key); } #if 0 /* This sometimes fails because the event contains random noise in the bits which correspond to a keycode for which there is no physical key. Presumably this is because X events are padded with uninitialized data. */ if (bcmp (event->xkeymap.key_vector, kbd->key_state_vector, 32)) fprintf (stderr, "%s: KeymapNotify handling is way broken...\n", progname); #endif } KeyWidget #ifdef __STDC__ window_to_key (Display *dpy, Window window) #else /* ! __STDC__ */ window_to_key (dpy, window) Display *dpy; Window window; #endif /* ! __STDC__ */ { KeyWidget key = (KeyWidget) XtWindowToWidget (dpy, window); if (! key) return 0; if (! XtIsSubclass ((Widget) key, keyWidgetClass)) return 0; return key; } KeyWidget #ifdef __STDC__ keycode_to_key (KeyboardWidget keyboard, KeyCode code) #else /* ! __STDC__ */ keycode_to_key (keyboard, code) KeyboardWidget keyboard; KeyCode code; #endif /* ! __STDC__ */ { int i, j; if (! code) return 0; for (i = 0; i < keyboard->keyboard.nrows; i++) for (j = 0; j < keyboard->keyboard.rows[i].nkeys; j++) if (keyboard->keyboard.rows[i].keys[j]->key.keycode == code) return keyboard->keyboard.rows[i].keys[j]; return 0; } static void #ifdef __STDC__ clear_modifier_flags (KeyboardWidget widget) #else /* ! __STDC__ */ clear_modifier_flags (widget) KeyboardWidget widget; #endif /* ! __STDC__ */ { int i, j; memset (widget->keyboard.modifier_vector, 0, 32); for (i = 0; i < widget->keyboard.nrows; i++) for (j = 0; j < widget->keyboard.rows[i].nkeys; j++) if (widget->keyboard.rows[i].keys[j]) widget->keyboard.rows[i].keys[j]->key.modifier_bits = 0; } void #ifdef __STDC__ init_modifier_mapping (KeyboardWidget widget) #else /* ! __STDC__ */ init_modifier_mapping (widget) KeyboardWidget widget; #endif /* ! __STDC__ */ { Display *dpy = XtDisplay (widget); XModifierKeymap *modifier_map; int modifier_index, modifier_key, i, j; XKeyboardState kbd_state; /* XKeyboardControl kbd_control;*/ int mkpm; clear_modifier_flags (widget); modifier_map = XGetModifierMapping (dpy); /* Look at the defined modifier keys, and annotate our key structures with which modifier bits they set. This will be done each time the user runs xmodmap as well. */ mkpm = modifier_map->max_keypermod; for (modifier_index = 0; modifier_index < 8; modifier_index++) for (modifier_key = 0; modifier_key < mkpm; modifier_key++) { int index = modifier_index * mkpm + modifier_key; int keycode = modifier_map->modifiermap [index]; KeyWidget key = keycode_to_key (widget, keycode); if (! key) continue; key->key.modifier_bits |= (1 << modifier_index); widget->keyboard.modifier_vector [keycode / 8] |= (1 << (keycode % 8)); } XFreeModifiermap (modifier_map); # if 0 kbd_control.auto_repeat_mode = 0; XChangeKeyboardControl (dpy, KBAutoRepeatMode, &kbd_control); # endif XGetKeyboardControl (dpy, &kbd_state); for (i = 0; i < widget->keyboard.nrows; i++) for (j = 0; j < widget->keyboard.rows[i].nkeys; j++) { KeyWidget key = widget->keyboard.rows[i].keys[j]; if (key) key->key.auto_repeat_p = !!((kbd_state.auto_repeats [key->key.keycode / 8]) & (1 << (key->key.keycode % 8))); } } xkeycaps-2.47/commands.c0000644000175000017500000027273010206731453013010 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1997, 1998 * by Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #if defined(__STDC__) && defined(__unix) #include #endif #include #include #include #include #include #ifndef NO_UNAME # include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef XAWBUG /* At some point it seemed like the Toggle widget (really, the Command widget) didn't provide a GetValues-hook to access the "state" property, so we had to access that slot directly. Well, this isn't the case with MIT R5 pl25, or with OpenWindows 3.0, so let's try living without it now. */ # include # include # include # include #endif /* XAWBUG */ #include "KbdWidgetP.h" #include "KeyWidgetP.h" #include "xkeycaps.h" #include "kbddef.h" #include "vroot.h" /* This is standard in R5 but not R4 */ #ifndef NO_PWD #include #endif /* We can only do Vendor keysyms in X11r5, because earlier versions didn't provide any way to map over the contents of an xrm database. */ #ifdef XtSpecificationRelease # if XtSpecificationRelease >= 5 # define DO_VENDOR_KEYSYMS # endif #endif static int y_or_n_p P((KeyboardWidget widget, char *name, char *name0, char *name1, char *name2)); static int y_or_n_p_with_args P((KeyboardWidget, char *name, char *name0, char *name1, char *name2, char *arg0, char *arg1, char *arg2, char *arg3, char *arg4, char *arg5)); static Widget make_button P((Widget parent, char *name, char *string, Widget left, Widget top, XtCallbackProc callback, XtPointer data, char *menu_name)); struct key_menus { Widget popup; Widget popup_kids [10]; struct edit_key_box *edit_key_box; struct select_kbd_box *select_kbd_box; }; #ifndef isupper # define isupper(c) ((c) >= 'A' && (c) <= 'Z') #endif #ifndef _tolower # define _tolower(c) ((c) - 'A' + 'a') #endif int #ifdef __STDC__ string_equal (const char *s1, const char *s2) #else /* ! __STDC__ */ string_equal (s1, s2) const char *s1, *s2; #endif /* ! __STDC__ */ { if (s1 == s2) return 1; if (!s1 || !s2) return 0; while (*s1 && *s2) { if ((isupper (*s1) ? _tolower (*s1) : *s1) != (isupper (*s2) ? _tolower (*s2) : *s2)) return 0; s1++, s2++; } return ((*s1 || *s2) ? 0 : 1); } static Widget #ifdef __STDC__ make_button (Widget parent, char *name, char *string, Widget left, Widget top, XtCallbackProc callback, XtPointer data, char *menu_name) #else /* ! __STDC__ */ make_button (parent, name, string, left, top, callback, data, menu_name) Widget parent; char *name, *string; Widget left, top; XtCallbackProc callback; XtPointer data; char *menu_name; #endif /* ! __STDC__ */ { Widget w = make_label_1 (parent, name, string, left, top, (menu_name ? menuButtonWidgetClass : commandWidgetClass), callback, data); if (menu_name) { Arg av [10]; int ac = 0; XtSetArg (av [ac], XtNmenuName, menu_name); ac++; XtSetValues (w, av, ac); } return w; } static Widget #ifdef __STDC__ make_toggle (Widget parent, char *name, Widget left, Widget top, int state, XtCallbackProc callback, XtPointer data, char *label, Widget radio_group, XtPointer radio_data) #else /* ! __STDC__ */ make_toggle (parent, name, left, top, state, callback, data, label, radio_group, radio_data) Widget parent; char *name; Widget left, top; int state; void (*callback) (); XtPointer data; char *label; Widget radio_group; XtPointer radio_data; #endif /* ! __STDC__ */ { Arg av [20]; int ac = 0; Widget w; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainLeft); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; XtSetArg (av[ac], XtNjustify, XtJustifyLeft); ac++; XtSetArg (av[ac], XtNstate, (state ? True : False)); ac++; if (left) XtSetArg (av[ac], XtNfromHoriz, left), ac++; if (top) XtSetArg (av[ac], XtNfromVert, top), ac++; if (label) XtSetArg (av[ac], XtNlabel, label), ac++; if (radio_group) XtSetArg (av[ac], XtNradioGroup, radio_group), ac++; if (radio_data) XtSetArg (av[ac], XtNradioData, radio_data), ac++; w = XtCreateManagedWidget (name, toggleWidgetClass, parent, av, ac); if (callback) XtAddCallback (w, XtNcallback, callback, data); return w; } static void #ifdef __STDC__ button_quit (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ button_quit (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { exit (0); } static int modify_keyboard_modifiers P((KeyboardWidget, XModifierKeymap *)); static int modify_keyboard P((KeyboardWidget, int first_keycode, int keysyms_per_keycode, KeySym *keysyms, int num_codes, XModifierKeymap *modmap)); static void #ifdef __STDC__ button_restore (Widget button, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ button_restore (button, client_data, call_data) Widget button; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget widget = *((KeyboardWidget *) client_data); KeySym *keysyms; KeyCode lowest = 255, highest = 0; XModifierKeymap *modmap; int per_code = widget->keyboard.default_keysyms_per_code; int i, j, k; if (0 != y_or_n_p (widget, "restoreQuery", "yes", "no", 0)) { message (widget, "Aborted."); return; } keysyms = (KeySym *) calloc (sizeof (KeySym), per_code * 256); modmap = XNewModifiermap (2); /* It'll grow */ memset (modmap->modifiermap, 0, modmap->max_keypermod * 8); for (i = 0; i < widget->keyboard.nrows; i++) { struct KeyWidget_row *row = &widget->keyboard.rows [i]; for (j = 0; j < row->nkeys; j++) { KeyWidget key = row->keys [j]; if (key->key.keycode) { if (key->key.keycode < lowest) lowest = key->key.keycode; if (key->key.keycode > highest) highest = key->key.keycode; for (k = 0; k < per_code; k++) keysyms [key->key.keycode * per_code + k] = key->key.default_keysyms [k]; if (key->key.default_mods) for (k = 0; k < 8; k++) if (key->key.default_mods & (1<key.keycode, k); } } } if (highest <= lowest) exit (-69); /* can't happen */ if (! modify_keyboard (widget, lowest, per_code, keysyms + (lowest * per_code), highest - lowest, modmap)) message (widget, "Keyboard restored to default state."); XFreeModifiermap (modmap); free (keysyms); } static FILE * #ifdef __STDC__ open_output_file(KeyboardWidget widget, char **name) #else /* ! __STDC__ */ open_output_file(widget, name) KeyboardWidget widget; char **name; #endif /* ! __STDC__ */ { const char *home = getenv("HOME"); const char *base = ".xmodmap"; int L = strlen(home) + strlen(base) + 2; char *target = 0; struct stat st; FILE *out = 0; #ifndef NO_UNAME struct utsname uts; if (uname (&uts) >= 0) L += strlen(uts.nodename) + 1; else uts.nodename[0] = 0; #endif target = (char *) malloc(L+1); strcpy(target, home); if (target[strlen(target)-1] != '/') strcat(target, "/"); strcat(target, base); #ifndef NO_UNAME if (uts.nodename) { strcat(target, "-"); strcat(target, uts.nodename); } #endif if (!stat(target, &st)) { char *t2; if (y_or_n_p_with_args(widget, "overwriteQuery", "ok", "cancel", 0, target, 0, 0, 0, 0, 0)) goto DONE; t2 = (char *) malloc (strlen(target) + 10); strcpy (t2, target); strcat (t2, ".BAK"); rename (target, t2); free (t2); } out = fopen(target, "w"); DONE: *name = 0; if (out) *name = target; else free (target); return out; } void #ifdef __STDC__ make_long_kbd_name (const char *vendor, const char *kbd_style, char *buf) #else /* ! __STDC__ */ make_long_kbd_name (vendor, kbd_style, buf) const char *vendor; const char *kbd_style; char *buf; #endif /* ! __STDC__ */ { strcpy(buf, (vendor ? vendor : "")); if (kbd_style && *kbd_style) { strcat(buf, " "); strcat(buf, kbd_style); } } static char *bit_names[] = { "Shift", "Lock", "Control", "Mod1", "Mod2", "Mod3", "Mod4", "Mod5" }; static void #ifdef __STDC__ button_write (Widget button, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ button_write (button, client_data, call_data) Widget button; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { char *filename = 0; FILE *out; KeyboardWidget widget = *((KeyboardWidget *) client_data); XModifierKeymap *current_modmap, *default_modmap; int per_code = widget->keyboard.default_keysyms_per_code; struct { KeyWidget key; int count; char *names[8]; } all [256], differences [256]; int all_count = 0, diff_count = 0; KeySym *keysyms; int count, i, j, k; int partial = y_or_n_p (widget, "writeQuery", "full", "partial", "abort"); time_t now = time ((time_t *) 0); #ifdef NO_PWD char *userid = 0; #else struct passwd *pw = (struct passwd *) getpwuid (getuid ()); char *userid = (pw ? pw->pw_name : 0); #endif KeyCode added [8][255]; KeyCode subtracted [8][255]; int added_count, subtracted_count; int cmkpm, dmkpm; int any_mod_changes = 0; if (partial >= 2) { message (widget, "Aborted."); return; } current_modmap = XGetModifierMapping (XtDisplay (widget)); default_modmap = XNewModifiermap (2); /* It'll grow */ memset (default_modmap->modifiermap, 0, default_modmap->max_keypermod * 8); out = open_output_file(widget, &filename); if (!out) return; for (i = 0; i < widget->keyboard.nrows; i++) { struct KeyWidget_row *row = &widget->keyboard.rows [i]; for (j = 0; j < row->nkeys; j++) { KeyWidget key = row->keys [j]; if (key->key.keycode) { unsigned long bits = key->key.modifier_bits; keysyms = XGetKeyboardMapping (XtDisplay (widget), key->key.keycode, 1, &count); if (! keysyms) count = 0; all [all_count].key = key; for (; count > 0; count--) if (keysyms [count-1]) break; if (count == 0) { all [all_count].names [0] = "NoSymbol"; count = 1; } else for (k = 0; k < count; k++) { char *str = "NoSymbol"; if (keysyms [k]) { str = XKeysymToString (keysyms [k]); if (! str) { /* core leak, but this shouldn't ever happen unless there's a bug in libX11.a, or the user did something stupid with xmodmap. */ str = (char *) malloc (255); sprintf (str, "0x%02X", (int) keysyms [k]); } } all [all_count].names [k] = str; } all [all_count].count = count; if (! keysyms) count = 0; if (count > per_code || ((!partial) && (bits != key->key.default_mods)) || (count > 0 && keysyms[0] != key->key.default_keysyms[0]) || (count > 1 && keysyms[1] != key->key.default_keysyms[1]) || (count > 2 && keysyms[2] != key->key.default_keysyms[2]) || (count > 3 && keysyms[3] != key->key.default_keysyms[3]) || (count > 4 && keysyms[4] != key->key.default_keysyms[4]) || (count > 5 && keysyms[5] != key->key.default_keysyms[5]) || (count > 6 && keysyms[6] != key->key.default_keysyms[6]) || (count > 7 && keysyms[7] != key->key.default_keysyms[7])) differences [diff_count++] = all [all_count]; all_count++; for (k = 0; k < 8; k++) { if (key->key.default_mods & (1<key.keycode, k); if (bits & (1<key.keycode, k); } if (keysyms) XFree ((char *) keysyms); } } } /* I'd just like to take this moment to point out that C has all the expressive power of two dixie cups and a string. */ cmkpm = current_modmap->max_keypermod; dmkpm = default_modmap->max_keypermod; memset (added, 0, sizeof (added)); memset (subtracted, 0, sizeof (subtracted)); for (i = 0; i < 8; i++) { KeyCode kc1, kc2 = 0; added_count = subtracted_count = 0; if (partial) { for (j = 0; j < cmkpm; j++) { kc1 = current_modmap->modifiermap [i * cmkpm + j]; if (!kc1) continue; for (k = 0; k < dmkpm; k++) { kc2 = default_modmap->modifiermap [i * dmkpm + k]; if (kc1 == kc2) break; } if (kc1 != kc2) added [i][added_count++] = kc1; } for (j = 0; j < dmkpm; j++) { kc1 = default_modmap->modifiermap [i * dmkpm + j]; if (!kc1) continue; for (k = 0; k < cmkpm; k++) { kc2 = current_modmap->modifiermap [i * cmkpm + k]; if (kc1 == kc2) break; } if (kc1 != kc2) subtracted [i][subtracted_count++] = kc1; } if (added_count || subtracted_count) any_mod_changes = 1; } else { for (j = 0; j < cmkpm; j++) { kc1 = current_modmap->modifiermap [i * cmkpm + j]; if (kc1) added [i][added_count++] = kc1; } } } { char *t; char s[1024]; make_long_kbd_name(widget->keyboard.vendor, widget->keyboard.kbd_style, s); fprintf (out, "!\n! This is an `xmodmap' input file for %s%s keyboards.\n", ((strlen(s) > 40) ? "\n! " : ""), s); t = ctime (&now); t [strlen (t) - 1] = 0; /* bastards */ fprintf (out, "! Automatically generated on %s", t); } if (userid) fprintf (out, " by %s", userid); fprintf (out, " with\n! %s.\n", short_version); fprintf (out, "! http://www.jwz.org/xkeycaps/\n"); fprintf (out, "!\n"); if (partial && any_mod_changes) { fprintf (out, "! This file presupposes that the keyboard is in the "); fprintf (out, "default state, and\n! may malfunction if it is not.\n!\n"); } else if (! partial) { if (diff_count) fprintf (out, "! This file makes the following changes:\n!\n"); else fprintf (out, "! This file encodes the default state.\n!\n"); } /* If we're going to write out "remove" commands, do it before writing out any "keycode" statements, since xmodmap is so lame. We only generate "remove" statements in "partial" mode. http://catalog.com/hopkins/images/smegmas.gif */ any_mod_changes = 0; if (partial) for (i = 0; i < 8; i++) { char *str; KeySym ks; if (subtracted [i][0]) { fprintf (out, "remove %-8s=", bit_names [i]); for (j = 0; j < sizeof (subtracted [0]); j++) { KeyWidget kw; if (! subtracted [i][j]) break; any_mod_changes = 1; /* note: we don't use the *current* keysym corresponding to the keycode being removed here, but the *default* one... */ kw = keycode_to_key (widget, subtracted [i][j]); ks = kw->key.default_keysyms [0]; str = XKeysymToString (ks); if (str) fprintf (out, " %s", str); else fprintf (out, " 0x%04X", subtracted [i][j]); } fprintf (out, "\n"); } } if (any_mod_changes) fprintf (out, "\n"); /* Write out the differences. This happens in both "partial" and "full" modes, but in "full" mode it's in the form of a descriptive comment instead of xmodmap commands. */ for (i = 0; i < diff_count; i++) { if (partial) fprintf (out, "keycode 0x%02X =\t", differences[i].key->key.keycode); else fprintf (out, "! The \"%s\" key generates ", differences[i].key->key.key_name); for (j = 0; j < differences[i].count; j++) { fprintf (out, "%s", differences[i].names[j]); if (j+1 == differences[i].count) continue; if (partial) { fprintf (out, "\t"); if (strlen (differences[i].names[j]) < 8) putchar ('\t'); } else { if (j+1 == differences[i].count-1) fprintf (out, "%s", (j == 0) ? " and " : ", and "); else fprintf (out, ", "); } } /* write the diffs of the modifier bits in the full-mode comment. */ if (!partial && differences[i].key->key.default_mods != differences[i].key->key.modifier_bits) { unsigned long bits = differences[i].key->key.modifier_bits; int this_mod_count = 0; if (! bits) fprintf (out, ", and has no modifiers\n"); else { fprintf (out, ", and the "); for (k = 0; k < 8; k++) { if (bits & (1<1 ? "s" : "")); } } else fprintf (out, "\n"); } /* In "full" mode, write out all the "keycode" commands. This is the first actual xmodmap command text in full mode. */ if (!partial) { fprintf (out, "\n"); for (i = 0; i < all_count; i++) { fprintf (out, "keycode 0x%02X =\t", all [i].key->key.keycode); for (j = 0; j < all[i].count; j++) { fprintf (out, "%s", all[i].names[j]); if (j == all[i].count - 1) continue; fprintf (out, "\t"); if (strlen (all[i].names[j]) < 8) fprintf (out, "\t"); } fprintf (out, "\n"); } fprintf (out, "\n"); fprintf (out, "clear Shift\nclear Lock\nclear Control\nclear Mod1\n"); fprintf (out, "clear Mod2\nclear Mod3\nclear Mod4\nclear Mod5\n"); } /* In partial mode, write out any "add" commands. This is after any "keycode" commands have already been output (and any "remove" commands before them.) In full mode, the "add" commands are the whole story. */ fprintf (out, "\n"); for (i = 0; i < 8; i++) { char *str; KeySym ks; if (added [i][0]) { fprintf (out, "add %-8s=", bit_names [i]); for (j = 0; j < sizeof (added [0]); j++) { if (! added [i][j]) break; ks = XKeycodeToKeysym (XtDisplay (widget), added [i][j], 0); str = XKeysymToString (ks); if (str) fprintf (out, " %s", str); else fprintf (out, " 0x%04X", added [i][j]); } fprintf (out, "\n"); } } fclose (out); y_or_n_p_with_args (widget, "wroteFileMessage", "ok", 0, 0, (filename ? filename : "???"), 0, 0, 0, 0, 0); if (filename) free (filename); } static Window #ifdef __STDC__ lowest_window (Display *dpy, Window window, Window limit, int x, int y) #else /* ! __STDC__ */ lowest_window (dpy, window, limit, x, y) Display *dpy; Window window, limit; int x, y; #endif /* ! __STDC__ */ { XWindowAttributes xgwa; XGetWindowAttributes (dpy, window, &xgwa); /* Ignore all windows which are not at or below `limit'. This prevents us from assigning focus to windows which are part of the WM decoration, since `limit' is the result of XmuClientWindow() -- it limits us to descending the tree of the client proper. */ if (window == limit) limit = 0; if (xgwa.x <= x && xgwa.y <= y && xgwa.x + xgwa.width > x && xgwa.y + xgwa.height > y) { Window root, parent, *kids; unsigned int nkids; if (!XQueryTree (dpy, window, &root, &parent, &kids, &nkids)) abort (); if (kids) { unsigned int i; Window kid = 0; for (i = 0; i < nkids; i++) { kid = lowest_window (dpy, kids[i], limit, x - xgwa.x, y - xgwa.y); if (kid) break; } XFree ((char *)kids); if (kid) return kid; } /* Don't accept windows outside of the client tree. */ if (limit) return 0; /* Don't accept windows which don't take KeyPress. */ if (! (xgwa.all_event_masks & KeyPressMask)) return 0; return window; } else return 0; } static void #ifdef __STDC__ button_pick_window (Widget button, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ button_pick_window (button, client_data, call_data) Widget button; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget keyboard = *((KeyboardWidget *) client_data); Widget topmost, target; Display *dpy = XtDisplay (keyboard); Window root = RootWindowOfScreen (keyboard->core.screen); Window window = 0; Window wm_window; int click_x = 0, click_y = 0; int buttons = 0; int once = 0; XEvent event; message (keyboard, "Please select the window to type at:"); if (XGrabPointer (dpy, root, False, ButtonPressMask | ButtonReleaseMask, GrabModeSync, GrabModeAsync, root, keyboard->keyboard.select_cursor, CurrentTime)) { XBell (dpy, 0); message (keyboard, "Grab failed."); return; } while (window == 0 || buttons != 0) { /* allow one more event */ XAllowEvents (dpy, SyncPointer, CurrentTime); XWindowEvent (dpy, root, ButtonPressMask|ButtonReleaseMask, &event); switch (event.type) { case ButtonPress: once = 1; if (window == 0 && event.xbutton.subwindow) { window = event.xbutton.subwindow; /* window selected */ click_x = event.xbutton.x; click_y = event.xbutton.y; } buttons++; break; case ButtonRelease: if (buttons > 0) buttons--; break; } } XUngrabPointer(dpy, CurrentTime); XSync (dpy, 0); wm_window = window; if (window && window != root) window = XmuClientWindow (dpy, window); topmost = (Widget) keyboard; while (XtParent (topmost)) topmost = XtParent (topmost); target = XtWindowToWidget (XtDisplay (topmost), window); if (window == XtWindow (topmost)) target = topmost; if (target || window == root) window = 0; if (window) { char buf [255]; char buf2 [100]; char *string1 = 0, *string2 = 0, *string3 = 0; char *name; XClassHint classhint; Window lowest = lowest_window (dpy, wm_window, window, click_x, click_y); if (! lowest) { /* Maybe they clicked in the wrong place in the app. Let's try again by picking the exact center of the frame and looking there for something that accepts keyboard input. */ XWindowAttributes xgwa; XGetWindowAttributes (dpy, wm_window, &xgwa); lowest = lowest_window (dpy, wm_window, window, xgwa.x + (xgwa.width / 2), xgwa.y + (xgwa.height / 2)); if (! lowest) { /* Still couldn't find one; give up. */ XBell (dpy, 0); message (keyboard, "No window there that accepts keyboard input!"); goto done; } } classhint.res_name = classhint.res_class = 0; if (! XGetClassHint (dpy, window, &classhint)) classhint.res_name = classhint.res_class = 0; string1 = classhint.res_name; string2 = classhint.res_class; XFetchName (dpy, window, &string3); name = string3; if (string2 && string3 && string_equal (string2, string3)) string3 = 0; if (string1 && string3 && string_equal (string1, string3)) string3 = 0; if (string1 && string2 && string_equal (string1, string2)) string2 = 0; if (!string2) string2 = string3, string3 = 0; if (!string1) string1 = string2, string2 = 0; if (string1 && string2 && string3) sprintf (buf2, "%s / %s / %s", string1, string2, string3); else if (string1 && string2) sprintf (buf2, "%s / %s", string1, string2); else if (string1) sprintf (buf2, "%s", string1); else sprintf (buf2, "unnamed"); if (window == lowest) sprintf (buf, "Keyboard focus locked on window 0x%X (%s)", (int) window, buf2); else sprintf (buf, "Keyboard focus locked on window 0x%X <- 0x%X (%s)", (int) lowest, (int) window, buf2); message (keyboard, buf); if (!classhint.res_class) ; else if (string_equal (classhint.res_class, "xterm")) message2 (keyboard, "Remember to select \"Allow SendEvents\" from the XTerm menu."); else if (string_equal (classhint.res_class, "cmdtool") || string_equal (classhint.res_class, "shelltool") || string_equal (classhint.res_class, "textedit")) message2 (keyboard, "Did you remember to use the -defeateventsecurity option when launching it?"); if (classhint.res_name) XFree (classhint.res_name); if (classhint.res_class) XFree (classhint.res_class); if (name) XFree (name); window = lowest; } else message (keyboard, "Keyboard-focus cleared."); done: keyboard->keyboard.target_window = window; } static int #ifdef __STDC__ modify_keyboard_modifiers (KeyboardWidget widget, XModifierKeymap *modmap) #else /* ! __STDC__ */ modify_keyboard_modifiers (widget, modmap) KeyboardWidget widget; XModifierKeymap *modmap; #endif /* ! __STDC__ */ { Display *display = XtDisplay ((Widget) widget); int retries, timeout; char buf [255]; for (retries = 4, timeout = 2; retries > 0; retries--, timeout *= 2) { int result; result = XSetModifierMapping (display, modmap); switch (result) { case MappingSuccess: mappingNotify_event_expected = 1; return 0; case MappingBusy: sprintf (buf, "please release all keys withing %d seconds", timeout); /* Calling message() doesn't work because exposes don't get processed while we're sleeping. */ message (widget, buf); fprintf (stderr, "%s: %s\n", progname, buf); XSync (display, 0); sleep (timeout); continue; case MappingFailed: message (widget, "XSetModifierMapping() failed"); XBell (display, 0); return -1; default: sprintf (buf, "unknown return code %d from XSetModifierMapping()", result); message (widget, buf); XBell (display, 0); return -1; } } sprintf (buf, "XSetModifierMapping() failed"); message (widget, buf); XBell (display, 0); return -1; } /* We install this as an error handler around the call to XChangeKeyboardMapping(), so that we can trap errors that that operation generates. Gotta love this 1960's condition system... */ static int XChangeKeyboardMapping_error = 0; static int #ifdef __STDC__ modify_keyboard_error_handler (Display *dpy, XErrorEvent *error) #else /* ! __STDC__ */ modify_keyboard_error_handler (dpy, error) Display *dpy; XErrorEvent *error; #endif /* ! __STDC__ */ { switch (error->request_code) { case X_ChangeKeyboardMapping: XChangeKeyboardMapping_error = 1; return 0; default: XmuPrintDefaultErrorMessage (dpy, error, stderr); exit (-1); } } static int #ifdef __STDC__ modify_keyboard (KeyboardWidget widget, int first_keycode, int keysyms_per_keycode, KeySym *keysyms, int num_codes, XModifierKeymap *modmap) #else /* ! __STDC__ */ modify_keyboard (widget, first_keycode, keysyms_per_keycode, keysyms, num_codes, modmap) KeyboardWidget widget; int first_keycode; int keysyms_per_keycode; KeySym *keysyms; int num_codes; XModifierKeymap *modmap; #endif /* ! __STDC__ */ { Display *display = XtDisplay ((Widget) widget); XErrorHandler old_handler; if (keysyms_per_keycode == 0) keysyms_per_keycode = 1; XSync (display, 0); mappingNotify_event_expected = 1; XChangeKeyboardMapping_error = 0; old_handler = XSetErrorHandler (modify_keyboard_error_handler); XChangeKeyboardMapping (display, first_keycode, keysyms_per_keycode, keysyms, num_codes); /* Is there a race condition here? Are we guarenteed that by calling XSync() we will get back an error generated by the previously-sent request? */ XSync (XtDisplay ((Widget) widget), 0); XSetErrorHandler (old_handler); if (XChangeKeyboardMapping_error) { mappingNotify_event_expected = 0; message (widget, "XChangeKeyboardMapping() failed."); XBell (display, 0); return -1; } if (modmap) return modify_keyboard_modifiers (widget, modmap); return 0; } static void #ifdef __STDC__ restore_key_default (Widget parent, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ restore_key_default (parent, client_data, call_data) Widget parent; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) client_data; KeyWidget key = widget->keyboard.key_under_mouse; KeySym *keysyms = key->key.default_keysyms; int per_code = widget->keyboard.default_keysyms_per_code; KeyCode code = key->key.keycode; unsigned long bits = key->key.default_mods; XModifierKeymap *modmap; int i, error; if (! code) { y_or_n_p (widget, "magicKeyError", "ok", 0, 0); return; } modmap = XGetModifierMapping (XtDisplay (widget)); for (i = 0; i < 8; i++) if (bits & (1<key.keycode, buf); message (widget, buf2); } XSync (XtDisplay (widget), 0); } static void #ifdef __STDC__ swap_key (Widget parent, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ swap_key (parent, client_data, call_data) Widget parent; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) client_data; XModifierKeymap *modmap = XGetModifierMapping (XtDisplay (widget)); KeyWidget source_key = widget->keyboard.key_under_mouse; KeyWidget target_key; KeySym *source_keysyms; KeySym *target_keysyms; int source_count, target_count; unsigned long source_bits = source_key->key.modifier_bits; unsigned long target_bits; KeyCode source_code = source_key->key.keycode; KeyCode target_code; char buf [255]; int i, error; if (source_key->key.keycode == 0) { y_or_n_p (widget, "magicKeyError", "ok", 0, 0); return; } sprintf (buf, "Click on the key to swap with 0x%02X (%s)", source_key->key.keycode, source_key->key.key_name); target_key = prompt_for_key (widget, buf); if (! target_key) return; target_bits = target_key->key.modifier_bits; target_code = target_key->key.keycode; if (target_code == 0) { y_or_n_p (widget, "magicKeyError", "ok", 0, 0); return; } if (source_code == target_code) { XBell (XtDisplay (widget), 0); message (widget, "Those keys are the same!"); return; } for (i = 0; i < 8; i++) { if (source_bits & (1<key.keycode, source_key->key.key_name, target_key->key.keycode, target_key->key.key_name); message (widget, buf); if (source_keysyms) XFree ((char *) source_keysyms); if (target_keysyms) XFree ((char *) target_keysyms); if (modmap) XFreeModifiermap (modmap); } static void #ifdef __STDC__ clone_key (Widget parent, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ clone_key (parent, client_data, call_data) Widget parent; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) client_data; XModifierKeymap *modmap = XGetModifierMapping (XtDisplay (widget)); KeyWidget source_key = widget->keyboard.key_under_mouse; KeyWidget target_key; KeySym *source_keysyms; int source_count; unsigned long source_bits = source_key->key.modifier_bits; KeyCode source_code = source_key->key.keycode; KeyCode target_code; char buf [255]; int i, error; if (source_key->key.keycode == 0) { y_or_n_p (widget, "magicKeyError", "ok", 0, 0); return; } sprintf (buf, "Click on the key to turn into a copy of 0x%02X (%s)", source_key->key.keycode, source_key->key.key_name); target_key = prompt_for_key (widget, buf); if (! target_key) return; target_code = target_key->key.keycode; if (target_code == 0) { y_or_n_p (widget, "magicKeyError", "ok", 0, 0); return; } if (source_code == target_code) { XBell (XtDisplay (widget), 0); message (widget, "Those keys are the same!"); return; } for (i = 0; i < 8; i++) { if (source_bits & (1<key.keycode, source_key->key.key_name, target_key->key.keycode, target_key->key.key_name); message (widget, buf); } static void #ifdef __STDC__ disable_key (Widget parent, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ disable_key (parent, client_data, call_data) Widget parent; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) client_data; KeyWidget key = widget->keyboard.key_under_mouse; KeyCode code = key->key.keycode; KeySym keysym = 0; int i, error; char buf [255]; XModifierKeymap *modmap = XGetModifierMapping (XtDisplay (widget)); if (code == 0) { y_or_n_p (widget, "magicKeyError", "ok", 0, 0); return; } for (i = 0; i < 8; i++) modmap = XDeleteModifiermapEntry (modmap, code, i); error = modify_keyboard (widget, code, 1, &keysym, 1, modmap); XFreeModifiermap (modmap); if (! error) { sprintf (buf, "KeyCode 0x%02X (%s) disabled.", key->key.keycode, key->key.key_name); message (widget, buf); } XSync (XtDisplay (widget), 0); } static struct edit_key_box * make_edit_key_dbox P((KeyboardWidget)); static struct select_kbd_box * make_select_kbd_dbox P((KeyboardWidget)); static void pop_up_key_dbox P((Widget, XtPointer, XtPointer)); struct key_menus * #ifdef __STDC__ make_key_menus (KeyboardWidget *kbd) #else /* ! __STDC__ */ make_key_menus (kbd) KeyboardWidget *kbd; #endif /* ! __STDC__ */ { KeyboardWidget widget = *kbd; Arg av [20]; int ac = 0, i = 0; Widget menu, item; struct key_menus *key_menus = (struct key_menus *) malloc (sizeof (struct key_menus)); memset (key_menus->popup_kids, 0, sizeof (key_menus->popup_kids)); XawSimpleMenuAddGlobalActions (XtWidgetToApplicationContext((Widget)widget)); XtSetArg (av[ac], XtNlabel, "keyMenu"); ac++; menu = XtCreatePopupShell ("keyMenu", simpleMenuWidgetClass, (Widget) widget, av, ac); XtAddCallback (menu, XtNpopupCallback, key_menu_pre_popup_hook, (XtPointer) widget); key_menus->popup = menu; ac = 0; item = XtCreateManagedWidget ("editKeysyms", smeBSBObjectClass, menu, av,ac); XtAddCallback (item, XtNcallback, pop_up_key_dbox, (XtPointer) widget); key_menus->popup_kids [i++] = item; item = XtCreateManagedWidget ("swapKey", smeBSBObjectClass, menu, av, ac); XtAddCallback (item, XtNcallback, swap_key, (XtPointer) widget); key_menus->popup_kids [i++] = item; item = XtCreateManagedWidget ("cloneKey", smeBSBObjectClass, menu, av, ac); XtAddCallback (item, XtNcallback, clone_key, (XtPointer) widget); key_menus->popup_kids [i++] = item; item = XtCreateManagedWidget ("disableKey", smeBSBObjectClass, menu, av, ac); XtAddCallback (item, XtNcallback, disable_key, (XtPointer) widget); key_menus->popup_kids [i++] = item; item = XtCreateManagedWidget ("restoreKey", smeBSBObjectClass, menu, av, ac); XtAddCallback (item, XtNcallback, restore_key_default, (XtPointer) widget); key_menus->popup_kids [i++] = item; key_menus->edit_key_box = make_edit_key_dbox (widget); key_menus->select_kbd_box = make_select_kbd_dbox (widget); return key_menus; } void #ifdef __STDC__ sensitize_menu (KeyboardWidget widget, Widget menu, Bool sensitive) #else /* ! __STDC__ */ sensitize_menu (widget, menu, sensitive) KeyboardWidget widget; Widget menu; Bool sensitive; #endif /* ! __STDC__ */ { Arg av [10]; int ac = 0, i = 0; struct key_menus *key_menus = widget->keyboard.key_menus; if (menu != key_menus->popup) return; XtSetArg (av [ac], XtNsensitive, sensitive); ac++; for (i = 0; i < sizeof (key_menus->popup_kids); i++) if (! key_menus->popup_kids [i]) return; else XtSetValues (key_menus->popup_kids [i], av, ac); } Widget #ifdef __STDC__ make_command_widgets (Widget parent, Widget *kbd) #else /* ! __STDC__ */ make_command_widgets (parent, kbd) Widget parent; Widget *kbd; #endif /* ! __STDC__ */ { Widget box, top; Arg av [20]; int ac = 0; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainLeft); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; box = XtCreateManagedWidget ("buttons", formWidgetClass, parent, av, ac); top = 0; top = make_button (box, "quit", NULL, 0, top, button_quit, kbd, 0); top = make_button (box, "keyboard", NULL, 0, top, pop_up_kbd_dbox, kbd, 0); top = make_button (box, "focus", NULL, 0, top, button_pick_window, kbd, 0); top = make_button (box, "restore", NULL, 0, top, button_restore, kbd, 0); top = make_button (box, "write", NULL, 0, top, button_write, kbd, 0); return box; } /* These are used to compute the default sizes of the windows. Hack hack. */ #define LONGEST_KEYSYM_NAME "Greek_upsilonaccentdieresis" #define MEDIUM_LENGTH_KEYSYM_NAME "Greek_IOTAdiaresis" struct keyset_names { const char *name; /* The name of this keyset (for the dialog box) */ unsigned int number; /* The top two bytes of corresponding keysym values */ } static all_keyset_names[] = { { "Latin1", 0x00 }, { "Latin2", 0x01 }, { "Latin3", 0x02 }, { "Latin4", 0x03 }, { "Katakana", 0x04 }, { "Arabic", 0x05 }, { "Cyrillic", 0x06 }, { "Greek", 0x07 }, { "Technical", 0x08 }, { "Special", 0x09 }, { "Publishing", 0x0A }, { "APL", 0x0B }, { "Hebrew", 0x0C }, { "Thai", 0x0D }, { "Korean", 0x0E }, { "ISO", 0xFE }, /* "ISO 9995 Function and Modifier Keys" */ { "Keyboard", 0xFF }, #ifdef DO_VENDOR_KEYSYMS { "Vendor", 0xFFFF }, /* special-case hack */ #endif { 0, 0 } }; static char **keysym_name_buffer = 0; static int keysym_name_buffer_size = 0; static void #ifdef __STDC__ ensure_keysym_name_buffer (int size) #else /* ! __STDC__ */ ensure_keysym_name_buffer (size) int size; #endif /* ! __STDC__ */ { if (keysym_name_buffer_size >= size) return; if (keysym_name_buffer) free ((char *) keysym_name_buffer); keysym_name_buffer_size = size; keysym_name_buffer = (char **) malloc (sizeof (char *) * size); } #ifdef DO_VENDOR_KEYSYMS struct vendor_keysym { char *name; KeySym keysym; int index; }; static struct vendor_keysym *vendor_keysyms = 0; static int n_vendor_keysyms = 0; static XrmDatabase vendor_keysym_db = 0; static Bool #ifdef __STDC__ init_vendor_keysyms_mapper (XrmDatabase *db, XrmBindingList bindings, XrmQuarkList quarks, XrmRepresentation *type, XrmValue *value, XPointer closure) #else /* ! __STDC__ */ init_vendor_keysyms_mapper (db, bindings, quarks, type, value, closure) XrmDatabase *db; XrmBindingList bindings; XrmQuarkList quarks; XrmRepresentation *type; XrmValue *value; XPointer closure; #endif /* ! __STDC__ */ { KeySym keysym; char c; int i; int *count = (int *) closure; if (quarks [1]) /* should only be one level deep. */ abort (); if (! value->addr || value->size <= 1) return False; keysym = 0; for (i = 0; i < value->size - 1; i++) { c = ((char *) value->addr) [i]; if ('0' <= c && c <= '9') keysym = (keysym<<4)+c-'0'; else if ('a' <= c && c <= 'z') keysym = (keysym<<4)+c-'a'+10; else if ('A' <= c && c <= 'Z') keysym = (keysym<<4)+c-'A'+10; else { fprintf (stderr, "%s: unparsable entry in XKeysymDB: \"%s: %s\"\n", progname, XrmQuarkToString (quarks [0]), (char *) value->addr); return False; } } if (n_vendor_keysyms <= *count) { n_vendor_keysyms *= 2; vendor_keysyms = (struct vendor_keysym *) realloc (vendor_keysyms, sizeof (struct vendor_keysym) * n_vendor_keysyms); } vendor_keysyms [*count].index = -1; /* we fill this in later */ vendor_keysyms [*count].keysym = keysym; vendor_keysyms [*count].name = (char *) XrmQuarkToString (quarks [0]); (*count)++; return False; } static int #ifdef __STDC__ sort_vendor_keysyms_1 (int left, int right) #else /* ! __STDC__ */ sort_vendor_keysyms_1 (left, right) int left, right; #endif /* ! __STDC__ */ { int L = left, R = right, middle; struct vendor_keysym swap; KeySym pivot = vendor_keysyms [left].keysym; while (L < R) { while (vendor_keysyms [L].keysym <= pivot && L <= right) L++; while (vendor_keysyms [R].keysym > pivot && R >= left) R--; if (L < R) { swap = vendor_keysyms [L]; vendor_keysyms [L] = vendor_keysyms [R]; vendor_keysyms [R] = swap; } } middle = R; swap = vendor_keysyms [left]; vendor_keysyms [left] = vendor_keysyms [middle]; vendor_keysyms [middle] = swap; if (left < middle - 1) middle = sort_vendor_keysyms_1 (left, middle - 1); if (middle + 1 < right) middle = sort_vendor_keysyms_1 (middle + 1, right); return middle; } static void sort_vendor_keysyms P((void)) { int i; sort_vendor_keysyms_1 (0, n_vendor_keysyms - 1); for (i = 0; i < n_vendor_keysyms; i++) { if (i > 0 && vendor_keysyms [i].keysym < vendor_keysyms [i-1].keysym) abort (); vendor_keysyms [i].index = i; } } #ifndef NO_XInitKeysymDB extern XrmDatabase _XInitKeysymDB P((void)); #endif static void #ifdef __STDC__ init_vendor_keysyms (KeyboardWidget widget) #else /* ! __STDC__ */ init_vendor_keysyms (widget) KeyboardWidget widget; #endif /* ! __STDC__ */ { static int done = 0; int count = 0; XrmName name = { 0 }; XrmClass class = { 0 }; if (done) return; done = 1; if (! vendor_keysym_db) { char *dbname = (char *) getenv ("XKEYSYMDB"); #ifdef KEYSYMDB if (! dbname) dbname = KEYSYMDB; #endif /* KEYSYMDB */ #ifdef NO_XInitKeysymDB if (dbname) vendor_keysym_db = XrmGetFileDatabase (dbname); #else /* we have _XInitKeysymDB(), so let Xlib be clever for us. */ vendor_keysym_db = _XInitKeysymDB (); #endif /* _XInitKeysymDB */ if (! vendor_keysym_db) /* still don't have it... */ { if (dbname) y_or_n_p_with_args (widget, "noKeysymDBError", "ok", 0, 0, dbname, 0, 0, 0, 0, 0); else y_or_n_p (widget, "unknownKeysymDBError", "ok", 0, 0); return; } } n_vendor_keysyms = 255; /* probably not more than this; it's realloc'd. */ vendor_keysyms = (struct vendor_keysym *) malloc (n_vendor_keysyms * sizeof (struct vendor_keysym)); XrmEnumerateDatabase (vendor_keysym_db, &name, &class, XrmEnumOneLevel, init_vendor_keysyms_mapper, (XtPointer) &count); if (count < n_vendor_keysyms) /* might as well shrink it */ { n_vendor_keysyms = count; vendor_keysyms = (struct vendor_keysym *) realloc (vendor_keysyms, count * sizeof (struct vendor_keysym)); } else if (! count) { free ((char *) vendor_keysyms); n_vendor_keysyms = 0; vendor_keysyms = 0; return; } /* Hash order isn't very pretty; sort them by keysym numeric value. */ sort_vendor_keysyms (); } static void #ifdef __STDC__ fill_keysym_name_buffer_with_vendor_keysyms (KeyboardWidget keyboard) #else /* ! __STDC__ */ fill_keysym_name_buffer_with_vendor_keysyms (keyboard) KeyboardWidget keyboard; #endif /* ! __STDC__ */ { int i; if (! vendor_keysyms) init_vendor_keysyms (keyboard); ensure_keysym_name_buffer (n_vendor_keysyms + 1); for (i = 0; i < n_vendor_keysyms; i++) keysym_name_buffer [i] = vendor_keysyms [i].name; keysym_name_buffer [i] = 0; } static int #ifdef __STDC__ vendor_keysym_to_small_index (KeyboardWidget keyboard, KeySym keysym) #else /* ! __STDC__ */ vendor_keysym_to_small_index (keyboard, keysym) KeyboardWidget keyboard; KeySym keysym; #endif /* ! __STDC__ */ { int i; char buf [255]; if (! vendor_keysyms) init_vendor_keysyms (keyboard); for (i = 0; i < n_vendor_keysyms; i++) if (keysym == vendor_keysyms [i].keysym) return vendor_keysyms [i].index; sprintf (buf, "Unrecognised vendor keysym 0x%08X.", (int) keysym); XBell (XtDisplay ((Widget) keyboard), 0); message (keyboard, buf); fprintf (stderr, "%s: %s\n", progname, buf); return 0; } #endif /* DO_VENDOR_KEYSYMS */ struct edit_key_box { KeyboardWidget keyboard; Widget shell; Widget label; Widget keysym_buttons [8]; Widget mod_buttons [8]; Widget keyset_list, keysym_list; Widget autorepeat_widget; int autorepeat; }; static void #ifdef __STDC__ keyset_list_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ keyset_list_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { XawListReturnStruct *lr = (XawListReturnStruct *) call_data; struct edit_key_box *box = (struct edit_key_box *) client_data; int set = 0; int i, j = 0; int set_start = 0; set = -1; for (i = 0; i < sizeof(all_keyset_names)/sizeof(*all_keyset_names); i++) if (lr->list_index == i) { set = all_keyset_names[i].number; break; } if (set != 0) set_start = 1; /* Latin1 is the only set that has NoSymbol */ #ifdef DO_VENDOR_KEYSYMS if (set == 0xFFFF) /* FFFF means "vendor keysym" */ fill_keysym_name_buffer_with_vendor_keysyms (box->keyboard); else #endif if (set == -1) { ensure_keysym_name_buffer (256); keysym_name_buffer [0] = 0; } else { ensure_keysym_name_buffer (256); for (i = set_start; i < 256; i++) { char *name = XKeysymToString ((set << 8) | i); if (! name && i == 0) name = "NoSymbol"; if (name) keysym_name_buffer [j++] = name; } keysym_name_buffer [j++] = 0; } XawListChange (box->keysym_list, keysym_name_buffer, 0, 0, True); } static void #ifdef __STDC__ keysym_list_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ keysym_list_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { XawListReturnStruct *lr = (XawListReturnStruct *) call_data; struct edit_key_box *box = (struct edit_key_box *) client_data; int i = (int) XawToggleGetCurrent (box->keysym_buttons [0]); if (i > 0) { Widget button = box->keysym_buttons [i-1]; /* If the string is wider than the parent of the button, setting the label will leave it at the size it was before. So, first stretch it to the max width, and then let SetValues (maybe) resize it smaller. What a piece of junk. */ XtResizeWidget (button, XtParent (button)->core.width, button->core.height, button->core.border_width); XtVaSetValues (button, XtNlabel, lr->string, 0); } } static void #ifdef __STDC__ autorepeat_button_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ autorepeat_button_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { struct edit_key_box *box = (struct edit_key_box *) client_data; Arg av [10]; int ac = 0; box->autorepeat = !box->autorepeat; XtSetArg (av [ac], XtNlabel, (box->autorepeat ? "Yes" : "No")); ac++; XtSetValues (widget, av, ac); } static void #ifdef __STDC__ abort_button_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ abort_button_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { struct edit_key_box *box = (struct edit_key_box *) client_data; XtPopdown (box->shell); message (box->keyboard, "Aborted."); } static int stop_the_insanity P((KeyboardWidget, int keycode, KeySym *keysyms, int count, unsigned long modbits, XModifierKeymap *modmap)); static void #ifdef __STDC__ ok_button_cb (Widget button, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ ok_button_cb (button, client_data, call_data) Widget button; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { struct edit_key_box *box = (struct edit_key_box *) client_data; KeyboardWidget widget = box->keyboard; KeyWidget key = widget->keyboard.key_under_mouse; KeyCode code = key->key.keycode; KeySym keysyms [8]; int keysym_count; unsigned long modbits = 0; XModifierKeymap *modmap = XGetModifierMapping (XtDisplay (widget)); int i, error; Arg av [10]; int ac = 0; char *str; ac = 0; XtSetArg (av [ac], XtNlabel, &str); ac++; for (i = 0; i < 8; i++) { XtGetValues (box->keysym_buttons [i], av, ac); if (str && !strcmp (str, "NoSymbol")) str = 0; if (! str) keysyms [i] = 0; else { keysyms [i] = XStringToKeysym (str); if (! keysyms [i]) fprintf (stderr, "%s: ERROR: XStringToKeysym(\"%s\") returned 0\n", progname, str); } } for (keysym_count = 8; keysym_count > 0; keysym_count--) if (keysyms [keysym_count-1]) break; for (i = 0; i < 8; i++) { #ifndef XAWBUG Boolean state = 0; XtVaGetValues (box->mod_buttons[i], XtNstate, &state, NULL); #else /* XAWBUG */ int state = ((CommandWidget) (box->mod_buttons [i]))->command.set; #endif modbits |= ((!!state) << i); if (state) modmap = XInsertModifiermapEntry (modmap, code, i); else modmap = XDeleteModifiermapEntry (modmap, code, i); } if (stop_the_insanity (widget, code, keysyms, keysym_count, modbits, modmap)) return; XSync (XtDisplay (widget), 0); error = modify_keyboard (widget, code, keysym_count, keysyms, 1, modmap); XFreeModifiermap (modmap); if (!error && box->autorepeat != key->key.auto_repeat_p) { XKeyboardControl values; values.key = key->key.keycode; values.auto_repeat_mode = (box->autorepeat ? AutoRepeatModeOn : AutoRepeatModeOff); XChangeKeyboardControl (XtDisplay (widget), KBKey | KBAutoRepeatMode, &values); } XtPopdown (box->shell); if (! error) message (box->keyboard, "Modified."); } static void #ifdef __STDC__ move_scrollbar (Widget list, float percent) #else /* ! __STDC__ */ move_scrollbar (list, percent) Widget list; float percent; #endif /* ! __STDC__ */ { Widget vp = XtParent (list); Widget scrollbar = XtNameToWidget (vp, "vertical"); float visible_fraction = (((float) vp->core.height) / ((float) list->core.height)); if (visible_fraction < 1.0) percent -= (visible_fraction / 2.0); XawScrollbarSetThumb (scrollbar, 0.0, -1.0); XtCallCallbacks (scrollbar, XtNjumpProc, (XtPointer) &percent); } static void #ifdef __STDC__ keysym_button_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ keysym_button_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { struct edit_key_box *box = (struct edit_key_box *) client_data; KeyboardWidget keyboard = box->keyboard; char *keysym_name = 0; KeySym real_keysym; int list_index = 0; int keyset = 0, keysym = 0, index = 0, list_size = 0; Arg av[10]; int ac = 0; int i; if (call_data == 0) /* we're being toggled off */ return; XtSetArg (av[ac], XtNlabel, &keysym_name); ac++; XtGetValues (widget, av, ac); real_keysym = XStringToKeysym (keysym_name); /* Get the one that's in the list */ keysym_name = XKeysymToString (real_keysym); if (real_keysym > 0xFFFF) { #ifdef DO_VENDOR_KEYSYMS int i; keysym = 0; for (i = 0; i < sizeof(all_keyset_names)/sizeof(*all_keyset_names); i++) if (!strcmp(all_keyset_names[i].name, "Vendor")) { keysym = i; break; } if (keysym == 0) abort(); keysym = vendor_keysym_to_small_index (keyboard, real_keysym); #else XBell (XtDisplay (keyboard), 0); message (keyboard, "XKeyCaps was compiled without support for Vendor keysyms."); message2 (keyboard, "Consider upgrading to X11r5..."); keyset = 0; keysym = 0; #endif } else { keyset = (real_keysym >> 8); keysym = (real_keysym & 0xff); } list_size = (sizeof (all_keyset_names) / sizeof (all_keyset_names[0])); list_index = -1; for (i = 0; i < sizeof(all_keyset_names)/sizeof(*all_keyset_names); i++) if (all_keyset_names[i].number == keyset) { list_index = i; break; } if (list_index < 0) { XawListUnhighlight(box->keyset_list); move_scrollbar (box->keyset_list, 0.0); } else { XawListHighlight (box->keyset_list, list_index); move_scrollbar (box->keyset_list, (((float) list_index) / ((float) list_size))); } keyset_list_cb (box->keyset_list, box, XawListShowCurrent (box->keyset_list)); index = 256; for (list_size = 0; list_size < 256; list_size++) if (keysym_name_buffer [list_size] == keysym_name) index = list_size; else if (! keysym_name_buffer [list_size]) break; if (! keysym_name) index = 0; if (index < 256) { XawListHighlight (box->keysym_list, index); move_scrollbar (box->keysym_list, (((float) index) / ((float) list_size))); } else { XawListUnhighlight (box->keysym_list); } } static void #ifdef __STDC__ undo_button_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ undo_button_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { struct edit_key_box *box = (struct edit_key_box *) client_data; KeyboardWidget keyboard = box->keyboard; KeyWidget key = keyboard->keyboard.key_under_mouse; KeySym *keysyms; int syms_per_code = 0; char buf [255]; Arg av[20]; int ac = 0; int i; keysyms = XGetKeyboardMapping (XtDisplay (widget), key->key.keycode, 1, &syms_per_code); sprintf (buf, "Definition of key 0x%02X (%s)", key->key.keycode, key->key.key_name); XtSetArg (av[ac], XtNlabel, buf); ac++; XtSetValues (box->label, av, ac); ac = 0; for (i = 0; i < syms_per_code; i++) { char *sym; char buf [255]; if (!keysyms || !keysyms[i]) sym = "NoSymbol"; else sym = XKeysymToString (keysyms [i]); if (! sym) { sprintf (buf, "0x%04X", (int) keysyms [i]); sym = buf; } ac = 0; XtSetArg (av[ac], XtNlabel, sym); ac++; XtSetValues (box->keysym_buttons [i], av, ac); } if (keysyms) XFree ((char *) keysyms); ac = 0; XtSetArg (av[ac], XtNlabel, "NoSymbol"); ac++; for (; i < 8; i++) XtSetValues (box->keysym_buttons [i], av, ac); for (i = 0; i < 8; i++) { ac = 0; XtSetArg (av[ac], XtNstate, ((key->key.modifier_bits & 1<mod_buttons [i], av, ac); } XawToggleSetCurrent (box->keysym_buttons [0], (XtPointer) 1); keysym_button_cb (box->keysym_buttons [0], box, (void *) 1); box->autorepeat = !key->key.auto_repeat_p; autorepeat_button_cb (box->autorepeat_widget, box, 0); } static struct edit_key_box * #ifdef __STDC__ make_edit_key_dbox (KeyboardWidget widget) #else /* ! __STDC__ */ make_edit_key_dbox (widget) KeyboardWidget widget; #endif /* ! __STDC__ */ { struct edit_key_box *box = (struct edit_key_box *) malloc (sizeof (struct edit_key_box)); Arg av [20]; int ac = 0; Widget toplevel, box1, box2; Widget keysym_box, button_box, keyset_box, keyset_syms_box, mod_box; Widget line_box, prev, prev_tog; Widget set_list, sym_list; Widget set_vp, sym_vp; toplevel = XtCreatePopupShell ("editKey", transientShellWidgetClass, (Widget) widget, av, ac); box1 = XtCreateManagedWidget ("vertical", panedWidgetClass, toplevel, av,ac); box->label = make_label (box1, "label", 0, 0, 0); ac = 0; XtSetArg (av[ac], XtNorientation, "horizontal"); ac++; box2 = XtCreateManagedWidget ("horizontal", panedWidgetClass, box1, av, ac); ac = 0; keysym_box = XtCreateManagedWidget ("keysymBox", formWidgetClass, box2, av, ac); prev = make_label (keysym_box, "symsOfCode", 0, 0, 0); prev = make_label (keysym_box, "spacer", "", 0, prev); ac = 0; prev_tog = 0; line_box = prev; #define TOG(var, name, index) \ { ac = 0; \ XtSetArg (av[ac], XtNorientation, "horizontal"); ac++; \ XtSetArg (av [ac], XtNfromVert, line_box); ac++; \ XtSetArg (av[ac], XtNtop, XtChainTop); ac++; \ XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; \ line_box = XtCreateManagedWidget ("keysymLine", boxWidgetClass, \ keysym_box, av, ac); \ var = make_label (line_box, name, 0, 0, prev); \ if (index) \ var = make_toggle (line_box, "keysymValue" ,var, prev, 0, \ keysym_button_cb, box, MEDIUM_LENGTH_KEYSYM_NAME, \ prev_tog, (XtPointer) index); \ else \ var = make_button (line_box, "autoRepeatValue", "Yes", var, prev, \ autorepeat_button_cb, box, 0); \ prev_tog = prev = var; } TOG (box->keysym_buttons [0], "keysym1", 1); TOG (box->keysym_buttons [1], "keysym2", 2); TOG (box->keysym_buttons [2], "keysym3", 3); TOG (box->keysym_buttons [3], "keysym4", 4); TOG (box->keysym_buttons [4], "keysym5", 5); TOG (box->keysym_buttons [5], "keysym6", 6); TOG (box->keysym_buttons [6], "keysym7", 7); TOG (box->keysym_buttons [7], "keysym8", 8); prev = prev_tog = 0; line_box = make_label (keysym_box, "spacer2", "", 0, line_box); TOG (box->autorepeat_widget, "autoRepeat", 0); #undef TOG ac = 0; mod_box = XtCreateManagedWidget ("modifierBox", formWidgetClass, box2, av, ac); prev = make_label (mod_box, "modifiers", 0, 0, 0); prev = make_label (mod_box, "spacer", "", 0, prev); #define TOG(var, name) \ { var = make_toggle (mod_box, name, 0, prev, 0, 0, 0, 0, 0, 0); \ prev = var; } TOG (box->mod_buttons [0], "modShift"); TOG (box->mod_buttons [1], "modLock"); TOG (box->mod_buttons [2], "modControl"); TOG (box->mod_buttons [3], "mod1"); TOG (box->mod_buttons [4], "mod2"); TOG (box->mod_buttons [5], "mod3"); TOG (box->mod_buttons [6], "mod4"); TOG (box->mod_buttons [7], "mod5"); #undef TOG ac = 0; keyset_box = XtCreateManagedWidget("keysetBox", formWidgetClass, box2, av, ac); prev = make_label (keyset_box, "allKeySets", 0, 0, 0); ac = 0; XtSetArg (av[ac], XtNfromVert, prev); ac++; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainRight); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainBottom); ac++; set_vp = XtCreateManagedWidget ("keysetsVp", viewportWidgetClass, keyset_box, av, ac); ac = 0; { static const char *list[sizeof(all_keyset_names) / sizeof(*all_keyset_names)]; int i = 0; for (i = 0; i < sizeof(list)/sizeof(*list); i++) list[i] = all_keyset_names[i].name; XtSetArg (av[ac], XtNlist, list); ac++; } set_list = XtCreateManagedWidget ("keysets", listWidgetClass, set_vp,av,ac); XtAddCallback (set_list, XtNcallback, keyset_list_cb, (XtPointer) box); /* Gag! These lists won't size themselves correctly. */ XtVaSetValues (set_list, XtNwidth, set_list->core.width + 20, 0); ac = 0; keyset_syms_box = XtCreateManagedWidget ("keysetSymsBox", formWidgetClass, box2, av, ac); prev = make_label (keyset_syms_box, "keySymsOfSet", 0, 0, 0); ac = 0; XtSetArg (av[ac], XtNfromVert, prev); ac++; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainRight); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainBottom); ac++; sym_vp = XtCreateManagedWidget ("keysymsVp", viewportWidgetClass, keyset_syms_box, av, ac); ensure_keysym_name_buffer (256); #if 0 memcpy (keysym_name_buffer, all_keyset_names, sizeof (all_keyset_names)); #endif keysym_name_buffer [0] = LONGEST_KEYSYM_NAME; keysym_name_buffer [1] = 0; ac = 0; XtSetArg (av[ac], XtNlist, keysym_name_buffer); ac++; sym_list = XtCreateManagedWidget ("keysyms", listWidgetClass, sym_vp,av,ac); XtAddCallback (sym_list, XtNcallback, keysym_list_cb, (XtPointer) box); /* Gag! These lists won't size themselves correctly. */ XtVaSetValues (sym_list, XtNwidth, sym_list->core.width + 20, 0); ac = 0; XtSetArg (av[ac], XtNskipAdjust, True); ac++; button_box = XtCreateManagedWidget ("buttons", boxWidgetClass, box1, av, ac); prev = make_button (button_box, "undo", 0, 0, 0, undo_button_cb, box, 0); prev = make_button (button_box, "abort", 0, prev, 0, abort_button_cb, box,0); prev = make_button (button_box, "ok", 0, prev, 0, ok_button_cb, box, 0); box->keyboard = widget; box->shell = toplevel; box->keyset_list = set_list; box->keysym_list = sym_list; return box; } static void #ifdef __STDC__ pop_up_key_dbox (Widget parent, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ pop_up_key_dbox (parent, client_data, call_data) Widget parent; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget widget = (KeyboardWidget) client_data; struct edit_key_box *edit_key_box = widget->keyboard.key_menus->edit_key_box; if (widget->keyboard.key_under_mouse->key.keycode == 0) { y_or_n_p (widget, "magicKeyError", "ok", 0, 0); return; } { Widget topmost = parent; int x, y, w, h; XtRealizeWidget (edit_key_box->shell); w = edit_key_box->shell->core.width; h = edit_key_box->shell->core.height; while (topmost->core.parent) topmost = topmost->core.parent; if (topmost->core.width < w) x = topmost->core.x; else x = topmost->core.x + ((topmost->core.width - w) / 2); if (topmost->core.height < h) y = topmost->core.y; else y = topmost->core.y + ((topmost->core.height - h) / 2); XtMoveWidget (edit_key_box->shell, x, y); } XtPopup (edit_key_box->shell, XtGrabNonexclusive); undo_button_cb (edit_key_box->shell, edit_key_box, 0); } static struct keyboard_set { int kbd_index; const char *vendor; char *type; char **maps; /* short names of maps */ char **full_maps; /* long names (vendor+kbd+map) */ int map_count; } *keyboard_sets; int keyboard_set_count; int vendor_count; static char const **vendors; static char **keyboard_types; /* compared to keyboard_sets[i].type[j] */ static char *longest_type; /* longest of all keyboard_sets[i].type */ static char *longest_map; /* longest of all keyboard_sets[i].maps[j] */ struct select_kbd_box { KeyboardWidget keyboard; Widget shell; Widget label; Widget label2; Widget icon; Widget vendor_list, keyboard_list, keymap_list; struct keyboard_set *set; const char *map; }; static char *default_maps[] = { "default", 0 }; static void make_kbd_lists P((void)) { int kbd_count = 0; int i, j; i = 0; vendor_count = 0; while (all_kbds[i].vendor) { const char *v = all_kbds[i].vendor; vendor_count++; i++; while (all_kbds[i].vendor && !strcmp(v, all_kbds[i].vendor)) i++; } vendors = (const char **) malloc (sizeof(*vendors) * (vendor_count+1)); i = 0; j = 0; while (all_kbds[i].vendor) { const char *v = all_kbds[i].vendor; vendors[j++] = v; i++; while (all_kbds[i].vendor && !strcmp(v, all_kbds[i].vendor)) i++; } vendors[j] = 0; for (kbd_count = 0; all_kbds [kbd_count].short_name; kbd_count++) ; keyboard_sets = (struct keyboard_set *) malloc (sizeof (struct keyboard_set) * kbd_count); longest_type = 0; longest_map = 0; i = 0; j = 0; while (i < kbd_count) { char last_style [255]; char full [255]; char *tail; strcpy (last_style, all_kbds[i].kbd_style); make_long_kbd_name (all_kbds[i].vendor, last_style, full); tail = (char *) strchr (last_style, '('); if (tail) *tail = 0; tail = (char *) strchr (full, '('); keyboard_sets [j].kbd_index = i; keyboard_sets [j].map_count = 0; keyboard_sets [j].vendor = all_kbds[i].vendor; if (tail) { int L; int count = 0; int k; /* Edit out the parens (but not the trailing space) */ *tail = 0; tail++; tail [strlen (tail) - 1] = 0; L = strlen (full); count = 0; while (1) { char name[255]; make_long_kbd_name(all_kbds[i+count].vendor, all_kbds[i+count].kbd_style, name); if (strlen (name) < L || !!strncmp (full, name, L)) break; count++; } keyboard_sets [j].maps = (char **) malloc (sizeof (char *) * (count+1)); keyboard_sets [j].full_maps = (char **) malloc (sizeof (char *) * (count+1)); for (k = 0; k < count; k++) { char full[255]; const char *map; char *map_name = 0; int ML; make_long_kbd_name(all_kbds [i+k].vendor, all_kbds [i+k].kbd_style, full); map = strchr(full, '('); if (!map) abort(); map++; ML = strlen (map); map_name = (char *) malloc (ML); memcpy (map_name, map, ML); map_name [--ML] = 0; keyboard_sets [j].maps[k] = map_name; keyboard_sets [j].full_maps[k] = strdup(full); if (!longest_map || strlen (longest_map) < ML) longest_map = keyboard_sets [j].maps[k]; } keyboard_sets [j].maps[k] = 0; i += count; keyboard_sets [j].map_count = count; } else { keyboard_sets [j].maps = default_maps; keyboard_sets [j].full_maps = (char **) malloc (sizeof (char *) * 2); keyboard_sets [j].full_maps [0] = strdup(full); keyboard_sets [j].full_maps [1] = 0; keyboard_sets [j].map_count = 1; i++; } keyboard_sets [j].type = (char *) malloc (strlen (last_style) + 1); memcpy (keyboard_sets [j].type, last_style, strlen (last_style) + 1); if (!longest_type || strlen (longest_type) < strlen(keyboard_sets [j].type)) longest_type = keyboard_sets [j].type; j++; } keyboard_set_count = j; { int max = 0; keyboard_types = (char **) malloc (sizeof (char *) * (j + 1)); for (i = 0; i < j; i++) { keyboard_types [i] = keyboard_sets [i].type; if (keyboard_sets [i].map_count > max) max = keyboard_sets [i].map_count; } keyboard_types[i] = 0; } } static void #ifdef __STDC__ kbd_abort_button_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ kbd_abort_button_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { struct select_kbd_box *box = (struct select_kbd_box *) client_data; Widget shell = box->shell; XtPopdown (shell); } static void #ifdef __STDC__ kbd_ok_button_cb (Widget button, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ kbd_ok_button_cb (button, client_data, call_data) Widget button; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { struct select_kbd_box *box = (struct select_kbd_box *) client_data; KeyboardWidget kbd = box->keyboard; const char *map = box->map; kbd_abort_button_cb (button, client_data, call_data); replace_keyboard (kbd, map); } static void #ifdef __STDC__ keymap_list_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ keymap_list_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { XawListReturnStruct *lr = (XawListReturnStruct *) call_data; struct select_kbd_box *box = (struct select_kbd_box *) client_data; struct keyboard_set *set = box->set; box->map = set->full_maps [lr->list_index]; } static int current_vendor_offset = 0; static void #ifdef __STDC__ keyboard_list_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ keyboard_list_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { XawListReturnStruct *lr = (XawListReturnStruct *) call_data; struct select_kbd_box *box = (struct select_kbd_box *) client_data; int kbd = lr->list_index + current_vendor_offset; int map = 0; int i = 0; while (strcmp (keyboard_sets [i].type, keyboard_types [kbd])) i++; box->set = &keyboard_sets [i]; XawListChange (box->keymap_list, (char **) box->set->maps, 0, 0, True); for (i = 0; i < box->set->map_count; i++) { char buf[255]; make_long_kbd_name(box->keyboard->keyboard.vendor, box->keyboard->keyboard.kbd_style, buf); if (!strcmp (box->set->full_maps[i], buf)) { map = i; break; } } XawListHighlight (box->keymap_list, map); lr->list_index = map; keymap_list_cb (widget, client_data, call_data); move_scrollbar (box->keymap_list, (((float) map) / ((float) box->set->map_count))); { int w, h; Pixmap p = get_keyboard_icon (XtDisplay (widget), &all_kbds [box->set->kbd_index], &w, &h); XtVaSetValues (box->icon, XtNbitmap, p, XtNheight, h, 0); } } static void #ifdef __STDC__ vendor_list_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ vendor_list_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { XawListReturnStruct *lr = (XawListReturnStruct *) call_data; struct select_kbd_box *box = (struct select_kbd_box *) client_data; int vendor = lr->list_index; const char *v = vendors[vendor]; static char *list[255]; int kbd; int i, j; for (i = 0; i < keyboard_set_count; i++) if (!strcmp(v, keyboard_sets[i].vendor)) break; current_vendor_offset = i; j = 0; while (keyboard_sets[i].type && !strcmp(v, keyboard_sets[i].vendor)) list[j++] = keyboard_sets[i++].type; list [j] = 0; kbd = 0; if (box->set) { char *s1 = strdup (box->keyboard->keyboard.kbd_style); char *s2 = strchr (s1, '('); if (s2) *s2 = 0; for (i = 0; list[i]; i++) if (!strcmp (s1, list[i])) { kbd = i; break; } free (s1); } XawListChange (box->keyboard_list, list, 0, 0, True); XawListHighlight (box->keyboard_list, kbd); lr->list_index = kbd; keyboard_list_cb (widget, client_data, call_data); } static struct select_kbd_box * #ifdef __STDC__ make_select_kbd_dbox (KeyboardWidget widget) #else /* ! __STDC__ */ make_select_kbd_dbox (widget) KeyboardWidget widget; #endif /* ! __STDC__ */ { struct select_kbd_box *box = (struct select_kbd_box *) malloc (sizeof (struct select_kbd_box)); Arg av [20]; int ac = 0; Widget toplevel, box1, box2; Widget button_box, vendor_box, keyboard_box, keymap_box; Widget prev; Widget vendor_list, kbd_list, map_list; Widget vendor_vp, kbd_vp, map_vp; make_kbd_lists (); toplevel = XtCreatePopupShell ("selectKbd", transientShellWidgetClass, XtParent ((Widget) widget), av, ac); box1 = XtCreateManagedWidget ("vertical", panedWidgetClass, toplevel, av,ac); box->label = make_label (box1, "label", 0, 0, 0); box->label2 = make_label (box1, "label2", "", 0, 0); ac = 0; XtSetArg (av[ac], XtNorientation, "horizontal"); ac++; box2 = XtCreateManagedWidget ("horizontal", panedWidgetClass, box1, av, ac); ac = 0; vendor_box = XtCreateManagedWidget ("vendorBox", formWidgetClass, box2, av, ac); prev = make_label (vendor_box, "vendors", 0, 0, 0); ac = 0; XtSetArg (av[ac], XtNfromVert, prev); ac++; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainRight); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainBottom); ac++; vendor_vp = XtCreateManagedWidget ("vendorsVp", viewportWidgetClass, vendor_box, av, ac); ac = 0; XtSetArg (av[ac], XtNlist, vendors); ac++; vendor_list = XtCreateManagedWidget ("vendorsList", listWidgetClass, vendor_vp, av, ac); XtAddCallback (vendor_list, XtNcallback, vendor_list_cb, (XtPointer) box); /* Gag! These lists won't size themselves correctly. */ XtVaSetValues (vendor_list, XtNwidth, vendor_list->core.width + 20, 0); ac = 0; keyboard_box = XtCreateManagedWidget ("keyboardBox", formWidgetClass, box2, av, ac); prev = make_label (keyboard_box, "keyboards", 0, 0, 0); ac = 0; XtSetArg (av[ac], XtNfromVert, prev); ac++; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainRight); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainBottom); ac++; kbd_vp = XtCreateManagedWidget ("keyboardsVp", viewportWidgetClass, keyboard_box, av, ac); ac = 0; { static char *dummy[2]; dummy[0] = longest_type; dummy[1] = 0; ac = 0; XtSetArg (av[ac], XtNlist, dummy); ac++; kbd_list = XtCreateManagedWidget ("keyboardsList", listWidgetClass, kbd_vp, av, ac); XtAddCallback (kbd_list, XtNcallback, keyboard_list_cb, (XtPointer) box); /* Gag! These lists won't size themselves correctly. */ XtVaSetValues (kbd_list, XtNwidth, kbd_list->core.width + 20, 0); } ac = 0; keymap_box = XtCreateManagedWidget ("keymapBox", formWidgetClass, box2, av, ac); prev = make_label (keymap_box, "keymaps", 0, 0, 0); ac = 0; XtSetArg (av[ac], XtNfromVert, prev); ac++; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainRight); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainBottom); ac++; map_vp = XtCreateManagedWidget ("keymapsVp", viewportWidgetClass, keymap_box, av, ac); { static char *dummy[2]; dummy[0] = longest_map; dummy[1] = 0; ac = 0; XtSetArg (av[ac], XtNlist, dummy); ac++; map_list = XtCreateManagedWidget ("keymapsList", listWidgetClass, map_vp, av, ac); XtAddCallback (map_list, XtNcallback, keymap_list_cb, (XtPointer) box); /* Gag! These lists won't size themselves correctly. */ XtVaSetValues (map_list, XtNwidth, map_list->core.width + 20, 0); } ac = 0; XtSetArg (av[ac], XtNskipAdjust, True); ac++; button_box = XtCreateManagedWidget ("buttons", boxWidgetClass, box1, av, ac); prev = make_button (button_box, "abort", 0, prev, 0, kbd_abort_button_cb, box, 0); prev = make_button (button_box, "ok", 0, prev, 0, kbd_ok_button_cb, box, 0); prev = make_label (button_box, "spacer", "", 0, prev); box->icon = make_label (button_box, "kbd_icon", 0, prev, 0); box->keyboard = 0; box->shell = toplevel; box->vendor_list = vendor_list; box->keyboard_list = kbd_list; box->keymap_list = map_list; box->set = 0; box->map = 0; return box; } void #ifdef __STDC__ pop_up_kbd_dbox (Widget parent, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ pop_up_kbd_dbox (parent, client_data, call_data) Widget parent; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { KeyboardWidget widget = *((KeyboardWidget *) client_data); struct select_kbd_box *select_kbd_box = widget->keyboard.key_menus->select_kbd_box; select_kbd_box->keyboard = widget; XtVaSetValues (select_kbd_box->label2, XtNlabel, choose_kbd_message, 0); choose_kbd_dubious_p = 0; choose_kbd_message [0] = 0; { Widget topmost = parent; int x, y, w, h; XtRealizeWidget (select_kbd_box->shell); /* #### It'd be nice to wait here until it was mapped... */ w = select_kbd_box->shell->core.width; h = select_kbd_box->shell->core.height; while (topmost->core.parent) topmost = topmost->core.parent; if (topmost->core.width < w) x = topmost->core.x; else x = topmost->core.x + ((topmost->core.width - w) / 2); if (topmost->core.height < h) y = topmost->core.y; else y = topmost->core.y + ((topmost->core.height - h) / 2); XtMoveWidget (select_kbd_box->shell, x, y); } { XawListReturnStruct lr; int this_vendor = 0; int this_kbd = 0; int this_vendor_start = 0; int i, j; char buf[255]; const char *last_vendor = 0; make_long_kbd_name(widget->keyboard.vendor, widget->keyboard.kbd_style, buf); for (i = 0; i <= keyboard_set_count; i++) { if (last_vendor && !!strcmp(last_vendor, keyboard_sets[i].vendor)) { this_vendor_start = i; this_vendor++; this_kbd = 0; } last_vendor = keyboard_sets[i].vendor; for (j = 0; j < keyboard_sets[i].map_count; j++) if (!strcmp (keyboard_sets[i].full_maps[j], buf)) { this_kbd = i - this_vendor_start; goto out; } } out: lr.list_index = this_vendor; XawListHighlight (select_kbd_box->vendor_list, this_vendor); move_scrollbar (select_kbd_box->vendor_list, (((float) this_vendor) / ((float) vendor_count))); vendor_list_cb ((Widget) widget, (void *) select_kbd_box, (void *) &lr); lr.list_index = this_kbd; XawListHighlight (select_kbd_box->keyboard_list, this_kbd); /* move_scrollbar (select_kbd_box->keyboard_list, (((float) this_kbd) / ((float) keyboard_set_count))); */ keyboard_list_cb ((Widget) widget, (void *) select_kbd_box, (void *) &lr); } XtPopup (select_kbd_box->shell, XtGrabNonexclusive); } static void #ifdef __STDC__ yorn_button_cb (Widget widget, XtPointer client_data, XtPointer call_data) #else /* ! __STDC__ */ yorn_button_cb (widget, client_data, call_data) Widget widget; XtPointer client_data, call_data; #endif /* ! __STDC__ */ { *((int *) client_data) = 1; } static int #ifdef __STDC__ y_or_n_p_with_args (KeyboardWidget widget, char *name, char *name0, char *name1, char *name2, char *arg0, char *arg1, char *arg2, char *arg3, char *arg4, char *arg5) #else /* ! __STDC__ */ y_or_n_p_with_args (widget, name, name0, name1, name2, arg0, arg1, arg2, arg3, arg4, arg5) KeyboardWidget widget; char *name; char *name0, *name1, *name2; char *arg0, *arg1, *arg2, *arg3, *arg4, *arg5; #endif /* ! __STDC__ */ { XtAppContext app = XtWidgetToApplicationContext ((Widget) widget); Widget topmost = (Widget) widget; Widget label; XEvent event; int x, y, w, h; Arg av [10]; int ac = 0; Widget shell, box1, box2, prev; int ans [3]; shell = XtCreatePopupShell (name, transientShellWidgetClass, (Widget) widget, av, ac); box1 = XtCreateManagedWidget ("paned", panedWidgetClass, shell, av, ac); label = make_label (box1, "label", 0, 0, 0); if (arg0) /* format into the label if desired. */ { char *old_string; char new_string [4000]; ac = 0; XtSetArg (av [ac], XtNlabel, &old_string); ac++; XtGetValues (label, av, ac); if (!strcmp (old_string, XtName (label))) strcpy (new_string, "ERROR: RESOURCES ARE NOT INSTALLED CORRECTLY"); else sprintf (new_string, old_string, arg0, arg1, arg2, arg3, arg4, arg5); ac = 0; XtSetArg (av [ac], XtNlabel, new_string); ac++; XtSetValues (label, av, ac); } ac = 0; XtSetArg (av[ac], XtNorientation, "horizontal"); ac++; box2 = XtCreateManagedWidget ("buttons", boxWidgetClass, box1, av, ac); prev = 0; if (name0) prev = make_button (box2,name0,0,prev,0,yorn_button_cb,&ans[0],0); if (name1) prev = make_button (box2,name1,0,prev,0,yorn_button_cb,&ans[1],0); if (name2) prev = make_button (box2,name2,0,prev,0,yorn_button_cb,&ans[2],0); XtRealizeWidget (shell); w = shell->core.width; h = shell->core.height; while (topmost->core.parent) topmost = topmost->core.parent; if (topmost->core.width < w) x = topmost->core.x; else x = topmost->core.x + ((topmost->core.width - w) / 2); if (topmost->core.height < h) y = topmost->core.y; else y = topmost->core.y + ((topmost->core.height - h) / 2); XtMoveWidget (shell, x, y); XtPopup (shell, XtGrabNonexclusive); memset (ans, 0, sizeof (ans)); while (! (ans[0] || ans[1] || ans[2])) { XtAppNextEvent (app, &event); if (event.xany.type == KeymapNotify) keyboard_handle_keymap_notify ((Widget) widget, 0, &event, 0); else if (event.xany.type == MappingNotify) keyboard_handle_mapping_notify ((Widget) widget, 0, &event, 0); XtDispatchEvent (&event); } XtPopdown (shell); XtDestroyWidget (shell); if (ans[0]) return 0; if (ans[1]) return 1; if (ans[2]) return 2; exit (-69); } static int #ifdef __STDC__ y_or_n_p (KeyboardWidget widget, char *name, char *name0, char *name1, char *name2) #else /* ! __STDC__ */ y_or_n_p (widget, name, name0, name1, name2) KeyboardWidget widget; char *name, *name0, *name1, *name2; #endif /* ! __STDC__ */ { return y_or_n_p_with_args (widget, name, name0, name1, name2, 0,0,0,0,0,0); } KeyWidget #ifdef __STDC__ prompt_for_key (KeyboardWidget keyboard, char *msg) #else /* ! __STDC__ */ prompt_for_key (keyboard, msg) KeyboardWidget keyboard; char *msg; #endif /* ! __STDC__ */ { XtAppContext app = XtWidgetToApplicationContext ((Widget) keyboard); KeyWidget key; XEvent event; message (keyboard, msg); if (XGrabPointer (XtDisplay (keyboard), XtWindow (keyboard), True, ButtonPressMask | ButtonReleaseMask, GrabModeAsync, GrabModeAsync, 0, keyboard->keyboard.select_cursor, CurrentTime)) { XBell (XtDisplay (keyboard), 0); message (keyboard, "Grab failed."); return 0; } while (1) { XtAppNextEvent (app, &event); if (event.xany.type == ButtonPress) { XUngrabPointer (XtDisplay (keyboard), CurrentTime); if ((key = keyboard->keyboard.key_under_mouse)) return key; XBell (XtDisplay (keyboard), 0); message (keyboard, "You must click on a key."); return 0; } else if (event.xany.type == ButtonRelease || event.xany.type == KeyPress || event.xany.type == KeyRelease) { XUngrabPointer (XtDisplay (keyboard), CurrentTime); XBell (XtDisplay (keyboard), 0); XPutBackEvent (XtDisplay (keyboard), &event); message (keyboard, "Aborted."); return 0; } else { if (event.xany.type == KeymapNotify) keyboard_handle_keymap_notify ((Widget) keyboard, 0, &event, 0); else if (event.xany.type == MappingNotify) keyboard_handle_mapping_notify ((Widget) keyboard, 0, &event, 0); XtDispatchEvent (&event); } } } /* What a mess the X keyboard model is... */ #include static char * #ifdef __STDC__ index_to_name (int index) #else /* ! __STDC__ */ index_to_name (index) int index; #endif /* ! __STDC__ */ { return (index == ShiftMapIndex ? "Shift" : index == LockMapIndex ? "Lock" : index == ControlMapIndex ? "Control" : index == Mod1MapIndex ? "1" : index == Mod2MapIndex ? "2" : index == Mod3MapIndex ? "3" : index == Mod4MapIndex ? "4" : index == Mod5MapIndex ? "5" : "???"); } static char * #ifdef __STDC__ keysym_to_name (KeySym keysym) #else /* ! __STDC__ */ keysym_to_name (keysym) KeySym keysym; #endif /* ! __STDC__ */ { char *n = XKeysymToString (keysym); if (! n) /* ought not happen, but does if XKeysymDB isn't installed right */ { n = (char *) malloc (20); /* leaks! */ sprintf (n, "Unknown-KeySym-0x%X", (int) keysym); } return n; } static int #ifdef __STDC__ stop_the_insanity (KeyboardWidget widget, int keycode, KeySym *keysyms, int count, unsigned long modbits, XModifierKeymap *modmap) #else /* ! __STDC__ */ stop_the_insanity (widget, keycode, keysyms, count, modbits, modmap) KeyboardWidget widget; int keycode; KeySym *keysyms; int count; unsigned long modbits; XModifierKeymap *modmap; #endif /* ! __STDC__ */ { int i; KeySym type = 0; /* The canonical modifier keysym on this key */ KeySym basic_keysym = 0; /* The non-canonical version */ KeySym companion = 0; /* The "other" version of this key */ /* Check that the keysyms that are attached to this key are compatible: It is incorrect to put Control_[LR] and Meta_[LR] on the same key. */ { KeySym conflict = 0; KeySym nonmod = 0; for (i = 0; i < count && !conflict; i++) switch ((int) keysyms [i]) { #define check(k) \ case k: \ if (type && type != k) \ conflict = keysyms [i]; \ else \ type = k, \ basic_keysym = keysyms[i]; \ break case XK_Meta_R: check (XK_Meta_L); case XK_Super_R: check (XK_Super_L); case XK_Hyper_R: check (XK_Hyper_L); case XK_Alt_R: check (XK_Alt_L); case XK_Control_R: check (XK_Control_L); case XK_Shift_R: check (XK_Shift_L); check (XK_Shift_Lock); check (XK_Caps_Lock); check (XK_Mode_switch); #undef check default: nonmod = keysyms [i]; break; } switch ((int) basic_keysym) { case XK_Meta_L: companion = XK_Meta_R; break; case XK_Super_L: companion = XK_Super_R; break; case XK_Hyper_L: companion = XK_Hyper_R; break; case XK_Alt_L: companion = XK_Alt_R; break; case XK_Control_L: companion = XK_Control_R; break; case XK_Shift_L: companion = XK_Shift_R; break; case XK_Meta_R: companion = XK_Meta_L; break; case XK_Super_R: companion = XK_Super_L; break; case XK_Hyper_R: companion = XK_Hyper_L; break; case XK_Alt_R: companion = XK_Alt_L; break; case XK_Control_R: companion = XK_Control_L; break; case XK_Shift_R: companion = XK_Shift_L; break; } if (nonmod && type) /* all modifier syms and non-mod syms conflict. */ { conflict = type; type = nonmod; } if (conflict) return (y_or_n_p_with_args (widget, "keysymConflictWarning", "ok", "cancel", 0, keysym_to_name (type), keysym_to_name (conflict), 0, 0, 0, 0)); } /* Check that the modifier bits are compatible with the keysyms: It is incorrect to put ModControl on a key with any keysym other than Control_L or Control_R. */ { int losing = 0; int bad_index = 0; if (modbits & ControlMask && type != XK_Control_L) losing = 1, bad_index = ControlMapIndex; else if (modbits & ShiftMask && type != XK_Shift_L) losing = 1, bad_index = ShiftMapIndex; else if (modbits & LockMask && type != XK_Caps_Lock && type != XK_Shift_Lock) losing = 1, bad_index = LockMapIndex; if (losing) return (y_or_n_p_with_args (widget, "badModifiersWarning", "ok", "cancel", 0, index_to_name (bad_index), (bad_index == ShiftMapIndex ? "Shift_L" : bad_index == LockMapIndex ? "Caps_Lock" : bad_index == ControlMapIndex ? "Control_L" : "<>"), (bad_index == ShiftMapIndex ? "Shift_R" : bad_index == LockMapIndex ? "Shift_Lock" : bad_index == ControlMapIndex ? "Control_R" : "<>"), index_to_name (bad_index), 0, 0)); } /* Do the opposite check - the previous code checked for the case of attaching ModControl to Meta_L, but this checks for attaching Mod1 to Control_L. */ if ((type == XK_Shift_L || type == XK_Control_L || type == XK_Shift_Lock || type == XK_Caps_Lock) && (modbits & (~ (ShiftMask | LockMask | ControlMask)))) return (y_or_n_p_with_args (widget, "badModifiersWarning2", "ok", "cancel", 0, keysym_to_name (basic_keysym), (type == XK_Shift_L ? "Shift" : type == XK_Control_L ? "Control" : type == XK_Shift_Lock ? "Lock" : type == XK_Caps_Lock ? "Lock" : "<>"), (type == XK_Shift_L ? "Shift" : type == XK_Control_L ? "Control" : type == XK_Shift_Lock ? "Shift_Lock" : type == XK_Caps_Lock ? "Caps_Lock" : "<>"), 0, 0, 0)); /* Check that the key is generating at most one modifier bit. The behavior of more than one modifier bit is undefined. If this is a modifier keysym, warn if it has no modifier bits at all (which has defined behavior, and may be what is desired, but which novices are likely to do by accident.) */ { int bitcount = 0; int i; for (i = 0; i < 8; i++) if (modbits & (1< 1) return (y_or_n_p (widget, "multipleModifiersWarning", "ok", "cancel", 0)); else if (bitcount == 0 && type != 0) return (y_or_n_p_with_args (widget, "noModifiersWarning", "ok", "cancel", 0, keysym_to_name (type), 0, 0, 0, 0, 0)); } /* Check that some other (incompatible) key is not generating the same modifiers as this key. */ { Display *dpy = XtDisplay ((Widget) widget); unsigned long conflict_code = 0; KeySym conflict_sym = 0; int conflict_bit = 0; int this_bit = 0; int modifier_index, modifier_key; int mkpm = modmap->max_keypermod; for (modifier_index = 0; modifier_index < 8; modifier_index++) /* Ignore modifier bits which this key does not generate. */ if ((1 << modifier_index) & modbits) for (modifier_key = 0; modifier_key < mkpm; modifier_key++) { int column; KeySym last_sym = 0; for (column = 0; column < 4; column += 2) { KeyCode code2 = modmap->modifiermap [modifier_index * mkpm + modifier_key]; KeySym sym = (code2 ? XKeycodeToKeysym (dpy, code2, column) : 0); KeySym this = 0; if (!sym) continue; if (sym == last_sym) continue; last_sym = sym; switch ((int) sym) { case XK_Meta_R: this = XK_Meta_L; break; case XK_Super_R: this = XK_Super_R; break; case XK_Hyper_R: this = XK_Hyper_L; break; case XK_Alt_R: this = XK_Alt_L; break; case XK_Control_R: this = XK_Control_L; break; case XK_Shift_R: this = XK_Shift_L; break; default: this = sym; break; } if (this != type && /* conflicting keysyms */ /* but ignore conflicts with the previous version of this very key! */ code2 != keycode) { conflict_code = code2; conflict_sym = sym; conflict_bit = modifier_index; goto DONE; } } } DONE: if (conflict_code) { KeyWidget kw = keycode_to_key (widget, conflict_code); return (y_or_n_p_with_args (widget, "modifiersConflictWarning", "ok", "cancel", 0, keysym_to_name (basic_keysym), index_to_name (conflict_bit), (char *) conflict_code, (kw ? kw->key.key_name : "???"), keysym_to_name (conflict_sym), 0)); } /* Check that the semantically equivalent keys do not generate different modifier bits than this one. */ conflict_sym = 0; conflict_bit = 0; conflict_code = 0; for (modifier_index = 0; modifier_index < 8; modifier_index++) /* Ignore modifier bits which this key generates. */ if ((1 << modifier_index) & modbits) this_bit = modifier_index; else if (conflict_code) ; else for (modifier_key = 0; modifier_key < mkpm; modifier_key++) { int column; for (column = 0; column < 4; column += 2) { KeyCode code2 = modmap->modifiermap [modifier_index * mkpm + modifier_key]; KeySym sym = (code2 ? XKeycodeToKeysym (dpy, code2, column) : 0); if (sym && !conflict_code && (sym == basic_keysym || sym == companion) && code2 != keycode) { conflict_code = code2; conflict_sym = sym; conflict_bit = modifier_index; /* keep going to find this_bit */ break; } } } if (conflict_code) { KeyWidget kw = keycode_to_key (widget, conflict_code); return (y_or_n_p_with_args (widget, "modifiersConflictWarning2", "ok", "cancel", 0, keysym_to_name (basic_keysym), index_to_name (this_bit), (char *) conflict_code, (kw ? kw->key.key_name : "???"), keysym_to_name (conflict_sym), index_to_name (conflict_bit) )); } } /* Should we also issue a message along the lines of This key is not normally a `chording' key (that is, a key that is held down to modify some other keypress.) It is unlikely that attaching a modifier to it will do anything sensible. If you want this to be a {Control,Shift,Lock,Meta} key, change its keysym to ***_L or ***_R. That wouldn't be appropriate for the default layout of the OpenWound keyboard, which attaches modifiers to random function keys (I imagine this has something to do with drag-and-drop, but I don't know how it works.) Actually maybe a different message would be appropriate for Multi_key, since people sometimes misinterpret the description of that key as being a modifier key, when in fact it's a prefix key and shouldn't have any modifier bits on it. */ return 0; } xkeycaps-2.47/KeyWidget.h0000644000175000017500000000150710206731453013100 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #ifndef _KeyWidget_H_ #define _KeyWidget_H_ typedef struct _KeyRec *KeyWidget; typedef struct _KeyClassRec *KeyWidgetClass; extern WidgetClass keyWidgetClass; #ifdef __STDC__ extern void KeyHighlight (KeyWidget); extern void KeyDehighlight (KeyWidget); #endif #endif /* _KeyWidget_H_ */ xkeycaps-2.47/KbdWidget.c0000644000175000017500000005153210341351650013043 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996, 1997 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #include #include "KbdWidgetP.h" #include "KeyWidgetP.h" #include /* for XtNiconPixmap */ #include "xkeycaps.h" #include "kbddef.h" #undef MAX #undef MIN #define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b)) static void KbdResize P((Widget)); static void KbdRealize P((Widget, Mask *, XSetWindowAttributes *)); static void KbdInitialize P((Widget, Widget, ArgList, Cardinal*)); static void ChangeManaged P((Widget)); static XtGeometryResult GeometryManager P((Widget w, XtWidgetGeometry *request, XtWidgetGeometry *reply)); static XtGeometryResult PreferredSize P((Widget w, XtWidgetGeometry *request, XtWidgetGeometry *preferred)); static void make_key_widgets P((KeyboardWidget widget, const struct keyboard_instance *kbd)); static void set_icon_pixmap P((KeyboardWidget keyboard, const struct keyboard_instance *kbd)); static XtResource keyboard_resources [] = { { "keyboard", "Keyboard", XtRString, sizeof (String), XtOffset (KeyboardWidget, keyboard.kbd_name), XtRString, "" }, #ifdef HAVE_XTRAP { "useXTrap", "UseXTrap", XtRBoolean, sizeof (XtRBoolean), XtOffset (KeyboardWidget, keyboard.use_xtrap), XtRImmediate, False }, #endif { "selectCursor", "Cursor", XtRCursor, sizeof (Cursor), XtOffset (KeyboardWidget, keyboard.select_cursor), XtRString, "crosshair" } }; XtActionsRec keyboard_actions [] = { {"HighlightKey", highlight_key_action}, {"UnhighlightKey", unhighlight_key_action}, {"ToggleKey", toggle_key_action}, {"SimulateKeyPress", simulate_KeyPress_action}, {"SimulateKeyRelease",simulate_KeyRelease_action}, {"TrackKey", track_key_action}, {"UntrackKey", untrack_key_action}, {"DescribeKey", describe_key_action} }; char keyboard_default_translations[] = "\ : DescribeKey(mouse, unlessTracking) \n\ \ : HighlightKey() \ DescribeKey(unlessMod) \ DescribeKey(displayed) \ SimulateKeyPress() \n\ \ : UnhighlightKey() \ DescribeKey(displayed) \ SimulateKeyRelease() \n\ \ : HighlightKey(unlessMod) \ ToggleKey(ifMod) \ TrackKey(unlessMod) \ SimulateKeyPress(ifHighlighted) \ SimulateKeyRelease(unlessHighlighted) \n\ \ : UntrackKey(highlighted) \ SimulateKeyRelease(highlighted, unlessMod) \ UnhighlightKey(highlighted, unlessMod) \n\ \ Any: XawPositionSimpleMenu(keyMenu) \ MenuPopup(keyMenu) \n\ "; KeyboardClassRec keyboardClassRec = { { /* * core_class fields */ /* superclass */ (WidgetClass)&compositeClassRec, /* class_name */ "Keyboard", /* widget_size */ sizeof (KeyboardRec), /* class_initialize */ NULL, /* class_part_initialize */ NULL, /* class_inited */ FALSE, /* initialize */ KbdInitialize, /* initialize_hook */ NULL, /* realize */ KbdRealize, /* actions */ keyboard_actions, /* num_actions */ XtNumber (keyboard_actions), /* resources */ keyboard_resources, /* resource_count */ XtNumber (keyboard_resources), /* xrm_class */ NULLQUARK, /* compress_motion */ TRUE, /* compress_exposure */ TRUE, /* compress_enterleave */ TRUE, /* visible_interest */ FALSE, /* destroy */ NULL, /* resize */ KbdResize, /* expose */ NULL, /* set_values */ NULL, /* set_values_hook */ NULL, /* set_values_almost */ XtInheritSetValuesAlmost, /* get_values_hook */ NULL, /* accept_focus */ NULL, /* version */ XtVersion, /* callback_private */ NULL, /* tm_table */ keyboard_default_translations, /* query_geometry */ PreferredSize, /* display_accelerator */ NULL, /* extension */ NULL }, { /* * composite_class fields */ /* geometry_manager */ GeometryManager, /* change_managed */ ChangeManaged, /* insert_child */ XtInheritInsertChild, /* delete_child */ XtInheritDeleteChild, /* extension */ NULL } }; WidgetClass keyboardWidgetClass = (WidgetClass) &keyboardClassRec; static void #ifdef __STDC__ KbdInitialize (Widget r, Widget n, ArgList al, Cardinal *ac) #else /* ! __STDC__ */ KbdInitialize (r, n, al, ac) Widget r, n; ArgList al; Cardinal *ac; #endif /* ! __STDC__ */ { KeyboardWidget new = (KeyboardWidget) n; const struct keyboard_instance *kbd = choose_kbd (XtDisplay (new), new->keyboard.kbd_name); new->keyboard.short_name = kbd->short_name; new->keyboard.vendor = kbd->vendor; new->keyboard.kbd_style = kbd->kbd_style; new->keyboard.default_scale = kbd->keyboard_geometry->default_scale; new->keyboard.horiz_border = kbd->keyboard_geometry->horiz_border; new->keyboard.vert_border = kbd->keyboard_geometry->vert_border; /* Initialize the non-resource slots */ new->keyboard.key_under_mouse = 0; new->keyboard.mouse_highlighted_key = 0; new->keyboard.documented_key = 0; new->keyboard.tracking_key = 0; new->keyboard.target_window = 0; new->keyboard.nrows = 0; new->keyboard.rows = 0; memset (new->keyboard.key_state_vector, 0, sizeof (new->keyboard.key_state_vector)); make_key_widgets (new, kbd); init_modifier_mapping (new); set_icon_pixmap (new, kbd); } static void #ifdef __STDC__ do_layout (KeyboardWidget parent) #else /* ! __STDC__ */ do_layout (parent) KeyboardWidget parent; #endif /* ! __STDC__ */ { int i, j; int width = parent->core.width; int height = parent->core.height; int max_width = (parent->keyboard.max_width + (parent->keyboard.horiz_border * 2)); int max_height = (parent->keyboard.max_height + (parent->keyboard.vert_border * 2)); float x_scale = (float) width / (float) max_width; float y_scale = (float) height / (float) max_height; int x_off, y_off; if (x_scale < 1) x_scale = 1; if (y_scale < 1) y_scale = 1; /* Be square */ if (x_scale < y_scale) y_scale = x_scale; else if (y_scale < x_scale) x_scale = y_scale; x_off = ((((float) width) - (max_width * x_scale)) / 2 + parent->keyboard.horiz_border * x_scale); y_off = ((((float) height) - (max_height * y_scale)) / 2 + parent->keyboard.vert_border * y_scale); if (XtWindow (parent)) XUnmapSubwindows (XtDisplay (parent), XtWindow (parent)); /* sleazy */ for (i = 0; i < parent->keyboard.nrows; i++) { for (j = 0; j < parent->keyboard.rows[i].nkeys; j++) { int off; KeyWidget child = parent->keyboard.rows[i].keys[j]; if (! child) continue; off = child->core.border_width * 2 + child->key.gutter_width; XtMoveWidget ((Widget) child, (int) (x_off + child->key.x * x_scale), (int) (y_off + child->key.y * y_scale)); XtResizeWidget ((Widget) child, MAX (1, (int) (child->key.width * x_scale - off)), MAX (1, (int) (child->key.height * y_scale - off)), child->core.border_width); } } if (XtWindow (parent)) XMapSubwindows (XtDisplay (parent), XtWindow (parent)); /* yzaels */ parent->keyboard.x_scale = x_scale; parent->keyboard.y_scale = y_scale; } static void #ifdef __STDC__ KbdResize (Widget w) #else /* ! __STDC__ */ KbdResize (w) Widget w; #endif /* ! __STDC__ */ { do_layout ((KeyboardWidget) w); } static XtGeometryResult #ifdef __STDC__ PreferredSize (Widget w, XtWidgetGeometry *request, XtWidgetGeometry *preferred) #else /* ! __STDC__ */ PreferredSize (w, request, preferred) Widget w; XtWidgetGeometry *request, *preferred; #endif /* ! __STDC__ */ { return XtGeometryYes; } static XtGeometryResult #ifdef __STDC__ GeometryManager (Widget w, XtWidgetGeometry *request, XtWidgetGeometry *reply) #else /* ! __STDC__ */ GeometryManager (w, request, reply) Widget w; XtWidgetGeometry *request, *reply; #endif /* ! __STDC__ */ { return XtGeometryNo; } static void #ifdef __STDC__ ChangeManaged (Widget ww) #else /* ! __STDC__ */ ChangeManaged (ww) Widget ww; #endif /* ! __STDC__ */ { KeyboardWidget w = (KeyboardWidget) ww; if (w->core.width <= 0 || w->core.height <= 0) { int default_scale = w->keyboard.default_scale; int horiz = (w->keyboard.horiz_border * 2) + 1; int vert = (w->keyboard.vert_border * 2) + 1; w->core.width = (w->keyboard.max_width + horiz) * default_scale; w->core.height = (w->keyboard.max_height + vert) * default_scale; } do_layout (w); } static void #ifdef __STDC__ KbdRealize (Widget widget, Mask *value_mask, XSetWindowAttributes *attributes) #else /* ! __STDC__ */ KbdRealize (widget, value_mask, attributes) Widget widget; Mask *value_mask; XSetWindowAttributes *attributes; #endif /* ! __STDC__ */ { XtAppContext app = XtWidgetToApplicationContext (widget); XtAppAddActionHook (app, keyboard_track_motion_hook, (XtPointer) widget); if (widget->core.width == 0) widget->core.width = 10; if (widget->core.height == 0) widget->core.height = 10; XtCreateWindow (widget, (unsigned int) InputOutput, (Visual *) CopyFromParent, *value_mask, attributes); #ifdef HAVE_XTRAP xkeycaps_xtrap_open_connection ((KeyboardWidget) widget); #endif } static void #ifdef __STDC__ make_key_widgets (KeyboardWidget widget, const struct keyboard_instance *kbd) #else /* ! __STDC__ */ make_key_widgets (widget, kbd) KeyboardWidget widget; const struct keyboard_instance *kbd; #endif /* ! __STDC__ */ { Arg av [20]; int ac; int i, j; int x, y; int max_syms = 0; int default_scale = widget->keyboard.default_scale; int nrows = kbd->keyboard_geometry->nrows; const struct key_strings *strings = kbd->key_strings; int nstrings = kbd->key_strings_count; const KeyCode *keycodes = kbd->keycodes; int ncodes = kbd->keycodes_count; const struct default_keycode_map *keysyms = kbd->default_keycode_map; int nsyms = kbd->default_keycode_map_count; int index = 0; if (nstrings != ncodes) fprintf (stderr, "%s: DATA ERROR: %d keycaps vs %d keycodes\n\ There must be the same number of entries in %s-caps.h and\n\ %s-codes.h. There must be one for each actual key on the\n\ keyboard, left to right, top to bottom.\n", progname, nstrings, ncodes, widget->keyboard.short_name, widget->keyboard.short_name); /* Can't assert (nstrings == nsyms), because there might be more or less entries in the keymap than the number of keys, depending on the bogusness of the vendor's default map ("ghost" keycodes, keys that generate none or more than one keycode, etc.) */ /* Check that the keymap doesn't have duplicates. */ for (i = 0; i < nsyms; i++) for (j = i + 1; j < nsyms; j++) if (keysyms [j].keycode == keysyms [i].keycode) fprintf (stderr, "%s: DATA ERROR:\ duplicate entry for keycode %3d (0x%02X) in %s-map.h.\n", progname, keysyms [i].keycode, keysyms [i].keycode, widget->keyboard.short_name); widget->keyboard.x_scale = widget->keyboard.y_scale = default_scale; ac = 0; XtSetArg (av[ac], XtNwidth, 10); ac++; XtSetArg (av[ac], XtNheight, 10); ac++; widget->keyboard.nrows = nrows; widget->keyboard.rows = (struct KeyWidget_row *) calloc (nrows, sizeof (struct KeyWidget_row)); widget->keyboard.max_width = x = 0; widget->keyboard.max_height = y = 0; for (i = 0; i < nrows; i++) { int jo = 0; struct KeyWidget_row *row = &widget->keyboard.rows [i]; row->nkeys = kbd->keyboard_geometry->rows [i].nkeys; row->height = kbd->keyboard_geometry->rows [i].height; row->keys = (KeyWidget *) calloc (row->nkeys, sizeof (KeyWidget)); for (j = 0; j < row->nkeys; j++) { KeyWidget kw = 0; const struct key_geometry *key = &kbd->keyboard_geometry->rows[i].keys[j]; const struct key_strings *ss; KeyCode kk; int place_holder_p = (key->height == 0); if (! place_holder_p) { int ks_count; int a = 0; const char *wname; if (index >= nstrings || index >= ncodes) { fprintf (stderr, "%s: DATA ERROR:\ reached end of caps/codes tables with keys left over at %d (%d,%d)\n", progname, index - 1, j, i); goto bugout; } ss = &strings [index]; kk = keycodes [index]; index++; wname = (ss->keysym_1 ? ss->keysym_1 : ss->keysym_2 ? ss->keysym_2 : ss->keysym_3 ? ss->keysym_3 : "blank"); kw = (KeyWidget) XtCreateManagedWidget (wname, keyWidgetClass, (Widget) widget, av, ac); kw->key.x = x; kw->key.y = y; kw->key.width = key->width; kw->key.height = key->height; kw->key.keysym_1 = ss->keysym_1; kw->key.keysym_2 = ss->keysym_2; kw->key.keysym_3 = ss->keysym_3; kw->key.keycode = kk; /* Find the default keymap entry for this key */ if (kk != 0) for (a = 0; a < nsyms; a++) if (keysyms[a].keycode == kk) break; if (kk == 0 || a >= nsyms) { if (kk) fprintf (stderr, "%s: DATA ERROR: couldn't find keymap entry for keycode %d (0x%02X)\n\ on key `%s' at (%d,%d)\n", progname, kk, kk, wname, j, i); kw->key.default_mods = 0; memset (kw->key.default_keysyms, 0, sizeof (keysyms[a].keysyms)); } else { kw->key.default_mods = keysyms[a].default_mods; memcpy (kw->key.default_keysyms, keysyms[a].keysyms, sizeof (keysyms[a].keysyms)); if (kw->key.default_mods != 0 && kw->key.default_mods != ShiftMask && kw->key.default_mods != LockMask && kw->key.default_mods != ControlMask && kw->key.default_mods != Mod1Mask && kw->key.default_mods != Mod2Mask && kw->key.default_mods != Mod3Mask && kw->key.default_mods != Mod4Mask && kw->key.default_mods != Mod5Mask) { fprintf (stderr, "%s: DATA ERROR: bogus modifier bits (0x%02X) for keycode %d (0x%02X)\n", progname, (int) kw->key.default_mods, keysyms[a].keycode, keysyms[a].keycode); } } /* Count up the keysyms on this key */ for (ks_count = 7; ks_count && !kw->key.default_keysyms [ks_count]; ks_count--) ; if (ks_count > max_syms) max_syms = ks_count; row->keys [jo++] = kw; } x += key->width; } bugout: row->nkeys = jo; /* less than j if there were "place-holder" keys */ if (x > widget->keyboard.max_width) widget->keyboard.max_width = x; x = 0; y += row->height; if (y > widget->keyboard.max_height) widget->keyboard.max_height = y; } widget->keyboard.default_keysyms_per_code = max_syms + 1; } static struct icon { const struct keyboard_geometry *geom; Pixmap pixmap, /* pixmap2, */ mask; int width; int height; } *all_icons; static int nicons; static int max_icon_width; static struct icon * #ifdef __STDC__ find_icon (const struct keyboard_geometry *geom) #else /* ! __STDC__ */ find_icon (geom) const struct keyboard_geometry *geom; #endif /* ! __STDC__ */ { struct icon *i; for (i = all_icons; i->geom; i++) if (i->geom == geom) break; return (i->geom ? i : 0); } static GC draw_gc, erase_gc, mask_draw_gc, mask_erase_gc /*, invert_gc */; static unsigned long gc_mask; static XGCValues gc_values; static void #ifdef __STDC__ create_icon_pixmap (Display *dpy, const struct keyboard_geometry *geom) #else /* ! __STDC__ */ create_icon_pixmap (dpy, geom) Display *dpy; const struct keyboard_geometry *geom; #endif /* ! __STDC__ */ { int scale = 3; Pixmap pixmap, /* pixmap2, */ mask; int key_size = geom->rows[3].height; /* 4th row is a good bet */ int icon_width = 0, icon_height = 0; int i, j; int kx, ky; int nrows = geom->nrows; Screen *screen = DefaultScreenOfDisplay (dpy); Window window = RootWindowOfScreen (screen); if (find_icon (geom)) /* already got one */ return; for (i = 0; i < nrows; i++) { int ww = 0; if (i > 3 && geom->rows[i].nkeys == 0) break; /* this is the "second" image of the keyboard */ for (j = 0; j < geom->rows[i].nkeys; j++) ww += geom->rows[i].keys[j].width; icon_height += geom->rows[i].height; if (ww > icon_width) icon_width = ww; } nrows = i; icon_width = (icon_width * scale / key_size) + scale + scale; icon_height = (icon_height * scale / key_size) + scale + scale; pixmap = XCreatePixmap (dpy, window, icon_width, icon_height, 1); /* pixmap2 = XCreatePixmap (dpy, window, icon_width, icon_height, 1); */ mask = XCreatePixmap (dpy, window, icon_width, icon_height, 1); if (! draw_gc) { /* It seems that 1 means "foreground" and 0 means "background" in both WM icon bitmaps, and in in Athena SmeBSB buttons. This holds true on a mono NCD X terminal with NCDwm and whitepixel=1, and on a color Sparc with MIT R5, mwm, and whitepixel=0. It would be nice if the non-key part of the icon were black (fg) for the benefit of WMs which ignore the ICON_MASK, but in the menu it looks better as white. */ gc_mask = GCFunction | GCForeground; gc_values.function = GXcopy; gc_values.foreground = 1; /* not {White,Black}PixelOfScreen (screen) */ erase_gc = XCreateGC (dpy, pixmap, gc_mask, &gc_values); gc_values.foreground = 0; /* not {Black,White}PixelOfScreen (screen) */ draw_gc = XCreateGC (dpy, pixmap, gc_mask, &gc_values); gc_values.foreground = 1; mask_draw_gc = XCreateGC (dpy, mask, gc_mask, &gc_values); gc_values.foreground = 0; mask_erase_gc = XCreateGC (dpy, mask, gc_mask, &gc_values); /* gc_values.function = GXcopyInverted; invert_gc = XCreateGC (dpy, pixmap2, gc_mask, &gc_values); */ } XFillRectangle (dpy, pixmap, erase_gc, 0, 0, icon_width, icon_height); XFillRectangle (dpy, pixmap, draw_gc, 1, 1, icon_width-2, icon_height-2); XFillRectangle (dpy, mask, mask_erase_gc, 0, 0, icon_width, icon_height); ky = 0; for (i = 0; i < nrows; i++) { kx = 0; for (j = 0; j < geom->rows[i].nkeys; j++) { const struct key_geometry *key = &geom->rows[i].keys[j]; int x, y, x2, y2, w, h; x = (kx * scale / key_size) + scale; y = (ky * scale / key_size) + scale; x2 = ((kx + key->width) * scale / key_size) + scale; y2 = ((ky + key->height) * scale / key_size) + scale; w = x2-x-1; if (w<0) w=1; h = y2-y-1; if (h<0) h=1; if (key->height != 0) { XFillRectangle (dpy, pixmap, erase_gc, x-1, y-1, w+2, h+2); XFillRectangle (dpy, pixmap, draw_gc, x, y, w, h); XFillRectangle (dpy, mask, mask_draw_gc, x-1, y-1, w+2, h+2); } kx += key->width; } ky += geom->rows[i].height; } /* XCopyArea (dpy, pixmap, pixmap2, invert_gc, 0, 0, icon_width, icon_height, 0, 0);*/ if (icon_width > max_icon_width) max_icon_width = icon_width; all_icons [nicons].geom = geom; all_icons [nicons].pixmap = pixmap; /* all_icons [nicons].pixmap2 = pixmap2; */ all_icons [nicons].mask = mask; all_icons [nicons].width = icon_width; all_icons [nicons].height = icon_height; nicons++; } void #ifdef __STDC__ create_icon_pixmaps (Display *dpy) #else /* ! __STDC__ */ create_icon_pixmaps (dpy) Display *dpy; #endif /* ! __STDC__ */ { int kbd_count = 0; while (all_kbds [kbd_count++].short_name) ; all_icons = (struct icon *) calloc (kbd_count, sizeof (struct icon)); kbd_count--; max_icon_width = 0; draw_gc = 0; nicons = 0; } static void #ifdef __STDC__ set_icon_pixmap (KeyboardWidget keyboard, const struct keyboard_instance *kbd) #else /* ! __STDC__ */ set_icon_pixmap (keyboard, kbd) KeyboardWidget keyboard; const struct keyboard_instance *kbd; #endif /* ! __STDC__ */ { Arg av [5]; int ac; Widget shell = XtParent (keyboard); struct icon *icon = find_icon (kbd->keyboard_geometry); if (! icon) /* not in the cache */ { create_icon_pixmap (XtDisplay (keyboard), kbd->keyboard_geometry); icon = find_icon (kbd->keyboard_geometry); if (! icon) abort (); } while (XtParent (shell)) shell = XtParent (shell); ac = 0; XtSetArg (av [ac], XtNiconPixmap, icon->pixmap); ac++; XtSetArg (av [ac], XtNiconMask, icon->mask); ac++; XtSetValues (shell, av, ac); } Pixmap #ifdef __STDC__ get_keyboard_icon (Display *dpy, const struct keyboard_instance *kbd, int *wP, int *hP) #else /* ! __STDC__ */ get_keyboard_icon (dpy, kbd, wP, hP) Display *dpy; const struct keyboard_instance *kbd; int *wP, *hP; #endif /* ! __STDC__ */ { struct icon *i = find_icon (kbd->keyboard_geometry); if (!i) /* not in the cache */ { create_icon_pixmap (dpy, kbd->keyboard_geometry); i = find_icon (kbd->keyboard_geometry); if (!i) abort (); } *wP = i->width; /* if (max_icon_width > *wP) *wP = max_icon_width; */ *hP = i->height; return i->pixmap; } xkeycaps-2.47/Imakefile0000644000175000017500000005431410206731453012650 0ustar cbcb/**/# Imakefile for xkeycaps; /**/# Copyright (c) 1991, 1992, 1993, 1994, 1995, 1999 Jamie Zawinski. /* * To specify a different default keyboard (for when the vendor display * string isn't recognised) do something like this: * * KBD_DEFINES = -DDEFAULT_KBD_NAME="\"Sun3\"" * * to make there not be a default (meaning the keyboard must be specified * if the vendor display string isn't recognised) you can do * * KBD_DEFINES = -DDEFAULT_KBD_NAME=0 * * If you get a link error about _XInitKeysymDB being undefined, then add * -DNO_XInitKeysymDB to DEFINES. In this case, you might also want to * add -DKEYSYMDB=\"/some/file/XKeysymDB\" to DEFINES, to tell XKeyCaps * where the vendor-specific keysym database file resides. Otherwise, you * will have to set the $XKEYSYMDB environment variable before running this * program, or else it won't let you select from the set of vendor keysyms. * * Folks running R4 or older don't get to select from the set of vendor * keysyms anyway. (It's about time to upgrade, isn't it...?) */ XTRAP_SRCS = $(CURRENT_DIR)/xtrap.c SYSDEP_SRCS = $(CURRENT_DIR)/sunOS.c $(CURRENT_DIR)/hpux.c #ifdef HAVE_XTRAP XTRAP_DEFINES = -DHAVE_XTRAP XTRAP_INCLUDES = XTRAP_LIBS = -lXTrap XTRAP_OBJS = $(CURRENT_DIR)/xtrap.o #endif #ifdef SunArchitecture SYSDEP_OBJS = $(CURRENT_DIR)/sunOS.o #endif #if defined(HPArchitecture) && !defined(__linux) SYSDEP_OBJS = $(CURRENT_DIR)/hpux.o /* This nonsense seems to be necessary to get the passwd struct on all HP * systems. HP can't seem to make up their mind what preprocessor directive * they want to use to tell their header files that they are being compiled * on an HP. Don't ask me to explain why these aren't the default... * On some systems, -Ae defines all of these, but I don't believe that is * (has been?) the case on all systems. * * Also, apparently "HPkeysyms.h" comes with HP's R5, but not MIT's R6, so * we need to add the HP R5 directory to the end of the include path as * well. */ HP_LOSSAGE = -D_HPUX_SOURCE -DHPUX -Dhpux -D__hpux -Dunix $(HP_LOSSAGE_2)\ -I/usr/contrib/X11R6/include -I/usr/include/X11R5 # if !HasGcc2 HP_LOSSAGE_2 = -Aa -Ae # endif #endif #ifdef SGIArchitecture # ifndef HasGcc /* This will cause the keyboard template data to go into a read-only (.rodata) section of the file. Given the existence of copy-on-write, this is probably not a big deal, but it makes me feel good anyway. */ EXTRA_DEFINES = -use_readonly_const EXTRA_LDOPTIONS = -rdata_shared # endif #endif KBDIR = $(CURRENT_DIR)/kbds INCLUDES = -I$(KBDIR) $(XTRAP_INCLUDES) DEFINES = $(KBD_DEFINES) $(XTRAP_DEFINES) $(HP_LOSSAGE) SRCS = $(CURRENT_DIR)/xkeycaps.c $(CURRENT_DIR)/KbdWidget.c \ $(CURRENT_DIR)/KeyWidget.c $(CURRENT_DIR)/info.c \ $(CURRENT_DIR)/actions.c $(CURRENT_DIR)/commands.c \ $(CURRENT_DIR)/guess.c $(CURRENT_DIR)/all-kbds.c \ $(SYSDEP_SRCS) $(XTRAP_SRCS) OBJS = $(CURRENT_DIR)/xkeycaps.o $(CURRENT_DIR)/KbdWidget.o \ $(CURRENT_DIR)/KeyWidget.o $(CURRENT_DIR)/info.o \ $(CURRENT_DIR)/actions.o $(CURRENT_DIR)/commands.o \ $(CURRENT_DIR)/guess.o $(CURRENT_DIR)/all-kbds.o \ $(SYSDEP_OBJS) $(XTRAP_OBJS) LOCAL_LIBRARIES = $(XAWLIB) $(XTOOLLIB) $(XTRAP_LIBS) $(XMULIB) $(XLIB) ALL_KBDS_1 = $(KBDIR)/NeXT-caps.h $(KBDIR)/NeXT-codes.h \ $(KBDIR)/NeXT-geom.h $(KBDIR)/NeXT-map.h \ $(KBDIR)/amiga-codes.h $(KBDIR)/amiga-de-caps.h \ $(KBDIR)/amiga-de-map.h $(KBDIR)/amiga96-geom.h \ $(KBDIR)/apollo-caps.h $(KBDIR)/apollo-codes.h \ $(KBDIR)/apollo-geom.h $(KBDIR)/apollo-map.h \ $(KBDIR)/aviion300-codes.h $(KBDIR)/aviion300-map.h \ $(KBDIR)/butterfly-caps.h $(KBDIR)/butterfly-codes.h \ $(KBDIR)/butterfly-geom.h $(KBDIR)/butterfly-map.h \ $(KBDIR)/butterflyde-caps.h $(KBDIR)/butterflyde-map.h \ $(KBDIR)/cc107-caps.h $(KBDIR)/cc107-codes.h \ $(KBDIR)/cc107-geom.h $(KBDIR)/chergo-codes.h \ $(KBDIR)/chergo-de-caps.h $(KBDIR)/chergo-de-map.h \ $(KBDIR)/chergo-geom.h $(KBDIR)/cramer-caps.h \ $(KBDIR)/cramer-codes.h $(KBDIR)/cramer-geom.h \ $(KBDIR)/cramer-sgi-codes.h $(KBDIR)/dell-codes.h \ $(KBDIR)/dell-map.h $(KBDIR)/elite-caps.h \ $(KBDIR)/elite-codes.h $(KBDIR)/elite-geom.h \ $(KBDIR)/explorer-caps.h $(KBDIR)/explorer-codes.h \ $(KBDIR)/explorer-geom.h $(KBDIR)/explorer-map.h ALL_KBDS_2 = $(KBDIR)/ga5k-caps.h $(KBDIR)/ga5k-codes.h \ $(KBDIR)/ga5k-map.h $(KBDIR)/gvc-caps.h \ $(KBDIR)/gvc-codes.h $(KBDIR)/gvc-geom.h \ $(KBDIR)/gvc-map.h $(KBDIR)/gw2k-caps.h \ $(KBDIR)/gw2k-codes.h $(KBDIR)/gw2k-geom.h \ $(KBDIR)/gw2k-map.h $(KBDIR)/gw2kn-codes.h \ $(KBDIR)/gw2kn-geom.h $(KBDIR)/gw2kn-map.h \ $(KBDIR)/hclpc-caps.h $(KBDIR)/hclpc-codes.h \ $(KBDIR)/hclpc-geom.h $(KBDIR)/hclpc-map.h \ $(KBDIR)/hhkb-caps.h $(KBDIR)/hhkb-codes.h \ $(KBDIR)/hhkb-geom.h $(KBDIR)/hp4032x-codes.h \ $(KBDIR)/hp4032x-geom.h $(KBDIR)/hp4032x-map.h \ $(KBDIR)/hp700rx-codes.h $(KBDIR)/hp700rx-map.h \ $(KBDIR)/hpitf-caps.h $(KBDIR)/hpitf-codes.h \ $(KBDIR)/hpitf-geom.h $(KBDIR)/hpitf-map.h \ $(KBDIR)/hpitfde-caps.h $(KBDIR)/hpitfde-map.h \ $(KBDIR)/hpitffi-caps.h $(KBDIR)/hpitfsf-caps.h \ $(KBDIR)/hpitfsf-map.h $(KBDIR)/hppc-codes.h \ $(KBDIR)/hppc-map.h $(KBDIR)/hppcde-codes.h \ $(KBDIR)/hppcde-map.h $(KBDIR)/hppcsf-map.h ALL_KBDS_3 = $(KBDIR)/hppcsf700rx-map.h $(KBDIR)/hppcuk-caps.h \ $(KBDIR)/hppcuk-codes.h $(KBDIR)/hppcuk-map.h \ $(KBDIR)/hppcuk700rx-codes.h $(KBDIR)/hppcuk700rx-map.h \ $(KBDIR)/hpps2din_de-map.h $(KBDIR)/hpps2din_us-map.h \ $(KBDIR)/kinesis-caps.h $(KBDIR)/kinesis-codes.h \ $(KBDIR)/kinesis-geom.h $(KBDIR)/kinesis-sparc-codes.h \ $(KBDIR)/kinesis-sparc-map.h $(KBDIR)/ktx1000-caps.h \ $(KBDIR)/ktx1000-codes.h $(KBDIR)/ktx1000-geom.h \ $(KBDIR)/labtam-caps.h $(KBDIR)/labtam-codes.h \ $(KBDIR)/labtam-map.h $(KBDIR)/libretto100-caps.h \ $(KBDIR)/libretto100-codes.h $(KBDIR)/libretto100-geom.h \ $(KBDIR)/lk201-caps.h $(KBDIR)/lk201-codes.h \ $(KBDIR)/lk201-geom.h $(KBDIR)/lk201-map.h \ $(KBDIR)/lk401-caps.h $(KBDIR)/lk401-codes.h \ $(KBDIR)/lk401-map.h $(KBDIR)/lk401sf-caps.h \ $(KBDIR)/lk401sf-map.h $(KBDIR)/lk401sfdp-map.h \ $(KBDIR)/lk421-caps.h $(KBDIR)/lk421-codes.h \ $(KBDIR)/lk421-geom.h $(KBDIR)/lk450-caps.h \ $(KBDIR)/lk450-codes.h $(KBDIR)/lk450-map.h \ $(KBDIR)/mac-caps.h $(KBDIR)/mac-codes.h ALL_KBDS_4 = $(KBDIR)/mac-geom.h $(KBDIR)/mac-map.h \ $(KBDIR)/macext2-codes.h $(KBDIR)/macext2-geom.h \ $(KBDIR)/macstd-caps.h $(KBDIR)/macstd-codes.h \ $(KBDIR)/macstd-geom.h $(KBDIR)/macstd-map.h \ $(KBDIR)/mag3k-caps.h $(KBDIR)/mag3k-codes.h \ $(KBDIR)/mag3k-map.h $(KBDIR)/magat-caps.h \ $(KBDIR)/magat-codes.h $(KBDIR)/magat-geom.h \ $(KBDIR)/magat-map.h $(KBDIR)/mklinux-codes.h \ $(KBDIR)/mklinux-de-caps.h $(KBDIR)/mklinux-map.h \ $(KBDIR)/mklinux-us-caps.h $(KBDIR)/ms104-caps.h \ $(KBDIR)/ms104-codes.h $(KBDIR)/ms104-geom.h \ $(KBDIR)/ms104-hpux-codes.h $(KBDIR)/ms104-sgi5-codes.h \ $(KBDIR)/ms104-sparc-codes.h $(KBDIR)/ms104-sparc-map.h \ $(KBDIR)/ms105-caps.h $(KBDIR)/ms105-codes.h \ $(KBDIR)/ms105-geom.h $(KBDIR)/ms105-hpux-codes.h \ $(KBDIR)/ms105-linux-map.h $(KBDIR)/ms105be-caps.h \ $(KBDIR)/ms105de-caps.h $(KBDIR)/ms105es-caps.h \ $(KBDIR)/ms105it-caps.h $(KBDIR)/ms105se-caps.h \ $(KBDIR)/ms105se-codes.h $(KBDIR)/ms105sf-caps.h \ $(KBDIR)/ms105si-caps.h $(KBDIR)/ncd101-caps.h ALL_KBDS_5 = $(KBDIR)/ncd101-codes.h $(KBDIR)/ncd101-geom.h \ $(KBDIR)/ncd101-map.h $(KBDIR)/ncd102-caps.h \ $(KBDIR)/ncd102-codes.h $(KBDIR)/ncd102-map.h \ $(KBDIR)/ncd102f-caps.h $(KBDIR)/ncd102f-codes.h \ $(KBDIR)/ncd102f-map.h $(KBDIR)/ncd102n-caps.h \ $(KBDIR)/ncd102n-codes.h $(KBDIR)/ncd102n-map.h \ $(KBDIR)/ncd102sf-caps.h $(KBDIR)/ncd102sf-codes.h \ $(KBDIR)/ncd102sf-map.h $(KBDIR)/ncd107-caps.h \ $(KBDIR)/ncd107-codes.h $(KBDIR)/ncd107-map.h \ $(KBDIR)/ncd108-caps.h $(KBDIR)/ncd108-codes.h \ $(KBDIR)/ncd108-geom.h $(KBDIR)/ncd108-map.h \ $(KBDIR)/ncd108de-caps.h $(KBDIR)/ncd108de-map.h \ $(KBDIR)/ncd123-caps.h $(KBDIR)/ncd123-codes.h \ $(KBDIR)/ncd123-geom.h $(KBDIR)/ncd123-map.h \ $(KBDIR)/ncd123na-caps.h $(KBDIR)/ncd123na-codes.h \ $(KBDIR)/ncd123na-geom.h $(KBDIR)/ncd123na-map.h \ $(KBDIR)/ncd220-caps.h $(KBDIR)/ncd220-codes.h \ $(KBDIR)/ncd220-map.h $(KBDIR)/ncd97-caps.h \ $(KBDIR)/ncd97-codes.h $(KBDIR)/ncd97-geom.h \ $(KBDIR)/ncd97-map.h $(KBDIR)/ncdpc-caps.h ALL_KBDS_6 = $(KBDIR)/ncdpc-codes.h $(KBDIR)/ncdpc-map.h \ $(KBDIR)/nws1250-caps.h $(KBDIR)/nws1250-codes.h \ $(KBDIR)/nws1250-geom.h $(KBDIR)/nws1250-map.h \ $(KBDIR)/nws3410-caps.h $(KBDIR)/nws3410-codes.h \ $(KBDIR)/nws3410-geom.h $(KBDIR)/nws3410-map.h \ $(KBDIR)/omni102-caps.h $(KBDIR)/omni102-codes.h \ $(KBDIR)/omni102-geom.h $(KBDIR)/omniultra-caps.h \ $(KBDIR)/omniultra-codes.h $(KBDIR)/omniultra-geom.h \ $(KBDIR)/openwin101-codes.h $(KBDIR)/openwin104-codes.h \ $(KBDIR)/openwin104-map.h $(KBDIR)/ortek-caps.h \ $(KBDIR)/ortek-codes.h $(KBDIR)/ortek-geom.h \ $(KBDIR)/pc101-2-caps.h $(KBDIR)/pc101-2-codes.h \ $(KBDIR)/pc101-2-geom.h $(KBDIR)/pc101-2th-caps.h \ $(KBDIR)/pc101-3-caps.h $(KBDIR)/pc101-3-codes.h \ $(KBDIR)/pc101-3-geom.h $(KBDIR)/pc101-caps.h \ $(KBDIR)/pc101-codes.h $(KBDIR)/pc101-geom.h \ $(KBDIR)/pc102-2-codes.h $(KBDIR)/pc102-2-geom.h \ $(KBDIR)/pc102-2de-caps.h $(KBDIR)/pc102-3-codes.h \ $(KBDIR)/pc102-3-geom.h $(KBDIR)/pc102-3uk-caps.h \ $(KBDIR)/pc102-caps.h $(KBDIR)/pc102-codes.h ALL_KBDS_7 = $(KBDIR)/pc102-geom.h $(KBDIR)/pc102be-caps.h \ $(KBDIR)/pc102de-caps.h $(KBDIR)/pc102es-caps.h \ $(KBDIR)/pc102fr-caps.h $(KBDIR)/pc102it-caps.h \ $(KBDIR)/pc102no-caps.h $(KBDIR)/pc102pt-caps.h \ $(KBDIR)/pc102sf-caps.h $(KBDIR)/pc102sr-caps.h \ $(KBDIR)/pc102uk-caps.h $(KBDIR)/pc104-2-codes.h \ $(KBDIR)/pc104-caps.h $(KBDIR)/pc104-codes.h \ $(KBDIR)/pc104-geom.h $(KBDIR)/pc105-codes.h \ $(KBDIR)/pc105-geom.h $(KBDIR)/pc105ca-caps.h \ $(KBDIR)/pc105ca-map.h $(KBDIR)/pc105cf-caps.h \ $(KBDIR)/pc105cf-map.h $(KBDIR)/pc105da-caps.h \ $(KBDIR)/pc105fr-caps.h $(KBDIR)/pc105is-caps.h \ $(KBDIR)/pc105no-caps.h $(KBDIR)/pc105sw-caps.h \ $(KBDIR)/pc105tr-caps.h $(KBDIR)/pc105uk-caps.h \ $(KBDIR)/pc107-codes.h $(KBDIR)/pc107-geom.h \ $(KBDIR)/pc107br-caps.h $(KBDIR)/pc84-caps.h \ $(KBDIR)/pc84-codes.h $(KBDIR)/pc84-geom.h \ $(KBDIR)/pck301-caps.h $(KBDIR)/pck301-codes.h \ $(KBDIR)/pck301-geom.h $(KBDIR)/pcxal-codes.h \ $(KBDIR)/pcxal-map.h $(KBDIR)/pcxal-r6-codes.h ALL_KBDS_8 = $(KBDIR)/pcxal-r6-map.h $(KBDIR)/phasex-pxch2-codes.h \ $(KBDIR)/phasex-pxch2-map.h $(KBDIR)/phasex110-codes.h \ $(KBDIR)/phasex110-map.h $(KBDIR)/phasex110b-codes.h \ $(KBDIR)/presario-caps.h $(KBDIR)/presario-codes.h \ $(KBDIR)/presario-geom.h $(KBDIR)/rs2030-caps.h \ $(KBDIR)/rs2030-codes.h $(KBDIR)/rs2030-map.h \ $(KBDIR)/rs6k-aix-map.h $(KBDIR)/rs6k-caps.h \ $(KBDIR)/rs6k-codes.h $(KBDIR)/rs6k-xc-map.h \ $(KBDIR)/rs6kde-aix-map.h $(KBDIR)/rs6kde-caps.h \ $(KBDIR)/rs6kde-codes.h $(KBDIR)/rt-caps.h \ $(KBDIR)/rt-codes.h $(KBDIR)/rt-map.h \ $(KBDIR)/rtsw-caps.h $(KBDIR)/rtsw-codes.h \ $(KBDIR)/rtsw-map.h $(KBDIR)/rtsw8-map.h \ $(KBDIR)/sco110-codes.h $(KBDIR)/sco110-map.h \ $(KBDIR)/sgi-caps.h $(KBDIR)/sgi4-codes.h \ $(KBDIR)/sgi4-r4-map.h $(KBDIR)/sgi4-r5-map.h \ $(KBDIR)/sgi5-codes.h $(KBDIR)/sgi5-r5-map.h \ $(KBDIR)/sgi5de-codes.h $(KBDIR)/sgi5de-r5-map.h \ $(KBDIR)/sgi6de-r6-map.h $(KBDIR)/sgi6no-r6-map.h \ $(KBDIR)/sgide-caps.h $(KBDIR)/shine106-codes.h ALL_KBDS_9 = $(KBDIR)/shine106-geom.h $(KBDIR)/shine106pt-caps.h \ $(KBDIR)/sn-codes.h $(KBDIR)/sn-map.h \ $(KBDIR)/sun101a-codes.h $(KBDIR)/sun101a-xc-map.h \ $(KBDIR)/sun2-caps.h $(KBDIR)/sun2-codes.h \ $(KBDIR)/sun2-geom.h $(KBDIR)/sun2-xc-map.h \ $(KBDIR)/sun3-caps.h $(KBDIR)/sun3-codes.h \ $(KBDIR)/sun3-geom.h $(KBDIR)/sun3-xc-map.h \ $(KBDIR)/sun4-caps.h $(KBDIR)/sun4-codes.h \ $(KBDIR)/sun4-geom.h $(KBDIR)/sun4-linux-map.h \ $(KBDIR)/sun4-ow-map.h $(KBDIR)/sun4-r6-map.h \ $(KBDIR)/sun4-xc-map.h $(KBDIR)/sun4de-caps.h \ $(KBDIR)/sun4de-codes.h $(KBDIR)/sun4de-geom.h \ $(KBDIR)/sun4de-map.h $(KBDIR)/sun4es-caps.h \ $(KBDIR)/sun4es-map.h $(KBDIR)/sun4sw-caps.h \ $(KBDIR)/sun4sw-codes.h $(KBDIR)/sun4sw-geom.h \ $(KBDIR)/sun4sw-map.h $(KBDIR)/sun5-caps.h \ $(KBDIR)/sun5-codes.h $(KBDIR)/sun5-geom.h \ $(KBDIR)/sun5-ow-map.h $(KBDIR)/sun5-r6-map.h \ $(KBDIR)/sun5-xc-map.h $(KBDIR)/sun5de-caps.h \ $(KBDIR)/sun5de-codes.h $(KBDIR)/sun5de-geom.h ALL_KBDS_10 = $(KBDIR)/sun5de-ow-map.h $(KBDIR)/sun5es-caps.h \ $(KBDIR)/sun5es-codes.h $(KBDIR)/sun5es-geom.h \ $(KBDIR)/sun5es-ow-map.h $(KBDIR)/sun5fr-caps.h \ $(KBDIR)/sun5fr-xc6-map.h $(KBDIR)/sun5ifc101-codes.h \ $(KBDIR)/sun5jp-caps.h $(KBDIR)/sun5jp-codes.h \ $(KBDIR)/sun5jp-geom.h $(KBDIR)/sun5jp-xc-map.h \ $(KBDIR)/sun5pc-caps.h $(KBDIR)/sun5pc-codes.h \ $(KBDIR)/sun5pc-ow-map.h $(KBDIR)/sun5pc-owde-map.h \ $(KBDIR)/sun5pc-xc-map.h $(KBDIR)/sun5pc-xc2-map.h \ $(KBDIR)/sun5pc-xc6-map.h $(KBDIR)/sun5sw-caps.h \ $(KBDIR)/sun5sw-codes.h $(KBDIR)/sun5sw-geom.h \ $(KBDIR)/sun5sw-ow-map.h $(KBDIR)/sun5sw-xc-map.h \ $(KBDIR)/sun5swde-caps.h $(KBDIR)/sun5swde-map.h \ $(KBDIR)/sun5swfr-caps.h $(KBDIR)/sun5swfr-codes.h \ $(KBDIR)/sun5swfr-geom.h $(KBDIR)/sun5swfr-ow-map.h \ $(KBDIR)/sun5uk-caps.h $(KBDIR)/sun5uk-codes.h \ $(KBDIR)/sun5uk-geom.h $(KBDIR)/sun5uk-ow-map.h \ $(KBDIR)/sunsh-6868-codes.h $(KBDIR)/sunsh-6868-geom.h \ $(KBDIR)/sunsh-6868us-caps.h $(KBDIR)/tecra500-caps.h \ $(KBDIR)/tecra500-codes.h $(KBDIR)/tecra500-geom.h ALL_KBDS_11 = $(KBDIR)/tecra500-map.h $(KBDIR)/tek101-4-map.h \ $(KBDIR)/tek101-c-codes.h $(KBDIR)/tek101-c-map.h \ $(KBDIR)/tek101-caps.h $(KBDIR)/tek101-codes.h \ $(KBDIR)/tek101-geom.h $(KBDIR)/tek101-map.h \ $(KBDIR)/tek102-codes.h $(KBDIR)/tek102-de-caps.h \ $(KBDIR)/tek102-de-map.h $(KBDIR)/tek102-geom.h \ $(KBDIR)/tek119-codes.h $(KBDIR)/tek119-map.h \ $(KBDIR)/tek200-caps.h $(KBDIR)/tek200-codes.h \ $(KBDIR)/tek200-geom.h $(KBDIR)/tek200u-da-map.h \ $(KBDIR)/tek200u-de-map.h $(KBDIR)/tek200u-fi-map.h \ $(KBDIR)/tek200u-fr-map.h $(KBDIR)/tek200u-it-map.h \ $(KBDIR)/tek200u-ka-map.h $(KBDIR)/tek200u-no-map.h \ $(KBDIR)/tek200u-sp-map.h $(KBDIR)/tek200u-sw-map.h \ $(KBDIR)/tek200u-swde-map.h $(KBDIR)/tek200u-uk-map.h \ $(KBDIR)/tek200u-us-map.h $(KBDIR)/tek200v-us-map.h \ $(KBDIR)/tek200xesc-us-map.h $(KBDIR)/tek200xf11-us-map.h \ $(KBDIR)/tek401-codes.h $(KBDIR)/tek401-map.h \ $(KBDIR)/tek401sf-map.h $(KBDIR)/tek401sfdp-map.h \ $(KBDIR)/teksun4-codes.h $(KBDIR)/teksun4-map.h \ $(KBDIR)/tekxn10-geom.h $(KBDIR)/tekxn10-sf-caps.h ALL_KBDS_12 = $(KBDIR)/tekxn10-sf-codes.h $(KBDIR)/tekxn10-sf-map.h \ $(KBDIR)/tm4000m-caps.h $(KBDIR)/tm4000m-codes.h \ $(KBDIR)/tm4000m-geom.h $(KBDIR)/tm4000m-map.h \ $(KBDIR)/tp560-codes.h $(KBDIR)/tp560-geom.h \ $(KBDIR)/tp560es-caps.h $(KBDIR)/tp770-caps.h \ $(KBDIR)/tp770-codes.h $(KBDIR)/tp770-geom.h \ $(KBDIR)/trek-caps.h $(KBDIR)/trek-codes.h \ $(KBDIR)/trek-geom.h $(KBDIR)/tt-caps.h \ $(KBDIR)/tt-codes.h $(KBDIR)/tt-geom.h \ $(KBDIR)/tt-map.h $(KBDIR)/uw102-codes.h \ $(KBDIR)/uw102no-map.h $(KBDIR)/xfree86be-map.h \ $(KBDIR)/xfree86br-map.h $(KBDIR)/xfree86da-map.h \ $(KBDIR)/xfree86de-map.h $(KBDIR)/xfree86es-map.h \ $(KBDIR)/xfree86fr-map.h $(KBDIR)/xfree86is-map.h \ $(KBDIR)/xfree86it-map.h $(KBDIR)/xfree86no-map.h \ $(KBDIR)/xfree86pt-map.h $(KBDIR)/xfree86sf-map.h \ $(KBDIR)/xfree86si-map.h $(KBDIR)/xfree86sr-map.h \ $(KBDIR)/xfree86sw-map.h $(KBDIR)/xfree86th-map.h \ $(KBDIR)/xfree86tr-map.h $(KBDIR)/xfree86uk-map.h \ $(KBDIR)/xfree86us-map.h $(KBDIR)/xinside-de-map.h ALL_KBDS_13 = $(KBDIR)/xinside-map.h $(KBDIR)/xline101-codes.h \ $(KBDIR)/xline101-map.h $(KBDIR)/xmint-caps.h \ $(KBDIR)/xmint-codes.h $(KBDIR)/xmint-geom.h \ $(KBDIR)/xmint-map.h $(KBDIR)/xoft1-map.h \ $(KBDIR)/xoft2-codes.h $(KBDIR)/xoft2-map.h ALL_KBDS = $(ALL_KBDS_1) $(ALL_KBDS_2) $(ALL_KBDS_3) $(ALL_KBDS_4) \ $(ALL_KBDS_5) $(ALL_KBDS_6) $(ALL_KBDS_7) $(ALL_KBDS_8) \ $(ALL_KBDS_9) $(ALL_KBDS_10) $(ALL_KBDS_11) $(ALL_KBDS_12) \ $(ALL_KBDS_13) ALL_HDRS = $(CURRENT_DIR)/version.h $(CURRENT_DIR)/xkeycaps.h \ $(CURRENT_DIR)/XKeyCaps_ad.h $(CURRENT_DIR)/vroot.h \ $(CURRENT_DIR)/KeyWidget.h $(CURRENT_DIR)/KeyWidgetP.h \ $(CURRENT_DIR)/KbdWidget.h $(CURRENT_DIR)/KbdWidgetP.h \ $(CURRENT_DIR)/kbddef.h $(KBDIR)/all-kbds.h \ $(CURRENT_DIR)/keysym-compat.h \ $(ALL_KBDS) TARFILES = $(CURRENT_DIR)/README $(CURRENT_DIR)/xkeycaps.man \ $(CURRENT_DIR)/xkeycaps.lsm $(CURRENT_DIR)/xkeycaps.lsm.sh \ $(CURRENT_DIR)/Imakefile $(SRCS) \ $(CURRENT_DIR)/build-map.sh $(CURRENT_DIR)/XKeyCaps.ad \ $(CURRENT_DIR)/defining.txt $(CURRENT_DIR)/hierarchy.txt \ $(CURRENT_DIR)/sgi-microsoft.txt \ $(ALL_HDRS) TAR = tar COMPRESS = compress COMPRESS_EXT = Z /**/# COMPRESS = gzip --verbose --best /**/# COMPRESS_EXT = gz ComplexProgramTarget(xkeycaps) all-kbds.o: kbddef.h $(KBDIR)/all-kbds.h $(ALL_KBDS) KbdWidget.o: xkeycaps.h KeyWidget.h KeyWidgetP.h KbdWidget.h KbdWidgetP.h \ kbddef.h KeyWidget.o: xkeycaps.h KeyWidget.h KeyWidgetP.h KbdWidget.h KbdWidgetP.h actions.o: xkeycaps.h KeyWidget.h KeyWidgetP.h KbdWidget.h commands.o: xkeycaps.h KeyWidget.h KeyWidgetP.h KbdWidget.h KbdWidgetP.h \ kbddef.h info.o: xkeycaps.h KeyWidget.h KeyWidgetP.h KbdWidgetP.h xkeycaps.o: xkeycaps.h KeyWidget.h KbdWidget.h KbdWidgetP.h XKeyCaps_ad.h \ version.h guess.o: xkeycaps.h KeyWidget.h KbdWidget.h KbdWidgetP.h kbddef.h XKeyCaps_ad.h: XKeyCaps.ad sh ad2c XKeyCaps.ad > XKeyCaps_ad.h /* This really makes me sick... */ tar: $(TARFILES) @NAME=`sed -n \ 's/[^0-9]*\([0-9]\.[0-9][0-9]*\).*/xkeycaps-\1/p' version.h` ; \ ./build-deps.sh ; \ sh ./xkeycaps.lsm.sh > xkeycaps.lsm.$$$$ ; \ mv xkeycaps.lsm.$$$$ xkeycaps.lsm ; \ $(MAKE) $(MFLAGS) tar_hack NAME=$$NAME CURRENT_DIR=$$NAME tar_hack:: @rm -f $(NAME) ; ln -s . $(NAME) ; \ set -e ; \ echo creating tar file ${NAME}.tar.$(COMPRESS_EXT)... ; \ $(TAR) -vchf - $(TARFILES) \ | $(COMPRESS) > $(NAME).tar.$(COMPRESS_EXT) ; \ rm $(NAME) ; \ echo "" ; ls -lg $(NAME).tar.$(COMPRESS_EXT) ; echo "" index: @./xkeycaps -help 2>&1 | grep '[-] ' | sed -e 's/.*- / /' index2: @$(MAKE) index | sed -e 's/$$/
/' xkeycaps-2.47/sunOS.c0000644000175000017500000001222310206731453012243 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1996, 1997 * by Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ /* SunOS-specific stuff: if we're on console, we can query the keyboard hardware directly to find out what kind it is. I would have just put this code in guess.c, but vuid_event.h defines a `struct keyboard' that conflicts with our own... */ #if defined(__sun) || defined(sun) /* whole file */ #ifdef __STDC__ #include #include extern char *strdup (const char *); #endif #include #include #include #include #include #include #include #include #ifdef SVR4 # include # include # include # include #else # include # include # include #endif char * xkeycaps_guess_local_keyboard_type () { int type = -1, layout = 0; int kbdfd; /* Opening of /dev/kbd on Solaris/Intel fail because it doesn't exist. However, we can guess the keyboard if the machine sysinfo returns i86pc. -- Dave Carrigan */ #ifdef SVR4 { char mach[16]; if (sysinfo(SI_MACHINE, mach, 16) < 0) { perror("sysinfo"); return 0; } if (!strncmp(mach, "i86pc", 5)) return "OW101"; if (!strncmp(mach, "prep", 4)) return "prep"; } #endif if ((kbdfd = open ("/dev/kbd", O_WRONLY)) <= 0) return 0; /* See /usr/man/man4/kb.4m on SunOS 4.1.3 */ if (ioctl (kbdfd, KIOCTYPE, &type)) { close (kbdfd); return 0; } ioctl (kbdfd, KIOCLAYOUT, &layout); close (kbdfd); switch (type) { case -1: return 0; case KB_ASCII: return "SunASCII"; /* Ascii terminal */ case KB_KLUNK: return "MS103SD32-2"; /* Micro Switch 103SD32-2 */ case KB_VT100: return "SunVT100"; /* Keytronics VT100 compatible */ case KB_VT220: return "SunVT220"; /* vt220 Emulation */ case KB_VT220I: return "SunVT220i"; /* International vt220 Emulation */ case KB_SUN2: return "Sun2"; case KB_SUN3: return "Sun3"; case KB_SUN4: switch (layout) { case 0: return "Sun4"; /* Part 320-1005-02 REV A. */ case 1: return "Sun4"; /* Part 320-1005-01 REV B. Seems identical... */ case 2: return "Sun4FR"; /* French/Belgian */ case 3: return "Sun4CA"; /* Canadian */ case 4: return "Sun4DK"; /* Danish */ case 5: return "Sun4DE"; /* German */ case 6: return "Sun4IT"; /* Italian */ case 7: return "Sun4DU"; /* Dutch */ case 8: return "Sun4NO"; /* Norwegian */ case 9: return "Sun4PO"; /* Portuguese */ case 10: return "Sun4ES"; /* Spanish */ case 11: return "Sun4SW"; /* Swedish/Finnish */ case 12: return "Sun4SWFR"; /* Swiss/French */ case 13: return "Sun4SWDE"; /* Swiss/German */ case 14: return "Sun4UK"; /* UK */ /* 15 unknown */ case 16: return "Sun4KO"; /* Korean */ case 17: return "Sun4TA"; /* Taiwanese */ /* 18 unknown */ case 19: return "Sun101A"; /* US */ /* The Sun101A was apparently an early version of the Sun5 kbd: it didn't last very long. */ /* 20-31 unknown */ case 32: return "Sun4JA"; /* Japanese */ /* It appears that there is no such keyboard as (for example) Sun5PCDE, or any non-US version of the sun5PC keyboard. I guess non-US versions only exist for the Sun5 keyboard. This is odd, but it looks like the stuff in /usr/share/lib/keytables/ doesn't provide for that possibility either. */ case 33: return "Sun5PC"; /* US */ case 34: return "Sun5"; /* US */ case 35: return "Sun5FR"; /* French */ case 36: return "Sun5DA"; /* Danish */ case 37: return "Sun5DE"; /* German */ case 38: return "Sun5IT"; /* Italian */ case 39: return "Sun5DU"; /* Dutch */ case 40: return "Sun5NO"; /* Norwegian */ case 41: return "Sun5PO"; /* Portuguese */ case 42: return "Sun5ES"; /* Spanish */ case 43: return "Sun5SW"; /* Swedish */ case 44: return "Sun5SWFR"; /* Swiss/French */ case 45: return "Sun5SWDE"; /* Swiss/German */ case 46: return "Sun5UK"; /* UK */ case 47: return "Sun5KO"; /* Korean */ case 48: return "Sun5TA"; /* Taiwanese */ case 49: return "Sun5JA"; /* Japanese */ default: { char buf [255]; sprintf (buf, "Sun4_%d", layout); return strdup (buf); } } default: { char buf [255]; if (layout) sprintf (buf, "Sun_%d_%d", type, layout); else sprintf (buf, "Sun_%d", type); return strdup (buf); } } } #ifdef DEBUG void main () { printf ("%s\n", xkeycaps_guess_local_keyboard_type ()); exit (0); } #endif /* DEBUG */ #endif /* __sun */ xkeycaps-2.47/KbdWidget.h0000644000175000017500000000137210206731453013050 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #ifndef _KbdWidget_H_ #define _KbdWidget_H_ typedef struct _KeyboardRec *KeyboardWidget; typedef struct _KeyboardClassRec *KeyboardWidgetClass; extern WidgetClass keyboardWidgetClass; #endif /* _KbdWidget_H_ */ xkeycaps-2.47/defining.txt0000644000175000017500000002541610356071465013372 0ustar cbcb HOW TO DEFINE NEW KEYBOARD TEMPLATES ==================================== First, make sure you have absolutely the latest version! Someone may have defined the keyboard you're interested in already, or, more importantly, the data format may have changed (this has happened once, and converting from the old format to the new format was non-trivial.) You can get the latest version of xkeycaps from http://ftp.debian.org/debian/pool/main/x/xkeycaps/. XKeyCaps needs to know four pieces of information about each keyboard: - The physical layout of the keyboard, meaning the size and position of each key and the blank spaces between them; - The text that is physically printed on the surface of each key; - The KeyCodes by which the X server knows each key; - The contents of the default KeyCode->KeySym map which is in effect just after X starts up and before any user customizations. Since any subset of these four data may be shared among different keyboards, they are specified independently, each in its own file. If the keyboard you use has keys shaped exactly like another keyboard that xkeycaps already knows about, then you can use the existing data; for example, pc101-geom.h is used by a number of keyboards (RS6K, SGI, etc.) If you're defining a template for a non-US version of a keyboard which xkeycaps already knows about, you will probably only need to change two things: the default keymap, and the text that is physically printed on the key surfaces. The geometry and keycodes are generally the same (and often the keycaps are very similar.) Geometry: ========= If your keyboard is not shaped exactly like one that is already present, you will need to create a new -geom.h file for it. Start with the one that is closest to the shape of your keyboard, and modify it. The "rows" of a keyboard are defined in the -geom.h file as a set of { width, height } pairs of each key on the keyboard in some arbitrary units. If the height is specified as 0, then this means that this area is a blank space between keys instead of a key itself. If your keyboard uses the same (or very similar) geometry as another keyboard, there is a good chance you can reuse an existing -caps.h file as well. This file defines the strings which are physically printed on the key surfaces. There may be up to three strings on each key: upper left, lower left, and upper right. If there is no string, then 0 should be used. This file must have exactly one entry for each actual key on the keyboard (and should not have entries for the "blank" spaces.) The keys should appear in the same order as in the -geom.h file, that is, left-to-right, top-to-bottom. KeyCodes: ========= The -codes.h files define the keycodes which the X server sees for this keyboard hardware. The entries should be in the same order as in the other two files, and there must be exactly the same number of entries in the -codes.h and the -caps.h files (which is the total number of keys on the keyboard.) If a key on the keyboard is not recognised by the X server at all (that is, it is intercepted locally without clients getting a KeyPress event at all) then its keycode should be specified as 0. The easiest way to find the keycodes for the various keys is to run the `xev' program and type each key in turn. But be careful of window managers which intercept certain keys for their own purposes. KeyMaps: ======== The -map.h files contain the default keymaps which the X servers use for the various keyboards. It's very easy to generate these files: the enclosed shell script called `build-map.sh' will parse the output of the `xmodmap' program, and write a -map.h file to standard output. This generated file will encode the current state of the keymap. It is VERY IMPORTANT that you run the build-map script before you have ever changed your keyboard mapping with xmodmap: you don't want to capture your personal modifications within the XKeyCaps configuration! If you make any changes to your keyboard, find the place where your init files do this, and comment it out. Then restart the X server (this may mean logging out and then back in again.) Then build the -map.h file. Installation: ============= After creating the various files, add them to the appropriate place in the file kbds/all-kbds.h -- use one of the other blocks in that file as an example, it should be pretty obvious what to do. The first argument to the KBD() macro is the short name which will be accepted by the -kbd command-line option to select this keyboard. The second argument is the name of the manufacturer of the computer on which this keyboard is most commonly found: for example, "Sun" or "NCD" (in the case of hardware vendors who make their own keyboards) or "PC" (in the case of operating systems running on generic PC hardware.) The third string is the name or description of the keyboard hardware itself. This should contain the name of the keymap being encoded in parentheses, if that makes sense. The fourth argument, if present, is the name of the X server ID string, if any, which would suggest that this keyboard might be in use. (You can find this string by running the `xdpyinfo' program.) After that comes the pointers to the various data defined in the geom, caps, codes, and map files. It's a good idea to specify an X server ID string if possible, because otherwise it will no doubt pick the wrong keyboard by default, and naive users could get hurt. If you are defining a keyboard for a type of machine which has multiple keyboards, you might want to add an OS-specific file for querying the keyboard hardware directly, as `sunOS.c' and `hpux.c' do. (This only helps when $DISPLAY points to screen zero of the local machine, of course.) Debugging: ========== If you have mis-specified some data, then when you select your new keyboard, xkeycaps will print "DATA ERROR" messages to stderr describing what it thinks is wrong with your input files. An easy mistake to make is leaving entries out of either the -caps or -codes files; these will be flagged with messages like "101 keycaps vs 100 keycodes", meaning that a keycode is missing somewhere. It should be easy to figure out which one is missing by simply pressing the keys in turn, and seeing when the wrong one lights up in the xkeycaps display. A message containing "reached end of caps/codes tables with keys left over" means that the -kbd file defined more real keys than there are entries in the -caps and -codes files. This could mean that there are entries missing from both the -caps and -codes files, or it could mean that there is a key where there should be a blank space in the -geom file. A message containing "couldn't find keymap entry" means that some key on the keyboard generates a keycode which is not mentioned in the -map file. This is not necessarily an error on your part: some vendors' default maps do not assign all existant keycodes. In that case, you should suppress this warning by adding a dummy entry to the -map file; see kbds/sun5-ow-map.h for an example. The easiest way to determine whether you have the correct default configuration is to execute the "Write Output" command, selecting the "Changed Keys" button. If none of the lines written begin with "keycode", then you've gotten the keysyms right. PLEASE DO THIS! I have no way of testing keyboard configurations of keyboards I don't have, so it's up to you. Make sure you haven't run xmodmap or executed the "Restore Default Map" command since you started your X server, or your results will be invalid. Type each key on the keyboard in turn, and verify that the corresponding key in the xkeycaps display lights up. When you're done, it would be good if you would execute the "Restore Default Map" command, and try living with the resulting configuration for the rest of the day, just to make sure that you didn't inadvertantly cripple some key. Clean-Up Checklist: ================== = If you added a new -geom.h file, did you really, really need to? Given how often people send me -geom files that are identical copies of ones that are already in the distribution, chances are you didn't. If your new keyboard has the same physical shape as another known keyboard, then let the two of them share the geometry file. This saves memory and makes the distribution smaller. = If you added a new -map.h file, did you really, really need to? Again, people seem to do this all the time when they don't really need to. Even if you added both -geom.h and -codes.h files, you will probably be able to reuse an existing -map.h file, since most X servers have exactly one default map, and don't change it depending on what keyboard hardware is attached. Please check to see if your new map is the same as an already- existing map, because otherwise, I have to do it myself. = If you added a new -caps.h file, did you really, really need to? Likewise, people do this all the time when they don't really need to. Even if you added a -geom.h file, you might still be able to reuse an existing -caps.h file, because many keyboards with slightly different physical shapes have the same numbers of keys and the same strings printed on them. Again, please check, because otherwise, I have to do it myself. = If you added a new -caps.h file, and your strings include non-ASCII (8-bit) characters, please write them in octal (that is, "\374" rather than "ü"), since not all C compilers can cope with high-bit string constants (also, the characters are less likely to get mangled if the file is emailed.) = Did you update the comments at the top of the files you added/modified? People rarely remember to do this either, and since chances are you started out by copying another file and editing the copy, the file for your new BAR102 keyboard will have a comment at the top that says it's a FOO101 keyboard instead, which is not a good thing (and -- that's right -- it's another thing I need to clean up if you don't... help me out, here!) Be as specific as possible in the comments: name the vendor of your keyboard, and a model number if you can find it. Name the X and OS versions you used when generating the codes and maps (for example, "XFree86 2.0 on Linux 1.2.13" or "OpenWindows 3.0 on SunOS 5.1".) As the vendors tend to change the maps from release to release, these details are important. And that's about it! Once you've added a new keyboard definition, please send your changes to me, and I will include them in the next release. Send the new files you added, plus the `diff -u' changes you made to `kbds/all-kbds.h' to cb@df7cb.de. -- Christoph Berg Sun, 18 Dec 2005 01:17:38 +0100 xkeycaps-2.47/all-kbds.c0000644000175000017500000000376210206731453012675 0ustar cbcb/* xkeycaps, Copyright (c) 1993, 1997 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ /* This is only in its own .c file to help incremental linking performance. */ /* Make sure all possible keysyms get defined. */ #undef XK_MISCELLANY #define XK_MISCELLANY #undef XK_XKB_KEYS #define XK_XKB_KEYS #undef XK_3270 #define XK_3270 #undef XK_LATIN1 #define XK_LATIN1 #undef XK_LATIN2 #define XK_LATIN2 #undef XK_LATIN3 #define XK_LATIN3 #undef XK_LATIN4 #define XK_LATIN4 #undef XK_ARABIC #define XK_ARABIC #undef XK_KATAKANA #define XK_KATAKANA #undef XK_CYRILLIC #define XK_CYRILLIC #undef XK_GREEK #define XK_GREEK #undef XK_TECHNICAL #define XK_TECHNICAL #undef XK_SPECIAL #define XK_SPECIAL #undef XK_PUBLISHING #define XK_PUBLISHING #undef XK_APL #define XK_APL #undef XK_HEBREW #define XK_HEBREW #undef XK_THAI #define XK_THAI #undef XK_KOREAN #define XK_KOREAN #include #ifdef __hpux # include #endif #if defined(AIX) && !defined(ps2) # include #endif #include "keysym-compat.h" #include "kbddef.h" #undef countof #define countof(x) (sizeof((x)) / sizeof(*(x))) #define DEFKBD(short, vendor, style, server_id, geom, caps, codes, map) \ { (short), (vendor), (style), (server_id), \ (geom), (caps), (codes), (map), \ countof((caps)), countof((codes)), countof((map)) \ } #include "all-kbds.h" /* first include it for the #includes... */ #define KBD DEFKBD const struct keyboard_instance all_kbds [] = { #include "all-kbds.h" /* then include it for the KBD calls. */ { 0 } }; xkeycaps-2.47/sgi-microsoft.txt0000644000175000017500000001426210206731453014363 0ustar cbcbFrom - - From: Craig Johnston Subject: FYI: How I enabled the extra keys on my MS Natural keyboard Date: Fri, 06 Dec 1996 00:00:00 GMT Message-ID: <32A88D01.41C6@boeing.com> Organization: Boeing Defense & Space Newsgroups: comp.sys.sgi.misc,comp.sys.sgi.admin I know some of you are using a Microsoft Natural keyboard with your Indy or Indigo2 as I am. I wanted to make use of the extra "windoze" keys along the bottom row, but couldn't find any reference as to how to do it. So here's how I did it. The xev utility told me that the scan codes for the 3 keys are 147,148, and 149 (left to right). I then copied and patched the US keymap file (US.xkm) to have a key symbol for those codes (US_msnatural.xkm). Use your favorite binary editor to make the change. % od -x /var/X11/input/US.xkm > USxkm.dmp % od -x /var/X11/input/US_msnatural.xkm > USxkmnat.dmp % diff USxkm.dmp USxkmnat.dmp 66a67,70 > 0002040 0000 0000 0000 0000 0000 0000 0000 fed0 > 0002060 0000 0000 0000 fed4 0000 0000 0000 fed2 > 0002100 0000 0000 0000 0000 0000 0000 0000 0000 > * This adds the keysym value of 0xfed0, 0xfed4, and 0xfed2 for the keycodes 147, 148, and 149 respectively. From /usr/include/X11/keysymdef.h, these values correspond to XK_First_Virtual_Screen, XK_Last_Virtual_Screen, and XK_Next_Virtual_Screen. I chose these more or less arbitrarily. Now you have to install the new keymap as the default. As root (the only way to make the change stick) start the 'keyboards' GUI program. Select your new keymap file (US_msnatural) and select 'Set System Default' and 'Apply'. Don't panic when you see the errors from xmodmap complaining about the keycode being out of range. You now have to restart the xserver (reboot is best) to get it to install the keymap. The tail end of 'xmodmap -pk' should now look like; ... 138 139 140 0xffad (KP_Subtract) 141 142 143 144 145 146 147 0xfed0 (First_Virtual_Screen) 148 0xfed4 (Last_Virtual_Screen) 149 0xfed2 (Next_Virtual_Screen) 150 ... Now you just have to figure out what you want to do with the keys. I added the following to my .4Dwmrc file, # SGI added key bindings .... First_Virtual_Screen root|icon|window f.switch_desk "Desk 1" ShiftFirst_Virtual_Screen root|icon|window f.switch_desk "Desk 2" Last_Virtual_Screen root|icon|window f.switch_desk "Desk 2" ShiftLast_Virtual_Screen root|icon|window f.switch_desk "Desk 1" Next_Virtual_Screen root|icon|window f.lower ShiftNext_Virtual_Screen root|icon|window f.raise .... Now I can switch desks at the push of a button. I know I can get the same effect by binding some other Alt or Ctrl combination, but this is a little nicer. As of 6.2 SGI has also included the XKEYBOARD extension stuff that could have made this a lot easier, but the X server (Xsgi) doesn't appear to use it. It builds a X0-defaults.xkm file in the /usr/lib/X11/xkb/compiled directory, but does not use it. Also the format of this and other *.xkm files built by xkbcomp are quite a bit different from the *.xkm files in /var/X11/input. Anyone know what is up here? Hope this is of use to someone. Comments and fixes welcome. From - - From: Jamie Zawinski Subject: SGI and MS keyboard To: Craig.E.Johnston@boeing.com Date: Fri, 16 May 1997 16:39:01 -0700 Message-ID: <337CF015.55D5818@netscape.com> Hey. I saw your message <32A88D01.41C6@boeing.com> about how to enable the extra keys on the MS keyboard, and I did it and it works great -- mostly. Thanks for figuring that out... I'm running 6.2, and now when I hit RET in a Console or "winterm" window, I get a beep and the characters "00q" inserted. ^C works, but no other characters will insert themselves. But "xterm" works fine. Any ideas? (It's so goofy that the SGI server will report keycodes for those keys, but won't let you map them unless you've mucked with the other maps; that's just lame...) From - - From: Jamie Zawinski Subject: Re: SGI and MS keyboard To: Craig Johnston Date: Sun, 18 May 1997 14:01:30 -0700 Message-ID: <337F6E2A.E6CA7B68@netscape.com> References: <337CF015.55D5818@netscape.com> <9705180835.ZM18578@tortilla.ds.boeing.com> Craig Johnston wrote: > > I would guess that you are re-binding the RET (KP_ENTER) key somewhere > (.Xdefaults, .Sgiresources,/usr/lib/X11/app-defaults/XWsh). I'm not sure > what you mean when you say "no other characters will insert themselves". > How about the enter key on the keypad? By "no other characters" I meant that *all* keys are behaving this way: here's what I see when I type ^V a ^V b ^V c -- ^[[087q^[[105q^[[103q I just typed every key on the keyboard; they all send function-key sequences, except for kp_8 sends ^H kp_4 sends ^D kp_5 sends ^E kp_6 sends ^F kp_1 sends ^A kp_2 sends ^B kp_3 sends ^C home, pageup, pagedown, and end work The few keys that I've rebound with xmodmap seem to be working... hmm... Oh, I've figured it out! This is totally weird. If I reset all the xmodmap state to the default (I used the xkeycaps "restore default map" command) everything starts working again. The problem was caused by some changes I had made to my xmodmap settings. If the keyboard is in the default state, feeding this file to xmodmap will make the console lose its mind: remove Mod2 = Num_Lock keycode 0x21 = Meta_L keycode 0x41 = Meta_R This remarkably similar file will *not* make it lose its mind: remove Mod2 = Num_Lock keycode 0x21 = Alt_L keycode 0x41 = Alt_R Nor will this: keycode 0x21 = Alt_L keycode 0x41 = Alt_R or this: keycode 0x21 = Meta_L keycode 0x41 = Meta_R or this: remove Mod2 = Num_Lock (The default states of 0x21/0x41 are "Alt_L Meta_L" and "Alt_R Meta_R".) So, unless xwsh sees a Mod2 modifier, *or* and has Alt keys available (meta won't do) it starts thinking that everything is a function key. That is wacky. But at least now I can make it work... xkeycaps-2.47/XKeyCaps.ad0000644000175000017500000004120510206731453013027 0ustar cbcb! ! XKeyCaps ! ! a keymap editor for the X window system ! by Jamie Zawinski ! ! See "man xkeycaps" for more info. The latest version is always ! available at http://www.jwz.org/xkeycaps/ ! The default colors are specified rather completely here to avoid ! losing badly when the user specifies conflicting values for ! "*Foreground" and "*Background" in their personal resources. ! The downside of this is that it's more work for the user to change ! the colors of XKeyCaps. If you want white-on-black, instead of ! the black-on-light-shades-of-gray default configuration, do ! something like ! XKeyCaps*Background: black ! XKeyCaps*Foreground: white ! XKeyCaps*BorderColor: black ! ! "xkeycaps -fg white -bg black -bd white" will do the same thing. ! XKeyCaps*Foreground: #000000 XKeyCaps*borderColor: #000000 XKeyCaps*background: #E0E0E0 XKeyCaps*Command.background: #EDEDED XKeyCaps*MenuButton.background: #EDEDED XKeyCaps*Toggle.background: #EDEDED XKeyCaps*Key.background: #EDEDED XKeyCaps*Key.highlight: #FFFF00 XKeyCaps*editKey*label.foreground: #EDEDED XKeyCaps*editKey*label.background: #000000 XKeyCaps*editKey*Toggle.background: #E0E0E0 XKeyCaps*editKey*Viewport*background: #EDEDED XKeyCaps*editKey*autoRepeatValue.background: #E0E0E0 XKeyCaps*selectKbd*label.foreground: #EDEDED XKeyCaps*selectKbd*label.background: #000000 XKeyCaps*selectKbd*kbd_icon.foreground: #000000 XKeyCaps*selectKbd*kbd_icon.background: #FCFCFC XKeyCaps*selectKbd*Viewport*background: #EDEDED *Paned*showGrip: false *Paned.borderWidth: 0 *Paned.internalBorderWidth: 0 *buttons.borderWidth: 0 *info.borderWidth: 0 *Keyboard.borderWidth: 0 *Key.borderWidth: 1 ! Why is this one necessary? *horizontal.internalBorderWidth: 0 *info.defaultDistance: 0 *info.labels.defaultDistance: 1 *info.labels.borderWidth: 0 *info.line.vSpace: 0 *info.line.borderWidth: 0 *Label*internalWidth: 3 *Label*internalHeight: 0 *Label.borderWidth: 0 *editKey*Viewport.borderWidth: 1 *editKey*Viewport.forceBars: true *editKey*Viewport.allowVert: true *editKey*List.defaultColumns: 1 *editKey*List.forceColumns: true *editKey*Toggle*internalWidth: 3 *editKey*Toggle*internalHeight: 3 *editKey*Toggle*vertDistance: 0 *editKey*Toggle.borderWidth: 0 *editKey*keysymLine.borderWidth: 0 *editKey*label.internalHeight: 5 *editKey*keysymBox*defaultDistance: 0 *editKey*keysymLine.vSpace: 0 *editKey*keysymBox*Label.internalHeight: 0 *editKey*keysymBox*symsOfCode.internalWidth: 15 *editKey*keysymBox*symsOfCode.internalHeight: 5 *editKey*Toggle*internalHeight: 1 *editKey*spacer.height: 5 *editKey*autoRepeatValue.internalHeight: 0 *editKey*autoRepeatValue.shapeStyle: rectangle *editKey*autoRepeatValue.borderWidth: 0 *editKey*modifierBox*internalHeight: 1 *editKey*List.internalWidth: 5 *editKey*List.columnSpacing: 10 *editKey*List.rowSpacing: 0 *selectKbd*Viewport.borderWidth: 1 *selectKbd*Viewport.forceBars: true *selectKbd*Viewport.allowVert: true *selectKbd*Viewport.height: 150 *selectKbd*List.defaultColumns: 1 *selectKbd*List.forceColumns: true *selectKbd*label.internalHeight: 5 *selectKbd*List.internalWidth: 2 *selectKbd*List.columnSpacing: 5 *selectKbd*List.rowSpacing: 0 *selectKbd*vendorBox*Label.internalWidth: 20 *selectKbd*vendorBox*Label.internalHeight: 3 *selectKbd*keyboardBox*Label.internalWidth: 20 *selectKbd*keyboardBox*Label.internalHeight: 3 *selectKbd*keymapBox*Label.internalWidth: 20 *selectKbd*keymapBox*Label.internalHeight: 3 *selectKbd*label2.allowResize: true *selectKbd*label2.internalWidth: 30 *selectKbd*kbd_icon.justify: center *selectKbd*spacer.width: 120 *selectKbd*kbd_icon.internalWidth: 0 *selectKbd*kbd_icon.internalHeight: 0 *selectKbd*kbd_icon.height: 30 *selectKbd*kbd_icon.allowResize: true *buttons.defaultDistance: 1 *Command.shapeStyle: oval *buttons.MenuButton.shapeStyle: oval *Command.internalWidth: 5 *buttons.MenuButton.internalWidth: 5 *buttons.MenuButton.internalHeight: 1 *Command.internalHeight: 1 *Command.borderWidth: 1 *buttons.MenuButton.borderWidth: 1 *keyboardMenu*leftMargin: 15 *keyboardMenu*rightMargin: 15 *labels.Label.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-* *Label.font: *-courier-medium-r-*-*-*-120-*-*-*-*-*-* ! use iso8859-1 so that we can display the (c) symbol at startup... *info*message.font: *-helvetica-medium-r-*-*-*-100-*-*-iso8859-1 *info*message2.font: *-helvetica-medium-r-*-*-*-100-*-*-iso8859-1 *Command.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-* *keyMenu*font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-* *keyMenu.menuLabel.font: *-helvetica-bold-o-*-*-*-120-*-*-*-*-*-* *modifiers*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *modifiers*Toggle.font: *-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* *modifiers*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *buttons.MenuButton.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-* *buttons.Command.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-* *keyboardMenu*font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-* *editKey*buttons*font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *editKey*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *editKey*Label.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-* *editKey*Toggle.font: *-helvetica-medium-r-*-*-*-100-*-*-*-*-*-* *editKey*List*font: *-helvetica-medium-r-*-*-*-120-*-*-*-*-*-* *editKey*autoRepeatValue.font: *-helvetica-medium-r-*-*-*-100-*-*-*-*-*-* *selectKbd*buttons*font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *selectKbd*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *selectKbd*Label.font: *-helvetica-bold-r-*-*-*-100-*-*-*-*-*-* *selectKbd*Toggle.font: *-helvetica-medium-r-*-*-*-100-*-*-*-*-*-* *selectKbd*List*font: *-helvetica-medium-r-*-*-*-120-*-*-*-*-*-* *selectKbd*label2.font: *-helvetica-medium-r-*-*-*-120-*-*-*-*-*-* *editKey.title: Edit Key *selectKbd.title: Select Keyboard *writeQuery.title: Question *restoreQuery.title: Question *overwriteQuery.title: Question *wroteFileMessage.title: Message *buttons.quit.label: Quit *buttons.focus.label: Type At Window *buttons.keyboard.label: Select Keyboard *buttons.restore.label: Restore Default Map *buttons.write.label: Write Output *keyMenu.editKeysyms.label: Edit KeySyms of Key *keyMenu.swapKey.label: Exchange Keys *keyMenu.cloneKey.label: Duplicate Key *keyMenu.disableKey.label: Disable Key *keyMenu.restoreKey.label: Restore Key to Default *editKey*keysym1.label: KeySym 1: *editKey*keysym2.label: KeySym 2: *editKey*keysym3.label: KeySym 3: *editKey*keysym4.label: KeySym 4: *editKey*keysym5.label: KeySym 5: *editKey*keysym6.label: KeySym 6: *editKey*keysym7.label: KeySym 7: *editKey*keysym8.label: KeySym 8: *editKey*autoRepeat.label: AutoRepeat: *editKey*symsOfCode.label: KeySyms of KeyCode: *editKey*modifiers.label: Modifiers: *editKey*allKeySets.label: Character Set: *editKey*keySymsOfSet.label: KeySym: *editKey*modifierBox.modShift.label: Shift *editKey*modifierBox.modControl.label: Control *editKey*modifierBox.modLock.label: Lock *selectKbd*vendors.label: Vendors: *selectKbd*keyboards.label: Keyboards: *selectKbd*keymaps.label: Layouts: *selectKbd*label.label: Select a Keyboard and Layout: ! Why is this necessary? *TransientShell*Paned.borderWidth: 0 *writeQuery*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *restoreQuery*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *overwriteQuery*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *wroteFileMessage*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *noKeysymDBError*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *unknownKeysymDBError*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *magicKeyError*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *keysymConflictWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *badModifiersWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *badModifiersWarning2*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *multipleModifiersWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *noModifiersWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *modifiersConflictWarning*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *modifiersConflictWarning2*label.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *writeQuery*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *restoreQuery*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *overwriteQuery*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *wroteFileMessage*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *noKeysymDBError*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *unknownKeysymDBError*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *magicKeyError*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *keysymConflictWarning*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *badModifiersWarning*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *badModifiersWarning2*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *multipleModifiersWarning*Command.font:*-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *noModifiersWarning*Command.font: *-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *modifiersConflictWarning*Command.font:*-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *modifiersConflictWarning2*Command.font:*-helvetica-bold-r-*-*-*-140-*-*-*-*-*-* *noKeysymDBError*label.internalWidth: 20 *noKeysymDBError*label.internalHeight: 0 *noKeysymDBError*buttons.hSpace: 20 *noKeysymDBError*buttons.vSpace: 20 *unknownKeysymDBError*label.internalWidth: 20 *unknownKeysymDBError*label.internalHeight: 0 *unknownKeysymDBError*buttons.hSpace: 20 *unknownKeysymDBError*buttons.vSpace: 20 *magicKeyError*label.internalWidth: 20 *magicKeyError*label.internalHeight: 0 *magicKeyError*buttons.hSpace: 20 *magicKeyError*buttons.vSpace: 20 *restoreQuery*label.internalWidth: 20 *restoreQuery*label.internalHeight: 0 *restoreQuery*buttons.hSpace: 20 *restoreQuery*buttons.vSpace: 20 *overwriteQuery*label.internalWidth: 20 *overwriteQuery*label.internalHeight: 0 *overwriteQuery*buttons.hSpace: 20 *overwriteQuery*buttons.vSpace: 20 *wroteFileMessage*label.internalWidth: 20 *wroteFileMessage*label.internalHeight: 0 *wroteFileMessage*buttons.hSpace: 20 *wroteFileMessage*buttons.vSpace: 20 *writeQuery*label.internalWidth: 20 *writeQuery*label.internalHeight: 0 *writeQuery*buttons.hSpace: 20 *writeQuery*buttons.vSpace: 20 *keysymConflictWarning*label.internalWidth: 20 *keysymConflictWarning*label.internalHeight: 0 *keysymConflictWarning*buttons.hSpace: 20 *keysymConflictWarning*buttons.vSpace: 20 *badModifiersWarning*label.internalWidth: 20 *badModifiersWarning*label.internalHeight: 0 *badModifiersWarning*buttons.hSpace: 20 *badModifiersWarning*buttons.vSpace: 20 *badModifiersWarning2*label.internalWidth: 20 *badModifiersWarning2*label.internalHeight: 0 *badModifiersWarning2*buttons.hSpace: 20 *badModifiersWarning2*buttons.vSpace: 20 *multipleModifiersWarning*label.internalWidth: 20 *multipleModifiersWarning*label.internalHeight: 0 *multipleModifiersWarning*buttons.hSpace: 20 *multipleModifiersWarning*buttons.vSpace: 20 *noModifiersWarning*label.internalWidth: 20 *noModifiersWarning*label.internalHeight: 0 *noModifiersWarning*buttons.hSpace: 20 *noModifiersWarning*buttons.vSpace: 20 *modifiersConflictWarning*label.internalWidth: 20 *modifiersConflictWarning*label.internalHeight: 0 *modifiersConflictWarning*buttons.hSpace: 20 *modifiersConflictWarning*buttons.vSpace: 20 *modifiersConflictWarning2*label.internalWidth: 20 *modifiersConflictWarning2*label.internalHeight:0 *modifiersConflictWarning2*buttons.hSpace: 20 *modifiersConflictWarning2*buttons.vSpace: 20 *writeQuery*label.label: \n\ Write an xmodmap file for all keys, or only\n\ for keys which differ from the default? *writeQuery*full.label: All Keys *writeQuery*partial.label: Changed Keys *writeQuery*abort.label: Cancel *restoreQuery*label.label: \n\ Restore Default Keymap?\n\ \n\ If you are not really using the kind of keyboard\n\ that is displayed, you will lose big. *restoreQuery*yes.label: Restore *restoreQuery*no.label: Cancel *overwriteQuery*label.label: \nOverwrite file %s? *wroteFileMessage*label.label: \n\ Wrote output to the file\n\ %s\n\ \n\ You should modify your login script to contain a line like\n\ \n\ xmodmap ~/.xmodmap-`uname -n`\n\ \n\ (those are backquotes.)\n *noKeysymDBError.title: Error *unknownKeysymDBError.title: Error *noKeysymDBError*label.label: \n\ The vendor-specific keysym file %s does not exist.\n\ You can override this location with the $XKEYSYMDB environment variable. *unknownKeysymDBError*label.label: \n\ Don't know where to find the vendor-specific keysym file.\n\ Set the $XKEYSYMDB environment variable to point to it.\n\ On many systems this file is found in /usr/lib/X11/XKeysymDB. *noKeysymDBError*ok.label: Ok *unknownKeysymDBError*ok.label: Ok *magicKeyError.title: Error *magicKeyError*label.label: \n\ This key does not have a keycode: it is interpreted specially by\n\ the X server. You cannot change its behavior with this program. *magicKeyError*ok.label: Ok *keysymConflictWarning.title: Error *keysymConflictWarning*label.label: \n\ This key generates both the keysyms %s and %s.\n\ These keysyms have incompatible semantics; it does not make sense\n\ to attach them both to the same key (the behavior is undefined.) *keysymConflictWarning*ok.label: Do It Anyway *keysymConflictWarning*cancel.label: Cancel *badModifiersWarning.title: Error *badModifiersWarning*label.label: \n\ The semantics of the modifier bits ModShift, ModLock, and ModControl\n\ are predefined. It does not make sense to assign Mod%s to any\n\ keysym other than %s or %s.\n\ \n\ If you want to make this key be a %s key, change its keysym as well. *badModifiersWarning*ok.label: Do It Anyway *badModifiersWarning*cancel.label: Cancel *badModifiersWarning2.title: Error *badModifiersWarning2*label.label: \n\ The semantics of the Shift, Control, and Lock keysyms are predefined.\n\ It does not make sense to assign any modifier bit to %s other than Mod%s.\n\ If you want this to be a %s key, use the appropriate modifier bit.\n\ If you want this key to do something else, you must change its keysym. *badModifiersWarning2*ok.label: Do It Anyway *badModifiersWarning2*cancel.label: Cancel *multipleModifiersWarning.title: Error *multipleModifiersWarning*label.label: \n\ This key is generating more than one modifier bit.\n\ The behavior of that is undefined. *multipleModifiersWarning*ok.label: Do It Anyway *multipleModifiersWarning*cancel.label: Cancel *noModifiersWarning.title: Warning *noModifiersWarning*label.label: \n\ This key generates the keysym %s, but no modifier bits.\n\ This means that this key won't do anything in most applications. *noModifiersWarning*ok.label: Ok *noModifiersWarning*cancel.label: Cancel *modifiersConflictWarning.title: Error *modifiersConflictWarning*label.label: \n\ This key generates the keysym %s, plus the modifier bit Mod%s.\n\ However, this bit is also generated by key 0x%02X (%s), which has\n\ the keysym %s.\n\ \n\ These two keysyms have different semantics; therefore, they cannot\n\ share the same modifier bit (the behavior is undefined.)\n\ \n\ If you want these two keys to have different behavior, change one of\n\ them to use some otherwise-unallocated modifier bit.\n\ \n\ If you want these two keys to have the same behavior, they must have\n\ both the same modifier bits, and the same (or compatible) keysyms.\n\ \n\ For example, Meta_L and Meta_R are compatible keysyms, because\n\ they are both Meta keys; however, Meta_L and Mode_switch are not\n\ compatible, because a Meta key and a Mode_switch key are supposed\n\ to do quite different things; if they share the same modifier bit, then\n\ applications cannot tell them apart. *modifiersConflictWarning*ok.label: Do It Anyway *modifiersConflictWarning*cancel.label: Cancel *modifiersConflictWarning2.title: Error *modifiersConflictWarning2*label.label: \n\ This key generates the keysym %s, plus the modifier bit Mod%s.\n\ However, key 0x%02X (%s) generates the keysym %s plus the\n\ modifier bit Mod%s. Since these two keys have the same semantics,\n\ they should have the same modifier bits.\n\ \n\ If you want these two keys to have different behavior, you must\n\ change one of them to generate a different keysym as well as a\n\ different modifier bit. *modifiersConflictWarning2*ok.label: Do It Anyway *modifiersConflictWarning2*cancel.label: Cancel xkeycaps-2.47/info.c0000644000175000017500000003323110206731453012131 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996, 1997 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #include #include #include #include #include #include #include #include #include #include #include #include "KbdWidgetP.h" #include "KeyWidgetP.h" #include "xkeycaps.h" struct info_labels { Widget info; #ifdef MULTIPLE_WIDGETS Widget keycode [5]; Widget keysym [9]; Widget ascii [5]; Widget modifiers [2]; Widget autorepeat [2]; #else Widget keycode; Widget keysym; Widget ascii; Widget modifiers; Widget autorepeat; #endif Widget message; Widget message2; }; Widget #ifdef __STDC__ make_label_1 (Widget parent, char *name, char *string, Widget left, Widget top, WidgetClass class, XtCallbackProc callback, XtPointer data) #else /* ! __STDC__ */ make_label_1 (parent, name, string, left, top, class, callback, data) Widget parent; char *name, *string; Widget left, top; WidgetClass class; XtCallbackProc callback; XtPointer data; #endif /* ! __STDC__ */ { Arg av [20]; int ac = 0; Widget w; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainLeft); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; XtSetArg (av[ac], XtNjustify, XtJustifyLeft); ac++; XtSetArg (av[ac], XtNresize, True); ac++; if (string) XtSetArg (av[ac], XtNlabel, string), ac++; if (left) XtSetArg (av[ac], XtNfromHoriz, left), ac++; if (top) XtSetArg (av[ac], XtNfromVert, top), ac++; w = XtCreateManagedWidget (name, class, parent, av, ac); if (callback) XtAddCallback (w, XtNcallback, callback, data); return w; } Widget #ifdef __STDC__ make_label (Widget parent, char *name, char *string, Widget left, Widget top) #else /* ! __STDC__ */ make_label (parent, name, string, left, top) Widget parent; char *name, *string; Widget left, top; #endif /* ! __STDC__ */ { return make_label_1 (parent, name, string, left, top, labelWidgetClass, 0,0); } #ifdef MULTIPLE_WIDGETS struct info_labels * #ifdef __STDC__ make_info_widget (Widget parent, Widget parent_left) #else /* ! __STDC__ */ make_info_widget (parent, parent_left) Widget parent, parent_left; #endif /* ! __STDC__ */ { Widget info, left, farleft; Widget label_col, line_widget; struct info_labels *labels = (struct info_labels *) malloc (sizeof (struct info_labels)); Arg av [10]; int ac = 0; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainLeft); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; if (parent_left) XtSetArg (av[ac], XtNfromHoriz, parent_left), ac++; info = XtCreateManagedWidget ("info", formWidgetClass, parent, av, ac); ac = 0; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainLeft); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; label_col = XtCreateManagedWidget ("labels", formWidgetClass, info, av, ac); farleft = 0; #define NEWLABEL(store, name,val) \ { ac = 0; \ XtSetArg (av[ac], XtNfromHoriz, label_col), ac++; \ XtSetArg (av[ac], XtNorientation, "horizontal"), ac++; \ XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; \ XtSetArg (av[ac], XtNright, XtChainRight); ac++; \ XtSetArg (av[ac], XtNtop, XtChainTop); ac++; \ XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; \ if (farleft) XtSetArg (av[ac], XtNfromVert, farleft), ac++; \ line_widget = XtCreateManagedWidget("line",boxWidgetClass, info, av, ac); \ farleft = make_label (label_col, (name),(val),0, farleft); \ left = 0; \ store = farleft; \ } #define NEWVALUE(store, name) \ { left = make_label (line_widget, (name),"",0, 0); \ store = left; \ } NEWLABEL (labels->keycode [0], "label", "KeyCode:"); NEWVALUE (labels->keycode [1], "keycode"); NEWVALUE (labels->keycode [2], "keycode16"); NEWVALUE (labels->keycode [3], "keycode10"); NEWVALUE (labels->keycode [4], "keycode8"); NEWLABEL (labels->keysym [0], "label", "KeySym:"); NEWVALUE (labels->keysym [1], "keysym"); NEWVALUE (labels->keysym [2], "keysym"); NEWVALUE (labels->keysym [3], "keysym"); NEWVALUE (labels->keysym [4], "keysym"); NEWVALUE (labels->keysym [5], "keysym"); NEWVALUE (labels->keysym [6], "keysym"); NEWVALUE (labels->keysym [7], "keysym"); NEWVALUE (labels->keysym [8], "keysym"); NEWLABEL (labels->ascii [0], "label","ASCII:"); NEWVALUE (labels->ascii [1], "ascii"); NEWVALUE (labels->ascii [2], "ascii16"); NEWVALUE (labels->ascii [3], "ascii10"); NEWVALUE (labels->ascii [4], "ascii8"); NEWLABEL (labels->modifiers [0], "label", "Modifiers:"); NEWVALUE (labels->modifiers [1], "modifiers"); NEWLABEL (labels->autorepeat [0], "label", "AutoRepeat:"); NEWVALUE (labels->autorepeat [1], "autoRepeat"); labels->message = make_label (info, "message", "", info, labels->autorepeat [0]); labels->message2 = make_label (info, "message2", "", info, labels->message); #undef NEWLABEL #undef NEWVALUE labels->info = info; return labels; } #else /* !MULTIPLE_WIDGETS */ struct info_labels * #ifdef __STDC__ make_info_widget (Widget parent, Widget parent_left) #else /* ! __STDC__ */ make_info_widget (parent, parent_left) Widget parent, parent_left; #endif /* ! __STDC__ */ { Widget info, left, farleft; Widget label_col, line_widget; struct info_labels *labels = (struct info_labels *) malloc (sizeof (struct info_labels)); Arg av [10]; int ac = 0; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainLeft); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; if (parent_left) XtSetArg (av[ac], XtNfromHoriz, parent_left), ac++; info = XtCreateManagedWidget ("info", formWidgetClass, parent, av, ac); ac = 0; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainLeft); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; label_col = XtCreateManagedWidget ("labels", formWidgetClass, info, av, ac); farleft = 0; #define NEWLABEL(name,val) \ { ac = 0; \ XtSetArg (av[ac], XtNfromHoriz, label_col), ac++; \ XtSetArg (av[ac], XtNorientation, "horizontal"), ac++; \ XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; \ XtSetArg (av[ac], XtNright, XtChainRight); ac++; \ XtSetArg (av[ac], XtNtop, XtChainTop); ac++; \ XtSetArg (av[ac], XtNbottom, XtChainTop); ac++; \ if (farleft) XtSetArg (av[ac], XtNfromVert, farleft), ac++; \ line_widget = XtCreateManagedWidget("line",boxWidgetClass, info, av, ac); \ farleft = make_label (label_col, (name),(val),0, farleft); \ left = 0; \ } #define NEWVALUE(store, name) \ { left = make_label (line_widget, (name),"",0, 0); \ store = left; \ } NEWLABEL ("keycode", "KeyCode:"); NEWVALUE (labels->keycode, "keycode"); NEWLABEL ("keysym", "KeySym:"); NEWVALUE (labels->keysym, "keysym"); NEWLABEL ("ascii","ASCII:"); NEWVALUE (labels->ascii, "ascii"); NEWLABEL ("modifiers", "Modifiers:"); NEWVALUE (labels->modifiers, "modifiers"); NEWLABEL ("autoRepeat", "AutoRepeat:"); NEWVALUE (labels->autorepeat, "autoRepeat"); NEWLABEL ("message", ""); NEWVALUE (labels->message, "message"); NEWLABEL ("message2", ""); NEWVALUE (labels->message2, "message2"); #undef NEWLABEL #undef NEWVALUE labels->info = info; return labels; } #endif /* !MULTIPLE_WIDGETS */ void #ifdef __STDC__ message (KeyboardWidget widget, char *str) #else /* ! __STDC__ */ message (widget, str) KeyboardWidget widget; char *str; #endif /* ! __STDC__ */ { Arg av[10]; int ac = 0; XtSetArg (av [ac], XtNlabel, str); ac++; XtSetValues (widget->keyboard.label_widgets->message, av, ac); message2 (widget, ""); } void #ifdef __STDC__ message2 (KeyboardWidget widget, char *str) #else /* ! __STDC__ */ message2 (widget, str) KeyboardWidget widget; char *str; #endif /* ! __STDC__ */ { Arg av[10]; int ac = 0; XtSetArg (av [ac], XtNlabel, str); ac++; XtSetValues (widget->keyboard.label_widgets->message2, av, ac); } static void #ifdef __STDC__ key_to_ascii (KeyWidget widget, char *string, char *pretty, KeySym *keysym, XFontStruct *font) #else /* ! __STDC__ */ key_to_ascii (widget, string, pretty, keysym, font) KeyWidget widget; char *string, *pretty; KeySym *keysym; XFontStruct *font; #endif /* ! __STDC__ */ { XEvent event; char *p = pretty; int i, size; key_to_event (widget, &event, 1); /* We can't really pass in an XComposeStatus structure here, because we call XLookupString() as a result of mouse-motion as well as keypresses, and if the user moved the mouse over Multi_key, things would get all confused. Actually, I've been told that the Xlib that comes with OpenWindows 3 does compose processing even if you pass 0 as the XComposeStatus argument to XLookupString(), so no doubt things will be confused on that system anyway. (Yeah, big surprise...) */ size = XLookupString ((XKeyEvent *) &event, string, 50, keysym, 0); string [size] = 0; for (i = 0; i < size; i++) { unsigned char c = (unsigned char) string [i]; unsigned char hic = 0; if (c >= 0200) { *p++ = 'M'; *p++ = '-'; hic = c; c -= 0200; } if (c < 040) { *p++ = '^'; *p++ = c + ('A'-1); if (! hic) hic = c; } else if (c == 0177) { *p++ = '^'; *p++ = '?'; if (! hic) hic = c; } else *p++ = c; if (hic && font && size == 1 && hic != '\n' && hic != ' ' && hic >= font->min_char_or_byte2 && hic <= font->max_char_or_byte2 && (!font->per_char || font->per_char [hic - font->min_char_or_byte2].width)) { *p++ = ' '; *p++ = '('; *p++ = hic; *p++ = ')'; } } *p = 0; } void #ifdef __STDC__ describe_key (KeyWidget widget) #else /* ! __STDC__ */ describe_key (widget) KeyWidget widget; #endif /* ! __STDC__ */ { KeyboardWidget keyboard = (KeyboardWidget) widget->core.parent; struct info_labels *labels = keyboard->keyboard.label_widgets; Arg av [10]; int i, ac = 0; KeySym keysym, *keysyms; int syms_per_code; XFontStruct *ascii_font = 0; char buf [255]; char buf2 [255]; char *b; int ascii = 0; XtSetArg (av[0], XtNfont, &ascii_font); ac++; XtGetValues (labels->ascii, av, ac); if (! ascii_font) exit (-69); #define SETLABEL(label,string) \ XtSetArg (av[0], XtNlabel, string); \ XtSetValues (label, av, 1); keysyms = 0; if (widget->key.keycode) keysyms = XGetKeyboardMapping (XtDisplay (widget), widget->key.keycode, 1, &syms_per_code); if (! keysyms) syms_per_code = 0; for (; syms_per_code && (!keysyms[syms_per_code-1]); syms_per_code--) ; key_to_ascii (widget, buf, buf2, &keysym, ascii_font); ascii = (unsigned char) buf[0]; sprintf (buf, "%s 0x%02X %u 0%02o", widget->key.key_name, widget->key.keycode, widget->key.keycode, widget->key.keycode); SETLABEL (labels->keycode, buf); b = buf; *b = 0; for (i = 0; i < syms_per_code; i++) { char yabuf [255]; char *b2; int j; if (! keysyms [i]) b2 = "NoSymbol"; else { b2 = XKeysymToString (keysyms [i]); #if defined(sun) || defined(__sun) /* What is *up* with that damn OpenWindows libX, anyway?? It knows these, and then after a while forgets about them. The loaded XKeysymDB must be getting corrupted. */ if (b2) ; else if (keysyms [i] == 0x1005FF10) b2 = "SunXK_F36"; else if (keysyms [i] == 0x1005FF11) b2 = "SunXK_F37"; else if (keysyms [i] == 0x1005FF75) b2 = "SunXK_Cut"; else if (keysyms [i] == 0x1005FF70) b2 = "SunXK_Props"; else if (keysyms [i] == 0x1005FF71) b2 = "SunXK_Front"; else if (keysyms [i] == 0x1005FF72) b2 = "SunXK_Copy"; else if (keysyms [i] == 0x1005FF73) b2 = "SunXK_Open"; else if (keysyms [i] == 0x1005FF74) b2 = "SunXK_Paste"; else #endif if (! b2) { sprintf (yabuf, "unknown_keysym_0x%02X", (int) keysyms [i]); b2 = yabuf; } } j = strlen (b2); if (b != buf) { b [0] = ' '; b++; b [0] = ' '; b++; } strncpy (b, b2, j+1); b += j; } SETLABEL (labels->keysym, buf); if (ascii) sprintf (buf, "%s 0x%02X %u 0%02o", buf2, ascii, ascii, ascii); else *buf = 0; SETLABEL (labels->ascii, buf); sprintf (buf, "%s%s%s%s%s%s%s%s", ((widget->key.modifier_bits & ShiftMask) ? "Shift " : ""), ((widget->key.modifier_bits & LockMask) ? "Lock " : ""), ((widget->key.modifier_bits & ControlMask) ? "Control " : ""), ((widget->key.modifier_bits & Mod1Mask) ? "Mod1 " : ""), ((widget->key.modifier_bits & Mod2Mask) ? "Mod2 " : ""), ((widget->key.modifier_bits & Mod3Mask) ? "Mod3 " : ""), ((widget->key.modifier_bits & Mod4Mask) ? "Mod4 " : ""), ((widget->key.modifier_bits & Mod5Mask) ? "Mod5 " : "")); SETLABEL (labels->modifiers, buf); SETLABEL (labels->autorepeat, (widget->key.auto_repeat_p ? "yes" : "no")); #undef SETLABEL if (keysyms) XFree ((char *) keysyms); } xkeycaps-2.47/xtrap.c0000644000175000017500000001073610206731453012341 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1996 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #ifdef HAVE_XTRAP /* whole file */ #define NEED_EVENTS #define NEED_REPLIES #include #include #include #include #include "KbdWidgetP.h" static void xkeycaps_xtrap_key_event_callback (); void #ifdef __STDC__ xkeycaps_xtrap_open_connection (KeyboardWidget widget) #else /* ! __STDC__ */ xkeycaps_xtrap_open_connection (widget) KeyboardWidget widget; #endif /* ! __STDC__ */ { XETC *tc = 0; if (((KeyboardWidget) widget)->keyboard.use_xtrap) { tc = XECreateTC (XtDisplay (widget), 0, 0); if (! tc) fprintf (stderr, "%s: XTrap initialization failed for display %s\n", progname, DisplayString (XtDisplay (widget))); } if (tc) { EventFlags events; XETrapSetTimestamps (tc, True, False); memset (events, 0, sizeof (events)); BitTrue (events, KeyPress); BitTrue (events, KeyRelease); XETrapSetEvents (tc, True, events); XEAddEventCBs (tc, events, xkeycaps_xtrap_key_event_callback, (XtPointer) XtWindow (widget)); XEStartTrapRequest (tc); } widget->keyboard.trap_data = (char *) tc; } void #ifdef __STDC__ xkeycaps_xtrap_main_loop (KeyboardWidget keyboard, XtAppContext app) #else /* ! __STDC__ */ xkeycaps_xtrap_main_loop (keyboard, app) KeyboardWidget keyboard; XtAppContext app; #endif /* ! __STDC__ */ { XEvent event; XETC *tc = (XETC *) keyboard->keyboard.trap_data; XtInputMask imask; while (1) { imask = XETrapAppPending (app); /* Check to see what's going on so that we don't block in either NextEvent or ProcessEvent since neither of these routines can correctly deal with XTrap Events. */ if (imask & XtIMXEvent) { XtAppNextEvent (app, &event); xkeycaps_DispatchEvent_hook (&event); } else if (imask & (XtIMTimer | XtIMAlternateInput)) XtAppProcessEvent (app, (XtIMTimer | XtIMAlternateInput)); else /* Nothing going on, so we need to block */ XETrapWaitForSomething (app); XETrapDispatchEvent (&event, tc); } } void #ifdef __STDC__ xkeycaps_xtrap_simulate_event (KeyboardWidget keyboard, XEvent *event) #else /* ! __STDC__ */ xkeycaps_xtrap_simulate_event (keyboard, event) KeyboardWidget keyboard; XEvent *event; #endif /* ! __STDC__ */ { #if 0 if (XESimulateXEventRequest ((XETC *) keyboard->keyboard.trap_data, event->xkey.type, event->xkey.keycode, /* event->xkey.x, event->xkey.y, */ 0, 0, 0)) fprintf (stderr, "%s: XTrap: KeyPress simulation failed\n", progname); #endif } static void #ifdef __STDC__ xkeycaps_xtrap_key_event_callback (XETC *tc, XETrapDatum *data, Window window) #else /* ! __STDC__ */ xkeycaps_xtrap_key_event_callback (tc, data, window) XETC *tc; XETrapDatum *data; Window window; #endif /* ! __STDC__ */ { XEvent event; if (data->u.event.u.u.type != KeyPress && data->u.event.u.u.type != KeyRelease) return; event.xkey.serial = 0; event.xkey.display = tc->dpy; event.xkey.window = window; event.xkey.type = data->u.event.u.u.type; event.xkey.keycode = data->u.event.u.u.detail; event.xkey.root = data->u.event.u.keyButtonPointer.root; event.xkey.subwindow = data->u.event.u.keyButtonPointer.child; event.xkey.time = data->u.event.u.keyButtonPointer.time; event.xkey.state = data->u.event.u.keyButtonPointer.state; event.xkey.x_root = data->u.event.u.keyButtonPointer.rootX; event.xkey.y_root = data->u.event.u.keyButtonPointer.rootY; event.xkey.x = data->u.event.u.keyButtonPointer.eventX; event.xkey.y = data->u.event.u.keyButtonPointer.eventY; event.xkey.send_event= -1; /* fprintf (stderr, "simulating %s (%d, %d)\n", (event.xkey.type == KeyPress ? "KeyPress" : (event.xkey.type == KeyRelease ? "KeyRelease" : "???")), event.xkey.type, event.xkey.keycode); */ XtDispatchEvent (&event); } #endif /* HAVE_XTRAP */ xkeycaps-2.47/keysym-compat.h0000644000175000017500000002043610206731453014010 0ustar cbcb/* xkeycaps, Copyright (c) 1991-1999 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ /* Various X systems differ in the contents of . This file defines all the "odd" the keysyms that we reference, so that compilation succeeds on oddball systems that don't define these already. */ #ifndef _XKEYCAPS_KEYSYM_COMPAT_H_ #define _XKEYCAPS_KEYSYM_COMPAT_H_ #ifndef XK_usldead_grave # define XK_usldead_grave XK_dead_grave #endif #ifndef XK_usldead_acute # define XK_usldead_acute XK_dead_acute #endif #ifndef XK_usldead_asciicircum # define XK_usldead_asciicircum XK_dead_circumflex #endif #ifndef XK_usldead_asciitilde # define XK_usldead_asciitilde XK_dead_tilde #endif #ifndef XK_usldead_diaeresis # define XK_usldead_diaeresis XK_dead_diaeresis #endif /* Evidence suggests that Apollo makes a distinction between Page_Up and Prior whereas other systems do not (they have the same numeric value.) But, some systems (notably SCO UnixWare 2) don't have the Page_Up alias for Prior. So, we need this to be able to compile on those systems. */ #ifndef XK_KP_Page_Down # define XK_KP_Page_Down XK_KP_Next #endif #ifndef XK_KP_Page_Up # define XK_KP_Page_Up XK_KP_Prior #endif #ifndef XK_Greek_OMEGA # define XK_Greek_OMEGA 0x07D9 #endif #ifndef XK_3270_DeleteWord # define XK_3270_DeleteWord 0xFD1A #endif #ifndef XK_ISO_Left_Tab # define XK_ISO_Left_Tab 0xFE20 #endif #ifndef XK_dead_grave # define XK_dead_grave 0xFE50 #endif #ifndef XK_dead_acute # define XK_dead_acute 0xFE51 #endif #ifndef XK_dead_circumflex # define XK_dead_circumflex 0xFE52 #endif #ifndef XK_dead_tilde # define XK_dead_tilde 0xFE53 #endif #ifndef XK_dead_macron # define XK_dead_macron 0xFE54 #endif #ifndef XK_dead_breve # define XK_dead_breve 0xFE55 #endif #ifndef XK_dead_abovedot # define XK_dead_abovedot 0xFE56 #endif #ifndef XK_dead_diaeresis # define XK_dead_diaeresis 0xFE57 #endif #ifndef XK_dead_abovering # define XK_dead_abovering 0xFE58 #endif #ifndef XK_dead_doubleacute # define XK_dead_doubleacute 0xFE59 #endif #ifndef XK_dead_caron # define XK_dead_caron 0xFE5A #endif #ifndef XK_dead_cedilla # define XK_dead_cedilla 0xFE5B #endif #ifndef XK_dead_ogonek # define XK_dead_ogonek 0xFE5C #endif #ifndef XK_dead_belowdot # define XK_dead_belowdot 0xFE60 #endif #ifndef XK_Pointer_EnableKeys # define XK_Pointer_EnableKeys 0xFEF9 #endif #ifndef XK_Sys_Req # define XK_Sys_Req 0xFF15 #endif #ifndef XK_KP_Home # define XK_KP_Home 0xFF95 #endif #ifndef XK_KP_Left # define XK_KP_Left 0xFF96 #endif #ifndef XK_KP_Up # define XK_KP_Up 0xFF97 #endif #ifndef XK_KP_Right # define XK_KP_Right 0xFF98 #endif #ifndef XK_KP_Down # define XK_KP_Down 0xFF99 #endif #ifndef XK_KP_Prior # define XK_KP_Prior 0xFF9A #endif #ifndef XK_KP_Next # define XK_KP_Next 0xFF9B #endif #ifndef XK_KP_End # define XK_KP_End 0xFF9C #endif #ifndef XK_KP_Begin # define XK_KP_Begin 0xFF9D #endif #ifndef XK_KP_Insert # define XK_KP_Insert 0xFF9E #endif #ifndef XK_KP_Delete # define XK_KP_Delete 0xFF9F #endif #ifndef XK_usldead_acute # define XK_usldead_acute 0x100000A8 #endif #ifndef hpXK_mute_acute # define hpXK_mute_acute 0x100000A8 #endif #ifndef XK_usldead_grave # define XK_usldead_grave 0x100000A9 #endif #ifndef hpXK_mute_grave # define hpXK_mute_grave 0x100000A9 #endif #ifndef XK_usldead_asciicircum # define XK_usldead_asciicircum 0x100000AA #endif #ifndef hpXK_mute_asciicircum # define hpXK_mute_asciicircum 0x100000AA #endif #ifndef XK_usldead_diaeresis # define XK_usldead_diaeresis 0x100000AB #endif #ifndef hpXK_mute_diaeresis # define hpXK_mute_diaeresis 0x100000AB #endif #ifndef XK_usldead_asciitilde # define XK_usldead_asciitilde 0x100000AC #endif #ifndef hpXK_mute_asciitilde # define hpXK_mute_asciitilde 0x100000AC #endif #ifndef hpXK_lira # define hpXK_lira 0x100000AF #endif #ifndef hpXK_guilder # define hpXK_guilder 0x100000BE #endif #ifndef hpXK_Ydiaeresis # define hpXK_Ydiaeresis 0x100000EE #endif #ifndef hpXK_longminus # define hpXK_longminus 0x100000F6 #endif #ifndef hpXK_block # define hpXK_block 0x100000FC #endif #ifndef XK_usldead_cedilla # define XK_usldead_cedilla 0x1000FE2C #endif #ifndef XK_usldead_ring # define XK_usldead_ring 0x1000FEB0 #endif #ifndef DXK_Remove # define DXK_Remove 0x1000FF00 #endif #ifndef TekXK_Remove # define TekXK_Remove 0x1000FF00 #endif #ifndef TekXK_Hold # define TekXK_Hold 0x1000FF10 #endif #ifndef TekXK_Copy # define TekXK_Copy 0x1000FF11 #endif #ifndef TekXK_Setup # define TekXK_Setup 0x1000FF12 #endif #ifndef TekXK_Setup # define TekXK_Setup 0x1000FF12 /* Setup */ #endif #ifndef TekXK_SetUp # define TekXK_SetUp 0x1000FF17 /* new Setup */ #endif #ifndef TekXK_SetUp # define TekXK_SetUp 0x1000FF17 /* new setup */ #endif #ifndef hpXK_Reset # define hpXK_Reset 0x1000FF6C #endif #ifndef hpXK_System # define hpXK_System 0x1000FF6D #endif #ifndef hpXK_User # define hpXK_User 0x1000FF6E #endif #ifndef hpXK_ClearLine # define hpXK_ClearLine 0x1000FF6F #endif #ifndef hpXK_InsertLine # define hpXK_InsertLine 0x1000FF70 #endif #ifndef hpXK_DeleteLine # define hpXK_DeleteLine 0x1000FF71 #endif #ifndef hpXK_InsertChar # define hpXK_InsertChar 0x1000FF72 #endif #ifndef hpXK_DeleteChar # define hpXK_DeleteChar 0x1000FF73 #endif #ifndef hpXK_BackTab # define hpXK_BackTab 0x1000FF74 #endif #ifndef hpXK_KP_BackTab # define hpXK_KP_BackTab 0x1000FF75 #endif #ifndef TekXK_Tek # define TekXK_Tek 0x1000FFFF #endif #ifndef SunXK_Dead_Grave # define SunXK_Dead_Grave 0x1005FF00 /* SunXK_FA_Grave? */ #endif #ifndef SunXK_Dead_Grave # define SunXK_Dead_Grave 0x1005FF00 #endif #ifndef SunXK_FA_Grave # define SunXK_FA_Grave 0x1005FF00 /* SunXK_Dead_Grave? */ #endif #ifndef SunXK_FA_Grave # define SunXK_FA_Grave 0x1005FF00 #endif #ifndef SunXK_Dead_Circum # define SunXK_Dead_Circum 0x1005FF01 /* SunXK_FA_Circum? */ #endif #ifndef SunXK_FA_Circum # define SunXK_FA_Circum 0x1005FF01 #endif #ifndef SunXK_Dead_Tilde # define SunXK_Dead_Tilde 0x1005FF02 /* SunXK_FA_Tilde? */ #endif #ifndef SunXK_FA_Tilde # define SunXK_FA_Tilde 0x1005FF02 #endif #ifndef SunXK_FA_Acute # define SunXK_FA_Acute 0x1005FF03 #endif #ifndef SunXK_FA_Diaeresis # define SunXK_FA_Diaeresis 0x1005FF04 #endif #ifndef SunXK_F36 # define SunXK_F36 0x1005FF10 #endif #ifndef SunXK_F37 # define SunXK_F37 0x1005FF11 #endif #ifndef SunXK_Sys_Req # define SunXK_Sys_Req 0x1005FF60 #endif #ifndef SunXK_Props # define SunXK_Props 0x1005FF70 #endif #ifndef SunXK_Front # define SunXK_Front 0x1005FF71 #endif #ifndef SunXK_Copy # define SunXK_Copy 0x1005FF72 #endif #ifndef SunXK_Open # define SunXK_Open 0x1005FF73 #endif #ifndef SunXK_Paste # define SunXK_Paste 0x1005FF74 #endif #ifndef SunXK_Cut # define SunXK_Cut 0x1005FF75 #endif #ifndef SunXK_PowerSwitch # define SunXK_PowerSwitch 0x1005FF76 #endif #ifndef SunXK_AudioLowerVolume # define SunXK_AudioLowerVolume 0x1005FF77 #endif #ifndef SunXK_AudioMute # define SunXK_AudioMute 0x1005FF78 #endif #ifndef SunXK_AudioRaiseVolume # define SunXK_AudioRaiseVolume 0x1005FF79 #endif #ifndef SunXK_VideoDegauss # define SunXK_VideoDegauss 0x1005FF7A #endif #ifndef SunXK_VideoLowerBrightness # define SunXK_VideoLowerBrightness 0x1005FF7B #endif #ifndef SunXK_VideoRaiseBrightness # define SunXK_VideoRaiseBrightness 0x1005FF7C #endif #ifndef SunXK_PowerSwitchShift # define SunXK_PowerSwitchShift 0x1005FF7D #endif #ifndef XK_SGI_Long_Compose # define XK_SGI_Long_Compose 0x1007FF20 #endif #ifndef XK_XF86ModeLock # define XK_XF86ModeLock 0x1008FF01 #endif #ifndef XK_dead_circumflex # define XK_dead_circumflex 0x1800005E #endif #ifndef XK_dead_grave # define XK_dead_grave 0x18000060 #endif #ifndef XK_dead_tilde # define XK_dead_tilde 0x1800007E #endif #ifndef XK_dead_acute # define XK_dead_acute 0x180000B4 #endif #endif /* _XKEYCAPS_KEYSYM_COMPAT_H_ */ xkeycaps-2.47/build-map.sh0000755000175000017500000001102710206731453013242 0ustar cbcb#!/bin/sh # # xkeycaps, Copyright (c) 1991, 1992, 1993, 1996, 1997 # Jamie Zawinski # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation. No representations are made about the suitability of this # software for any purpose. It is provided "as is" without express or # implied warranty. # # ********************************************* # * * # * ALERT! * # * * # * Have you read "defining.txt" yet? * # * Please do, before adding a new * # * keyboard description to xkeycaps. * # * It will make my life much easier! * # * * # * * # ********************************************* # # This parses the output of xmodmap to automatically generate *-map.h files # which encode the current keyboard state in the format the the xkeycaps # source requires. Be certain you are running this on a virgin keymap; you # don't want to encode a modified keymap into the xkeycaps source. NAME=$1 if [ "x$NAME" = "x" ]; then NAME=FOO fi echo "static const struct default_keycode_map ${NAME}_map [] = {" ( xmodmap -pm ; echo "======" ; xmodmap -pk ) | sed 's/(no name)/(UNKNOWN_KEYSYM)/' | awk ' BEGIN { parsing_mods = 1; } { # First parse the output of "xmodmap -pm", and fill the "bits" table # with keysym/maskname pairs for those keycodes with modifier bits. # (Its not quite right that we index off of syms instead of codes # but I dont feel writing a parser for hex numbers right now...) if (parsing_mods) { if ( $0 ~ /^======$/ ) { parsing_mods = 0; } else if ( $0 ~ /^shift|lock|control|mod[1-5]/ ) { for (i = 2; i <= NF; i+=2) { L = length ($1); if ( $0 ~ /^shift/ ) { M = "ShiftMask"; } else if ( $0 ~ /^lock/ ) { M = "LockMask"; } else if ( $0 ~ /^control/ ) { M = "ControlMask"; } else if ( $0 ~ /^mod/ ) { M = "Mod" substr($0,4,1) "Mask"; } else { M = "????"; } bits [ $i ] = M; } } else if ( NF == 0 || $0 ~ / keys per modifier, / ) { } else { printf " /* %s */\n", $0; } } # # Now reformat the output of "xmodmap -pk" # If we dont recognise a line, print it inside of /* */. # else if ( $0 ~ /^[ \t]*[0-9][0-9]*[ \t][ \t]*$/ ) { } else if ( $0 ~ /^[ \t]*[0-9][0-9]*[ \t]/ ) { printf " { %3d, ", $1; # Look in the "bits" table for the modifier bit masks to print here. this_sym = substr ($3, 2, length($3) - 2); this_bits = bits [ this_sym ]; if ( this_bits == 0 ) { printf "0,\t"; } else { printf "%s,", this_bits; } # Print out the keysyms of this keycode, with commas as appropriate. for (i = 3; i <= NF; i+=2) { if (i == 7) { printf "\n\t\t"; } keysym = substr ($i, 2, length($i) - 2); printf "\t"; if ( i == 7) { printf " "; } if ( i == 3) { printf "{ "; } # Print "NoSymbol" as "0" instead "XK_NoSymbol". if (keysym == "NoSymbol" ) { printf "0"; } # Print "hpFooBar" as "hpXK_FooBar" instead of "XK_hpFooBar". else if ( keysym ~ /^hp/ ) { keysym = substr (keysym, 3, length(keysym)); printf "hpXK_%s", keysym; } # Print "SunFoo" as "SunXK_Foo" instead of "XK_SunFoo". else if ( keysym ~ /^Sun/ ) { keysym = substr (keysym, 4, length(keysym)); printf "SunXK_%s", keysym; } # Sigh... print "apLineDel" as "DXK_Remove" and # "apSave" as "TekXK_Setup"... else if ( keysym ~ /^apLineDel$/ ) { printf "DXK_Remove"; } else if ( keysym ~ /^apSave$/ ) { printf "TekXK_Setup"; } else { printf "XK_%s", keysym; } if (i < NF) printf ","; } printf " }},\n"; } else if (NF == 0 \ || $0 ~ /^There are [0-9]* KeySyms per KeyCode/ \ || $0 ~ /^[ \t]*KeyCode[ \t]*Keysym[ \t]*\(Keysym\)/ \ || $0 ~ /^[ \t]*Value[ \t]*Value[ \t]*\(Name\)/ ) { } else { printf " /* %s */\n", $0; } } ' echo " };" xkeycaps-2.47/xkeycaps.lsm.sh0000755000175000017500000000313510206731453014012 0ustar cbcb#!/bin/sh # # generate an lsm file (http://sunsite.unc.edu/pub/Linux/Incoming/LSM-TEMPLATE) # that is more-or-less correct for the current version of xkeycaps. # jwz, 18-Jan-98 size() { ls -l $* | tail -1 | sed 's/.* \([0-9][0-9][0-9][0-9][0-9]*\) .*/\1/' | sed 's/[0-9][0-9][0-9]$/K/' } TAR_SIZE=`size xkeycaps-*.Z` README_SIZE=`size README` #LSM_SIZE=`size xkeycaps.lsm` LSM_SIZE="1K" VERSION=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < version.h` DATE=`date '+%d%b%y' | tr a-z A-Z` N=`make index | wc -l | sed 's/ //g'` #URL=`sed -n 's/\(http:[^ ]*\)/\1/p' < README | sed 's/[^a-zA-Z/]$//'` echo "Begin3 Title: xkeycaps Version: $VERSION Entered-date: $DATE Description: A graphical front-end to xmodmap. Understands $N different keyboards. Home page: http://www.jwz.org/xkeycaps/ Keywords: xmodmap, keyboard, keymaps, loadkeys, keytables, X11 Author: jwz@jwz.org (Jamie Zawinski) Maintained-by: jwz@jwz.org (Jamie Zawinski) Primary-site: ftp.x.org /contrib/applications/ $TAR_SIZE xkeycaps-$VERSION.tar.Z $README_SIZE xkeycaps.README $LSM_SIZE xkeycaps.lsm Alternate-site: sunsite.unc.edu /pub/X11/contrib/applications/ $TAR_SIZE xkeycaps-$VERSION.tar.Z $README_SIZE xkeycaps.README $LSM_SIZE xkeycaps.lsm Platforms: Linux, Irix, SunOS, Solaris, HPUX, AIX, FreeBSD, NetBSD, BSDI, SCO, OSF1, Ultrix, NeXT, DG-UX, VMS. Requires X11 (and the Athena widgets.) Copying-policy: BSD End" exit 0 xkeycaps-2.47/hierarchy.txt0000644000175000017500000000424410206731453013553 0ustar cbcb This is the widget hierarchy for the XKeyCaps program, for your resource-frobbing pleasure. xkeycaps (Shell) vertical (Paned) horizontal (Paned) buttons (Form) (Command or MenuButton) info (Form) labels (Form) keycode (Label) keysym (Label) [and so on...] line (Box) keycode (Label) keysym (Label) [and so on...] Keyboard A (Key) B (Key) C (Key) [and so on...] editKey (TransientShell) vertical (Paned) label (Label) horizontal (Paned) keysymBox (Form) symsOfCode (Label) keysymLine (Box) keysym1 (Label) keysymValue (Toggle) [and so on...] modifierBox (Box) modifiers (Label) modShift (Toggle) [and so on...] keysetBox (Form) allKeySets (Label) keysetsVp (Viewport) vertical (Scrollbar) keysets (List) keysymBox (Form) allKeySyms (Label) keysymsVp (Viewport) vertical (Scrollbar) keysyms (List) buttons (Box) undo (Button) abort (Button) ok (Button) selectKbd (TransientShell) vertical (Paned) label (Label) label2 (Label) horizontal (Paned) vendorBox (Form) vendors (Label) vendorsVp (Viewport) vendorsList (List) keyboardBox (Form) keyboards (Label) keyboardsVp (Viewport) keyboardsList (List) keymapBox (Form) keymaps (Label) keymapsVp (Viewport) keymapsList (List) buttons (Box) abort (Button) ok (Button) spacer (Label) kbd_icon (Label) writeQuery (TransientShell) vertical (Paned) label (Label) buttons (Paned) yes (Button) no (Button) restoreQuery (TransientShell) vertical (Paned) label (Label) buttons (Paned) full (Button) partial (Button) abort (Button) xkeycaps-2.47/README0000644000175000017500000002441010351123734011707 0ustar cbcb XKeyCaps a keymap editor for the X window system ``A program so good that you only have to use it once.'' by Jamie Zawinski See the Imakefile for configuration parameters. To build, do the usual: xmkmf ; make ; make install ; make install.man (If you don't have xmkmf, or the Athena library, which are a standard part of X, then your vendor is doing you a disservice. Report it as a bug.) xkeycaps is a graphical front-end to xmodmap. It opens a window that looks like a keyboard; moving the mouse over a key shows what KeySyms and Modifier bits that key generates. Clicking on a key simulates KeyPress/KeyRelease events on the window of your choice. It is possible to change the KeySyms and Modifiers generated by a key through a mouse-based interface. This program can also write an input file for xmodmap to recreate your changes in future sessions. See the man page for more details. The latest version of xkeycaps is always available at http://www.jwz.org/xkeycaps/ What follows is a list of the keyboard types that xkeycaps knows about (this is the output of "xkeycaps -help".) If you're using a keyboard not on this list and would like to make xkeycaps know about it, read the file `defining.txt'. Adding a new keyboard type isn't hard, just a little tedious. Please send me any changes/additions you make! Adesso Adesso PCK-301 (XFree86; US) Amiga Non-A1000 (German) Apple Extended II (MacX; US) Apple Extended II (MkLinux; US) Apple Extended II (MkLinux; German) Apple Standard ADB (NetBSD; US) Atari TT (US) Compaq Presario 1655 (XInside; US) Concurrent GA5000 (US) Cramer 106 key Interfaces (XFree86; US) Cramer 106 key Interfaces (Irix 5.2, 6.3; US) Data General AViiON 300 PC (US) Digital LK201 (US) Digital LK401 (US) Digital LK401 (Swedish TTY) Digital LK401 (Swedish DP) Digital LK421 (US) Digital LK450 (XFree86) Digital PCXAL (US) Digital PCXAL (XFree86; US) Gateway 2000 AnyKey Keyboard (XFree86; US) GVC/ARM Concorde 105 key (XFree86; US) Hewlett-Packard HP9000 ITF HIL (US) Hewlett-Packard HP9000 ITF HIL (German) Hewlett-Packard HP9000 ITF HIL (Finnish) Hewlett-Packard HP9000 ITF HIL (Swedish) Hewlett-Packard Aptrex Terminal (USASCII) Hewlett-Packard 700/RX Terminal (101 key; US) Hewlett-Packard 700/RX Terminal (102 key; United Kingdom) Hewlett-Packard 700/RX Terminal (102 key; Swedish/Finnish) Hewlett-Packard HP9000 PS2 DIN (US) Hewlett-Packard HP9000 PS2 DIN (German) Hewlett-Packard Apollo (US) IBM PC/RT (US) IBM PC/RT 102 (Swedish 7-bit) IBM PC/RT 102 (Swedish 8-bit) IBM RS/6000 (AIXWindows R4; US) IBM RS/6000 (AIXWindows R4; German) IBM RS/6000 (X11R5; US) IBM ThinkPad 560 (XFree86; Spanish) IBM ThinkPad 770 (XFree86; US) Kinesis 120 key (XFree86; US) Kinesis 120 key (Sun Interface Converter; US) KTX 1000 IBM 104 Key Compatible (XFree86; US) Labtam MT200 Terminal (US) MidwestMicro Elite SoundBook (US) Microsoft `Natural' 104 key (XFree86; US) Microsoft `Natural' 104 key (Irix 5.2, 6.3; US) Microsoft `Natural' 104 key (Sun Interface Converter; US) Microsoft `Natural' 104 key (Gateway 2K XFree86; US) Microsoft `Natural' 104 key (HP-UX; US) Microsoft `Natural' 105 key (HP-UX; German) Microsoft `Natural' 105 key (Sun Interface Converter; Swedish) Microsoft `Natural' 105 key (XFree86; US) Microsoft `Natural' 105 key (XFree86; German) Microsoft `Natural' 105 key (XFree86; Italian) Microsoft `Natural' 105 key (XFree86; Spanish) Microsoft `Natural' 105 key (XFree86; Belgian) MIPS Magnum 3000 (US) MIPS Magnum AT (US) MIPS RS-2030 (US) NCD N97 (US) NCD N101 (US) NCD N102 (US) NCD N102 (French) NCD N102 (Norwegian) NCD N102 (Swedish/Finnish) NCD N107 (US) NCD N108 (US) NCD N108 (German) NCD vt220 (US) NCD 123UX (US) NCD 123NA (US) NCD PC-Xview (US) NeXT Non-ADB (US) Northgate OmniKey 102 (XFree86; US) Northgate OmniKey Ultra (XFree86; US) Ortek Enhanced Keyboard (XFree86; US) PC 84 key PC/AT (XFree86; US) PC 101 key, wide Delete, short Enter (Hewlett-Packard PC; US) PC 101 key, wide Delete, short Enter (OpenWindows/x86; US) PC 101 key, wide Delete, short Enter (Santa Cruz Operation; US) PC 101 key, wide Delete, short Enter (DELL PC; US) PC 101 key, wide Delete, short Enter (AGE XoftWare, XStation 130; US) PC 101 key, wide Delete, short Enter (AGE XoftWare, 2.0 PC; US) PC 101 key, wide Delete, short Enter (Hummingbird eXceed; US) PC 101 key, wide Delete, short Enter (Pericom X-Line; US) PC 101 key, wide Delete, short Enter (XInside; US) PC 101 key, wide Delete, short Enter (Sun Interface Converter; US) PC 101 key, wide Delete, short Enter (OpenWindows/IBM PReP PPC; US) PC 101 key, wide Delete, tall Enter (XFree86; US) PC 101 key, thin Delete, tall Enter (XFree86; US) PC 101 key, thin Delete, tall Enter (XFree86; Thai) PC 102 key, wide Delete, short Enter (XFree86; German) PC 102 key, wide Delete, tall Enter (XFree86; US) PC 102 key, wide Delete, tall Enter (XFree86; German) PC 102 key, wide Delete, tall Enter (XFree86; Italian) PC 102 key, wide Delete, tall Enter (XFree86; Spanish) PC 102 key, wide Delete, tall Enter (XFree86; Swedish/Finnish) PC 102 key, wide Delete, tall Enter (XFree86; French) PC 102 key, wide Delete, tall Enter (XFree86; United Kingdom) PC 102 key, wide Delete, tall Enter (XFree86; Belgian) PC 102 key, wide Delete, tall Enter (XFree86; Swiss French) PC 102 key, wide Delete, tall Enter (XFree86; Norwegian) PC 102 key, wide Delete, tall Enter (Exceed/Siemens-Nixdorf; German) PC 102 key, wide Delete, tall Enter (SCO UnixWare 2; Norwegian) PC 102 key, wide Delete, tall Enter (Hewlett-Packard PC; United Kingdom) PC 102 key, wide Delete, tall Enter (Hewlett-Packard PC; Swedish/Finnish) PC 102 key, wide Delete, tall Enter (Hewlett-Packard PC; German) PC 102 key, wide Delete, tall Enter (XFree86; Portuguse) PC 102 key, thin Delete, tall Enter (XFree86; United Kingdom) PC 104 key, wide Delete, short Enter (XFree86; US) PC 104 key, wide Delete, short Enter (XAccel; US) PC 104 key, wide Delete, short Enter (OpenWindows/x86; US) PC 105 key, wide Delete, tall Enter (XFree86; US) PC 105 key, wide Delete, tall Enter (XFree86; Canadian) PC 105 key, wide Delete, tall Enter (XFree86; CF) PC 105 key, wide Delete, tall Enter (XFree86; United Kingdom) PC 105 key, wide Delete, tall Enter (XFree86; German) PC 105 key, wide Delete, tall Enter (XFree86; Swedish/Finnish) PC 105 key, wide Delete, tall Enter (XFree86; Danish) PC 105 key, wide Delete, tall Enter (XFree86; Swedish) PC 105 key, wide Delete, tall Enter (XFree86; Icelandic) PC 105 key, wide Delete, tall Enter (XFree86; Italian) PC 105 key, wide Delete, tall Enter (XFree86; Spanish) PC 105 key, wide Delete, tall Enter (XFree86; Belgian) PC 105 key, wide Delete, tall Enter (XFree86; Slovene) PC 105 key, wide Delete, tall Enter (XFree86; Turkish) PC 105 key, wide Delete, tall Enter (XFree86; French) PC 105 key, wide Delete, tall Enter (XFree86; Norwegian) PC 107 key, wide Delete, tall Enter (XFree86; Brazilian ABNT2) PC Cherry ErgoPlus (XFree86; German) PC CoolKeyboard 107 key (XFree86; US) PC Happy Hacking Keyboard (PC mode; XFree86; US) PC Sunshine KB-6868 105 key (XFree86; US) Phase X Systems PX 101 key, wide Delete, short Enter (US) Phase X Systems PX 101 key, thin Delete, tall Enter (US) Phase X Systems PX CH2 (Wyse 102 key; US) Shine `Natural' 106 key (XFree86; Portuguese) Silicon Graphics 101 key (Irix 5.2, 6.3; US) Silicon Graphics 101 key (IRIX 6.2; German) Silicon Graphics 101 key (IRIX 5.2; German) Silicon Graphics 101 key (IRIX 4.0 R5; US) Silicon Graphics 101 key (IRIX 4.0 R4; US) Silicon Graphics 102 key (IRIX 6.2; Norwegian) Soft Key Butterfly (US) Soft Key Butterfly (German) Sony Vaio PCG-C1VE (XFree86; DE) Sony Vaio PCG-C1VN (XFree86; US) Sony NWS 1250 (US) Sony NWS 3410 (US) Sun Microsystems Type 2 (X Consortium; US) Sun Microsystems Type 3 (X Consortium; US) Sun Microsystems Type 4 (OpenWindows; US) Sun Microsystems Type 4 (OpenWindows; Swedish/Finnish) Sun Microsystems Type 4 (X11R6; US) Sun Microsystems Type 4 (X11R6; Swedish) Sun Microsystems Type 4 (X11R6; German) Sun Microsystems Type 4 (OpenWindows; Catalan/Spanish) Sun Microsystems Type 4 (X11R6; Catalan/Spanish) Sun Microsystems Type 4 (X11R4/R5; US) Sun Microsystems Type 4 (XFree86; US) Sun Microsystems Type 5 (OpenWindows; US) Sun Microsystems Type 5 (OpenWindows; Swiss-French) Sun Microsystems Type 5 (X11R6; French) Sun Microsystems Type 5 (OpenWindows; Swedish) Sun Microsystems Type 5 (OpenWindows; United Kingdom) Sun Microsystems Type 5 (OpenWindows; German) Sun Microsystems Type 5 (X11R6; Swiss-German) Sun Microsystems Type 5 (OpenWindows; Spanish) Sun Microsystems Type 5 (X11R6; US) Sun Microsystems Type 5 (X11R4/R5; US) Sun Microsystems Type 5 (X11R4/R5 + patch; Swedish) Sun Microsystems Type 5 (X11R4/R5 + patch; Katakana) Sun Microsystems Type 5/PC (OpenWindows; US) Sun Microsystems Type 5/PC (OpenWindows; German) Sun Microsystems Type 5/PC (X11R6; US) Sun Microsystems Type 5/PC (X11R4/R5; US) Sun Microsystems Type 5/PC (X11R4/R5 + patch; US) Sun Microsystems 101A (X11R4/R5; US) Takaoka Xmint Terminal (Katakana) Tektronix XP20 101 key (X11R5; US) Tektronix XP20 101 key (X11R4; US) Tektronix XP217C 101 key (US) Tektronix X358 102 key (German) Tektronix XP119 Sun 5/PC (US) Tektronix VT200 (Ultrix; US) Tektronix VT200 (Ultrix; Danish) Tektronix VT200 (Ultrix; German) Tektronix VT200 (Ultrix; Finnish) Tektronix VT200 (Ultrix; French) Tektronix VT200 (Ultrix; Italian) Tektronix VT200 (Ultrix; Katakana) Tektronix VT200 (Ultrix; Norwegian) Tektronix VT200 (Ultrix; Spanish) Tektronix VT200 (Ultrix; Swedish) Tektronix VT200 (Ultrix; Swiss-German) Tektronix VT200 (Ultrix; United Kingdom) Tektronix VT200 (VMS; US) Tektronix VT200 (US-ESC) Tektronix VT200 (US-F11) Tektronix Tek-LK401 (US) Tektronix Tek-LK401 (Swedish TTY) Tektronix Tek-LK401 (Swedish DP) Tektronix Tek-Sun Type4 (US) Tektronix XN11 Terminal (Swedish/Finnish) Texas Instruments TravelMate 4000M (US) Texas Instruments Explorer (US) Toshiba Libretto 100CT (US) Toshiba Portege 34xxCT (US) Toshiba Tecra 500CDT (US) xkeycaps-2.47/vroot.h0000644000175000017500000001217010206731453012353 0ustar cbcb/*****************************************************************************/ /** Copyright 1991 by Andreas Stolcke **/ /** Copyright 1990 by Solbourne Computer Inc. **/ /** Longmont, Colorado **/ /** **/ /** All Rights Reserved **/ /** **/ /** Permission to use, copy, modify, and distribute this software and **/ /** its documentation for any purpose and without fee is hereby **/ /** granted, provided that the above copyright notice appear in all **/ /** copies and that both that copyright notice and this permis- **/ /** sion notice appear in supporting documentation, and that the **/ /** name of Solbourne not be used in advertising **/ /** in publicity pertaining to distribution of the software without **/ /** specific, written prior permission. **/ /** **/ /** ANDREAS STOLCKE AND SOLBOURNE COMPUTER INC. DISCLAIMS ALL WARRANTIES **/ /** WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF **/ /** MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ANDREAS STOLCKE **/ /** OR SOLBOURNE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL **/ /** DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA **/ /** OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER **/ /** TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE **/ /** OR PERFORMANCE OF THIS SOFTWARE. **/ /*****************************************************************************/ /* * vroot.h -- Virtual Root Window handling header file * * This header file redefines the X11 macros RootWindow and DefaultRootWindow, * making them look for a virtual root window as provided by certain `virtual' * window managers like swm and tvtwm. If none is found, the ordinary root * window is returned, thus retaining backward compatibility with standard * window managers. * The function implementing the virtual root lookup remembers the result of * its last invocation to avoid overhead in the case of repeated calls * on the same display and screen arguments. * The lookup code itself is taken from Tom LaStrange's ssetroot program. * * Most simple root window changing X programs can be converted to using * virtual roots by just including * * #include * * after all the X11 header files. It has been tested on such popular * X clients as xphoon, xfroot, xloadimage, and xaqua. * It also works with the core clients xprop, xwininfo, xwd, and editres * (and is necessary to get those clients working under tvtwm). * It does NOT work with xsetroot; get the xsetroot replacement included in * the tvtwm distribution instead. * * Andreas Stolcke , 9/7/90 * - replaced all NULL's with properly cast 0's, 5/6/91 * - free children list (suggested by Mark Martin ), 5/16/91 * - include X11/Xlib.h and support RootWindowOfScreen, too 9/17/91 */ #ifndef _VROOT_H_ #define _VROOT_H_ #if !defined(lint) && !defined(SABER) static const char vroot_rcsid[] = "#Id: vroot.h,v 1.4 1991/09/30 19:23:16 stolcke Exp stolcke #"; #endif #include #include #include static Window #ifdef __STDC__ /* ANSIfication added by jwz, to avoid superfluous warnings. */ VirtualRootWindowOfScreen(Screen *screen) #else /* !__STDC__ */ VirtualRootWindowOfScreen(screen) Screen *screen; #endif /* !__STDC__ */ { static Screen *save_screen = (Screen *)0; static Window root = (Window)0; if (screen != save_screen) { Display *dpy = DisplayOfScreen(screen); Atom __SWM_VROOT = None; int i; Window rootReturn, parentReturn, *children; unsigned int numChildren; root = RootWindowOfScreen(screen); /* go look for a virtual root */ __SWM_VROOT = XInternAtom(dpy, "__SWM_VROOT", False); if (XQueryTree(dpy, root, &rootReturn, &parentReturn, &children, &numChildren)) { for (i = 0; i < numChildren; i++) { Atom actual_type; int actual_format; unsigned long nitems, bytesafter; Window *newRoot = (Window *)0; if (XGetWindowProperty(dpy, children[i], __SWM_VROOT, 0, 1, False, XA_WINDOW, &actual_type, &actual_format, &nitems, &bytesafter, (unsigned char **) &newRoot) == Success && newRoot) { root = *newRoot; break; } } if (children) XFree((char *)children); } save_screen = screen; } return root; } #undef RootWindowOfScreen #define RootWindowOfScreen(s) VirtualRootWindowOfScreen(s) #undef RootWindow #define RootWindow(dpy,screen) VirtualRootWindowOfScreen(ScreenOfDisplay(dpy,screen)) #undef DefaultRootWindow #define DefaultRootWindow(dpy) VirtualRootWindowOfScreen(DefaultScreenOfDisplay(dpy)) #endif /* _VROOT_H_ */ xkeycaps-2.47/xkeycaps.man0000644000175000017500000011712310356071071013360 0ustar cbcb.de EX \"Begin example .ne 5 .if n .sp 1 .if t .sp .5 .nf .in +.5i .. .de EE .fi .in -.5i .if n .sp 1 .if t .sp .5 .. .TH XKeyCaps 1 "02-Jan-06" "XKeyCaps 2.47" .SH NAME xkeycaps - graphically display and edit the X keyboard mapping .SH SYNOPSIS .B xkeycaps [\-\fItoolkitoption\fP ...] [\-\fIoption\fP ...] .SH DESCRIPTION The \fIxkeycaps\fP program displays a keyboard. Moving the mouse over a key describes the keysyms and modifiers that that key generates. Clicking left on a key simulates a KeyPress event. Clicking right on a key brings up a menu of operations, including a command to change the keysyms that the key generates. This program is, in part, a graphical front-end to .BR xmodmap (1). .SH OPTIONS .I xkeycaps accepts all of the standard toolkit options, and also accepts the following options: .TP 4 .B \-keyboard \fIkeyboard\-name\fP\fR or \fP\fB\-kbd\fP \fIkeyboard\-name\fP Specifies the type of keyboard to display. There are many different computer keyboards in the world, and \fIxkeycaps\fP must know which one you are using in order to function correctly. Case does not matter when specifying a keyboard name. If you're running on the console display of a Sun or HP, then \fIxkeycaps\fP will interrogate the attached keyboard hardware directly to determine what keyboard you're using. But if you're running remotely, or on another type of machine, then you must specify a keyboard somehow. .TP 4 .B \-help Lists the recognized values for the \fB\-keyboard\fP option. .TP 4 .B \-gutterwidth \fInumber\fP\fR or \fP\fB\-gw\fP \fInumber\fP Specifies the number of pixels of space to leave between each key. .TP 4 .B \-font \fIfontname\fP Specifies the font to use to display the keycaps. .SH "" The following standard X Toolkit command line arguments are commonly used with \fIxkeycaps\fP: .TP 4 .B \-display \fIhost:dpy\fP This option specifies the X server to contact. .TP 4 .B \-geometry \fIgeometry\fP This option specifies the preferred size and position of the window. .TP 4 .B \-bg \fIcolor\fP This option specifies the color to use for the background of the window. The default is light gray. .TP 4 .B \-fg \fIcolor\fP This option specifies the color to use for the foreground of the window. The default is black. .TP 4 .B \-bw \fInumber\fP This option specifies the width in pixels of the border surrounding the window. .TP 4 .B \-xrm \fIresourcestring\fP This option specifies a resource string to be used. This is especially useful for setting resources that do not have separate command line options. .SH DISPLAY The bottom part of the window is a drawing of a keyboard. In the top left of each key is printed the string which actually appears on the surface of the key. In the bottom right of the key is the (hexadecimal) keycode that this key generates. At the top of the screen are several lines of text describing the key under the mouse (or the most recently typed key.) These lines are: .TP 12 .B KeyCode: This displays the text printed on the physical key, and the keycode generated by that key in hex, decimal, and octal. .TP 12 .B KeySym: This displays the set of KeySyms that this key currently generates. .TP 12 .B ASCII: This displays the ASCII equivalent of this key, taking into account the current modifier keys which are down. .TP 12 .B Modifiers: this displays the modifier bits which this key generates. If a key generates modifiers, it is a chord-key like \fIShift\fP or \fIControl\fP. .TP 12 .B AutoRepeat: Whether the X server claims that this key autorepeats. I say ``\fIclaims\fP'' because the OpenWindows X server is the only one I have encountered for which this information is accurate. The per-key autorepeat flag seems to be almost-universally ignored. .SH COMMANDS There are several buttons in the upper left corner of the window. They are: .TP 4 .B Quit Exits the program. .TP 4 .B Select Keyboard Pops up a dialog box from which you can change which keyboard is displayed. The left column lists the known types of keyboards, and the right column lists the known layouts (mappings) of those keyboards. .TP 4 .B Type At Window After selecting this, you are asked to click on some other window. After doing this, clicking on keys on the keyboard display will simulate key events on the window you selected. Selecting the root window or the \fIxkeycaps\fP window turns this off. If you are using a window manager (for example, .BR twm (1)) in which you can lock the keyboard focus on a window and still click on other windows without having the focus change, then you can accomplish the same thing merely by focusing on another window and clicking on the keys in the \fIxkeycaps\fP window. .TP 4 .B Restore Default Map This command restores the keyboard to its default state. If you execute this command while displaying a keyboard which is not the type of keyboard you are really using, your keymap will be in a nonsensical state. There is no way for \fIxkeycaps\fP to tell what keyboard you are using except by taking your word for it, so don't lie. .TP 4 .B Write Output This command writes an \fIxmodmap\fP input file representing the current state of the keyboard (including all of your changes) to a file in your home directory. Note that this command DOES NOT write out the default keymap for this keyboard type unless you have clicked on Restore Default Map before. The file will be called \fB.xmodmap-\fP\fIhostname\fP, where \fIhostname\fP is the name of the machine you're running on. It will warn you if the file already exists. It prompts you with a dialog box: you can either write an \fIxmodmap\fP file representing the state of every key, or you can write a smaller file which describes only the changes. The idea is that in the appropriate startup script, you would add a line like .EX xmodmap \~/.xmodmap\-\`uname \-n\` .EE in the appropriate init file, so that those keyboard modifications are made each time you log in. (If you're not sure where this command should go, ask your system administrator, as that tends to vary from site to site.) .PP Clicking left on a key simulates a \fBKeyPress\fP event. Releasing the button simulates a \fBKeyRelease\fP event. If you click left on a key and move the mouse while the button is down, \fBKeyPress\fP and \fBKeyRelease\fP events will be simulated on every key you move the mouse over. Think of the mouse as your finger: if you drag the mouse over several keys, they will go down and up in turn. Clicking left on a key which is associated with modifier bits (such as Shift or Control) causes that key to ``lock'' down. Clicking left again releases the key. In this way, you can generate key-chords with the mouse: to generate \fIControl-C\fP, click left on the \fIControl\fP key, and then click on the \fIC\fP key. Click on \fIControl\fP again to turn the control modifier off. Typing a key on the \fIreal\fP keyboard simulates a \fBKeyPress\fP/\fBKeyRelease\fP event pair in the same way that clicking on a key does. You can also combine mouse and keyboard input: for example, if you use the mouse to select the \fIShift\fP key, and type a character, the event that is simulated will have the \fIShift\fP modifier set. And if you hold down the real \fIControl\fP key, and click on the \fIC\fP key in the window, a \fIControl-C\fP event will be generated. (Assuming, that is, that your window manager does not intercept control-left-button for its own purposes.) Clicking right on a key pops up a menu of commands for the given key. They are: .TP 4 .B Exchange Keys After selecting this menu item, you are asked to click on another key. That key and the key on which you brought up the menu will be exchanged. This changes the keyboard mapping immediately. .TP 4 .B Duplicate Key After selecting this menu item, you are asked to click on another key. That key will be made a copy of the key on which you brought up the menu. That is, the two keys will generate the same set of keysyms and modifiers. This changes the keyboard mapping immediately. .TP 4 .B Disable Key The key on which you brought up the menu will be made to generate no keysyms and no modifiers. This changes the keyboard mapping immediately. .TP 4 .B Restore Key To Default The key on which you brought up the menu will be restored to its default state; no other key will be altered. This actually changes the current keyboard mapping. .TP 4 .B Edit KeySyms of Key This pops up the "Edit Key" window, which allows you to arbitrarily change which keysyms and modifiers this key generates. On the left side of the window is the list of the keysyms that this key currently generates. (A key may generate up to eight keysyms; the interpretation of these keysyms is described in the X protocol document, and is summarized later in the \fBKEYSYMS AND KEYCODES\fP section of this man page.) The second column is a multiple-choice list of the eight modifier bits that this key may generate. For example, if you want a key to behave as a ``control'' key, you should select the \fBControl\fP modifier. The third and fourth column (the scrolling lists) are for changing the keysym associated with the key. When you select a keysym-position from the first column, the character set and keysym will be displayed in the scrolling lists. Clicking on a keysym in the ``KeySym'' column will install that keysym in the highlighted slot in the first column. To select a keysym from a different character set, click on the character set name in the second column. (The \fBLatin1\fP and \fBKeyboard\fP character sets are the most commonly used.) At the bottom of the window are three buttons: \fBUndo\fP, \fBAbort\fP, and \fBOk\fP. Clicking on \fBUndo\fP reverts the Edit Key window to the current state of the key in question. \fBAbort\fP closes the Edit Key window without making any changes. \fBOk\fP closes the Edit Key window and installs your changes (the current keyboard mapping is modified.) .SH KEYSYMS AND KEYCODES To effectively edit your keyboard mapping, there are some terms you need to be familiar with: .TP 10 .B \fIKeyCode\fP This is a raw scan-code that is read from the keyboard; each physical key on the keyboard has a different number associated with it; this mapping cannot be changed (but that's ok.) Generally, every keyboard has its own set of KeyCodes, which is why you will probably need to have a different keymap for every system you use. .TP 10 .B \fIKeySym\fP This is a symbol which can be generated by a single press of one key on the keyboard: for example, all letters, numbers, and punctuation are keysyms, and so are more abstract things like ``shift'' and ``control''. Each KeyCode (that is, key on the keyboard) is associated with certain KeySyms. The KeySyms are what give the keys their semantics (and makes the A key generate an A), not the KeyCodes. Usually keys are associated with one or two keysyms, which correspond to the symbols generated when the key is pressed, and when it is pressed while the shift key is held down. There is a special case, which is that if the key contains only one KeySym, and it is a letter, then the Shift key does the obvious thing that one does to letters. .TP 10 .B \fIKeyCap\fP Not to be confused with KeySyms, this refers to the text which is printed on the physical keys: it is immutable (unless you repaint your keyboard...) .TP 10 .B \fIChord\fP This term refers to a set of two or more keys held down simultaniously (by analogy with piano keyboards.) All but one of the keys will generally be Modifier Keys. Sometimes \fIConstellation\fP is used to mean the same thing. .TP 10 .B \fIModifier Key\fP This is a key like shift or control, which is used to alter the interpretation of other keys which are held down at the same time. Generally, pressing a modifier key without also pressing a non-modifier key does nothing. A key is a modifier key if it has a Modifier KeySym on it. (More specifically, if the KeyCode of that key is associated with a Modifier KeySym.) .TP 10 .B \fIModifier KeySym\fP A KeySym is a modifier keysym if it has a Modifier Bit associated with it. But, the rules are a little more complicated than that. It's easier to describe by example: For a key to behave as one expects a shift key to behave, the keycode should have the Shift modifier bit set; and the key should generate one of the keysyms Shift_L and Shift_R. If either of these is not true, the key will not behave as a shift key. Analogously, a control key must have the Control modifier set, and use one of the keysyms Control_L or Control_R. This implies that if you wanted to swap your shift and control keys, it would not be enough to simply swap their modifier bits: you must swap their keysyms as well. If you only swap the modifier bits, it might appear to work at first, but other things would malfunction. Keys like Meta (and Super, Hyper, etc.) are a bit more complicated (see below.) .TP 10 .B \fIModifier Bit\fP Modifier bits are attributes which certain keysyms can have. Some modifier bits have predefined semantics: Shift, Lock, and Control. The remaining modifier bits (Mod1 through Mod5) have semantics which are defined by the keys with which they are associated. That is, the Control modifier means Control if it is attached to Control_L or Control_R, and is illegal elsewhere. But Mod1 means Meta if it is attached to Meta_L or Meta_R; but it would mean Alt if it were attached to Alt_L or Alt_R; or Hyper with Hyper_L or Hyper_R; and so on. (It could not, however, be attached to Control_L, since the Control modifier has already spoken for those keysyms.) If you're thinking that this is all senselessly complicated... you're right. .SH X PROTOCOL DOCUMENT ON KEYMAPS The following is a more precise technical explanation of how keymapping works. This description is from the X Protocol document, and is reprinted here for your convenience: .RS 4 A list of KeySyms is associated with each KeyCode. If that list (ignoring trailing \fBNoSymbol\fP entries) is a single KeySym ``K'', then the list is treated as if it were the list \fB``K NoSymbol K NoSymbol''\fP. If the list (ignoring trailing \fBNoSymbol\fP entries) is a pair of KeySyms ``K1 K2'', then the list is treated as if it were the list \fB``K1 K2 K1 K2''\fP. If the list (ignoring trailing \fBNoSymbol\fP entries) is a triple of KeySyms \fB``K1 K2 K3''\fP, then the list is treated as if it were the list \fB``K1 K2 K3 NoSymbol''\fP. The first four elements of the list are split into two groups of KeySyms. Group 1 contains the first and second KeySyms, Group 2 contains third and fourth KeySyms. Within each group, if the second element of the group is \fBNoSymbol\fP, then the group should be treated as if the second element were the same as the first element, except when the first element is an alphabetic KeySym ``K'' for which both lowercase and uppercase forms are defined. In that case, the group should be treated as if the first element were the lowercase form of ``K'' and the second element were the uppercase form of ``K''. The standard rules for obtaining a KeySym from a KeyPress event make use of only the Group 1 and Group 2 KeySyms; no interpretation of other KeySyms in the list is given here. (That is, the last four KeySyms are unused.) Which group to use is determined by modifier state. Switching between groups is controlled by the KeySym named \fBMode_switch\fP. By attaching that KeySym to some KeyCode and attaching that KeyCode to any one of the modifiers \fBMod1\fP through \fBMod5\fP. This modifier is called the ``group modifier''. For any KeyCode, Group 1 is used when the group modifier is off, and Group 2 is used when the group modifier is on. Within a group, which KeySym to use is also determined by modifier state. The first KeySym is used when the \fBShift\fP and \fBLock\fP modifiers are off. The second KeySym is used when the \fBShift\fP modifier is on, or when the \fBLock\fP modifier is on and the second KeySym is uppercase alphabetic, or when the \fBLock\fP modifier is on and is interpreted as \fBShiftLock\fP. Otherwise, when the \fBLock\fP modifier is on and is interpreted as \fBCapsLock\fP, the state of the \fBShift\fP modifier is applied first to select a KeySym, but if that KeySym is lowercase alphabetic, then the corresponding uppercase KeySym is used instead. .RE .SH ICCCM ON THE MODIFIER MAPPING The following is a more precise technical explanation of how modifier keys are interpreted. This description is from the Inter-Client Communications Conventions Manual, and is reprinted here for your convenience: .RS 4 X11 supports 8 modifier bits, of which 3 are pre-assigned to \fBShift\fP, \fBLock\fP and \fBControl\fP. Each modifier bit is controlled by the state of a set of keys, and these sets are specified in a table accessed by \fBGetModifierMapping()\fP and \fBSetModifierMapping()\fP. A client needing to use one of the pre-assigned modifiers should assume that the modifier table has been set up correctly to control these modifiers. The \fILock\fP modifier should be interpreted as \fICaps Lock\fP or \fIShift Lock\fP according as the keycodes in its controlling set include \fBXK_Caps_Lock\fP or \fBXK_Shift_Lock\fP. Clients should determine the meaning of a modifier bit from the keysyms being used to control it. A client needing to use an extra modifier, for example \fIMeta\fP, should: .RS 2 Scan the existing modifier mappings. If it finds a modifier that contains a keycode whose set of keysyms includes \fBXK_Meta_L\fP or \fBXK_Meta_R\fP, it should use that modifier bit. If there is no existing modifier controlled by \fBXK_Meta_L\fP or \fBXK_Meta_R\fP, it should select an unused modifier bit (one with an empty controlling set) and: .RS 2 If there is a keycode with \fBXL_Meta_L\fP in its set of keysyms, add that keycode to the set for the chosen modifier, then if there is a keycode with \fBXL_Meta_R\fP in its set of keysyms, add that keycode to the set for the chosen modifier, then if the controlling set is still empty, interact with the user to select one or more keys to be \fBMeta\fP. .RE If there are no unused modifier bits, ask the user to take corrective action. .RE .RE The above means that the \fBMod1\fP modifier does not necessarily mean \fIMeta\fP, although some applications (such as \fItwm\fP and \fIemacs 18\fP) assume that. Any of the five unassigned modifier bits could mean Meta; what matters is that a modifier bit is generated by a keycode which is bound to the keysym \fBMeta_L\fP or \fBMeta_R\fP. Therefore, if you want to make a ``meta'' key, the right way is to make the keycode in question generate both a \fBMeta\fP keysym, and some previously-unassigned modifier bit. .SH THE MODE_SWITCH KEYSYM In case the above didn't make sense, what the \fBMode_switch\fP keysym does is, basically, act as an additional kind of shift key. If you have four keysyms attached to the A key, then those four keysyms will be accessed by the chords: A; Shift-A, Mode_Switch-A; and Mode_Switch-Shift-A, respectively. Like any Modifier Key, for Mode_switch to function, it must have a modifier bit attached to it. So, select one of the bits Mod1 through Mod5 (whichever is unused) and attach that to the Mode_switch key. .SH THE MULTI_KEY KEYSYM Not to be confused with Mode_switch, \fBMulti_key\fP allows the input of multiple character sequences that represent a single character (keysym.) A more traditional name for this keysym might have been \fICompose\fP. The \fBMulti_key\fP keysym is \fInot\fP a modifier keysym. That is, for it to function properly, it should not have any modifier bits associated with it. This is because it is not a ``chording'' key: you do not hold it down along with other keys. Rather, you press Multi_key, then release it, then press and release another key, and the two together yield a new character. For example, one traditional binding would be for \fIMulti_key\fP, followed by \fIsingle-quote\fP, followed by \fIA\fP to produce the \fIAacute\fP keysym. Not all vendors support the use of the Multi_key keysym; in particular, Digital, Sun, and HP support it, but the X Consortium does not. (The reason for this, I am told, is that ``Compose'' sequences are considered obsolete; the party line is that you should be using Input Methods to do this.) Whether Multi_key works is a property of the \fBXt\fP library (not the X server) so it's possible that on a single system, Multi_key might work with some applications and not others (depending on how those applications were compiled and linked.) If you use Lucid Emacs or XEmacs, then you can take advantage of Multi_key sequences even if your version of Xt doesn't support it, by loading the \fIx-compose\fP library, which simulates the traditional Xt behavior. For more info, read the commentary at the top of the file "/usr/local/lib/xemacs-*/lisp/x11/x-compose.el". .SH DEAD KEYSYMS Dead keys work similarly Multi_key, but they are two-keystroke commands instead of three. For example, pressing the \fBDead_tilde\fP key, releasing it, then pressing the \fIA\fP key would generate the single keysym \fIAtilde\fP. (They are called ``dead'' keys because they do not, by themselves, insert characters, but instead modify the following character typed. But HP likes to call them ``mute'' instead of ``dead,'' no doubt to avoid frightening the children.) Again, these are not supported by all versions of the Xt library (but can be simulated by XEmacs.) Also note that different vendors have different names for the dead keysyms. For example: depending on your vendor, X server version, and the phase of the moon, you might find that the name of ``dead-tilde'' is Dead_Tilde, Dtilde, SunFA_Tilde, SunXK_FA_Tilde, DXK_tilde, DXK_tilde_accent, hpmute_asciitilde, hpXK_mute_asciitilde, or even XK_mute_asciitilde. It's a mess! You'll have to just try it and see what works, if anything. .SH THINGS YOU CAN'T DO People often ask if xkeycaps or xmodmap can be used to make one key generate a sequence of characters. Unfortunately, no: you can't do this sort of thing by manipulating the server's keymaps. The X keyboard model just doesn't work that way. The way to do such things is to set translation resources on particular widgets. It has to be done on an application-by-application basis. For example, here's how you would convince .BR xterm (1) to insert the string \fInext\fP when you hit F17: .EX xterm*VT100.Translations: #override \\ F17: string("next") .EE Other applications may have different mechanisms for accomplishing the same thing, and some applications might not support it at all. Check the relevant man pages for specifics. Likewise, you can't convince one key to generate another key with modifiers (for example, you can't make F1 behave like Ctrl-A except by using translations, as above.) It is also not possible to make a keyboard key behave as a mouse button. .SH LOSER VENDORS Both HP and S.u.S.E. ship their systems with broken keyboard settings by default. They really should know better, but they don't. As explained above, it is \fIundefined behavior\fP for one modifier bit to be shared between two keys with dissimilar semantics. By default, HP uses \fIMod1\fP for both \fIMeta\fP and \fIMode_switch\fP. This means that it's impossible for a program to tell the difference between, for example, Meta-X and Mode_switch-X. So, to repair this mess, you need to give the Mode_switch key a different modifier bit (\fImod2\fP, for example.) Or, you could just remove it from the keymap entirely. S.u.S.E. Linux is even more screwed up than HP: whereas HP's default keymap contains only one bug, S.u.S.E.'s default map contains three completely different errors! First, their default keymap has the \fIControl\fP modifier attached to both the \fIControl\fP key and the \fIMulti_key\fP. This is completely crazy, because not only is \fIMulti_key\fP not a control key, it's not even a \fIchording\fP key! It mustn't have any modifier bits attached to it at all. Second, they attach \fIMod1\fP to \fIMeta_L\fP and also to \fIAlt_R\fP. Some people think that ``meta'' and ``alt'' are synonyms, but the fact is that the X Window System does not agree. Those are distinct keys. It's possible to have both ``meta'' and ``alt'' keys on the keyboard at the same time, and to have programs interpret them distinctly. But of course only if they don't bogusly share the same modifier bit, making the interpretation of that bit be ambiguous. Third, they attach \fIMod5\fP to both \fIScroll_Lock\fP and to \fIHyper_R\fP, which is wrong for reasons that should by now be obvious. The easiest way to fix your S.u.S.E. configuration is to: remove \fIcontrol\fP from \fIMulti_key\fP; change the left Alt key to generate \fIAlt_L\fP instead of \fIMeta_L\fP; and delete the \fIHyper_R\fP keysym from the keyboard. If you have any pull with these vendors, I encourage you to encourage them to get their act together. .SH X RESOURCES .I XKeyCaps understands all of the core resource names and classes as well as: .TP 4 .B *Keyboard.keyboard\fP (class \fBKeyboard\fR)\fP Which keyboard to display; this is the same as the \fB\-keyboard\fP command-line option. If this is not specified, the default keyboard is guessed, based on the server's vendor identification string. .TP 4 .B *Keyboard.Keyboard.selectCursor\fP (class \fBCursor\fR)\fP The cursor to use when selecting a key or window with the mouse. The default is the \fIcrosshair\fP cursor. .TP 4 .B *Keyboard.Key.highlight\fP (class \fBBackground\fR)\fP The color to use to highlight a key when it is depressed. If this is the same as the background color of the key, it is highlighted with a stipple pattern instead. .TP 4 .B *Keyboard.Key.keycapColor\fP (class \fBForeground\fR)\fP The color to paint the keycap string. .TP 4 .B *Keyboard.Key.keycodeColor\fP (class \fBForeground\fR)\fP The color to paint the keycode number. .TP 4 .B *Keyboard.Key.borderColor\fP (class \fBColor\fR)\fP The color of the box around each key. .TP 4 .B *Keyboard.Key.keycapFont\fP (class \fBFont\fR)\fP The font to use to draw the keycap string. .TP 4 .B *Keyboard.Key.keycodeFont\fP (class \fBFont\fR)\fP The font to use to draw the keycode number. .TP 4 .B *Keyboard.Key.borderWidth\fP (class \fBInt\fR)\fP The thickness of the box around each key. .TP 4 .B *Keyboard.Key.gutterWidth\fP (class \fBInt\fR)\fP How many pixels to leave between this key and it's neighbors to the right and bottom. .PP The class of each key widget is ``Key,'' as you see above. The name of each key is the string(s) printed on its face. So if you wanted (for example) the \fBShift\fP keys to have wider borders, you could specify that with .EX xkeycaps*Keyboard.Shift.borderWidth: 2 .EE .SH ACTIONS It is possible to rebind the actions which happen when a key or mouse button is pressed or released. These actions are available on the \fBKeyboard\fP widget: .TP 4 .B "HighlightKey(\fIcondition\fP, \fIarg\fP)" This places the key in question in the highlighted state. If no \fIargument\fP is passed to this action, then the key is determined by the event which invoked this action. If this action is invoked by a \fBKeyPress\fP or \fBKeyRelease\fP event, the key-widget is the key corresponding to the key that the event represents. If it is a \fBButtonPress\fP, \fBButtonRelease\fP, or \fBPointerMotion\fP event, then the key-widget is the one under the mouse. The \fIargument\fP may be one of the words \fImouse\fP, \fIhighlighted\fP, or \fIdisplayed\fP, meaning the key under the mouse, the key most recently highlighted, or the key currently being described in the ``Info'' area at the top of the window, respectively. The \fIcondition\fP may be one of the words \fIifmod\fP, \fIunlessmod\fP, \fIiftracking\fP, \fIunlesstracking\fP, \fIifhighlighted\fP, or \fIunlesshighlighted\fP. If \fIifmod\fP was specified and the key in question (as determined by the \fIargument\fP or by the invoking event) is not a modifier key, then this action is not executed. The \fIunlessmod\fP condition is the opposite. The \fIiftracking\fP and \fIunlesstracking\fP conditions allow you to do some actions only if (or unless) the key is being ``tracked'' with the mouse (see below.) The \fIifhighlighted\fP and \fIunlesshighlighted\fP actions allow you to do some things only if (or unless) the key in question is currently in the highlighted state. .TP 4 .B "UnhighlightKey(\fIcondition\fP, \fIarg\fP)" This places the key in question in the unhighlighted state. Arguments are as above. .TP 4 .B "ToggleKey(\fIcondition\fP, \fIarg\fP)" This makes the key be highlighted if it is unhighlighted, or unhighlighted if it is highlighted. Arguments are as above. .TP 4 .B "SimulateKeyPress(\fIcondition\fP, \fIarg\fP)" This action makes a \fBKeyPress\fP event corresponding to the key be synthesized on the focus window. Arguments are as above. .TP 4 .B "SimulateKeyRelease(\fIcondition\fP, \fIarg\fP)" This action makes a \fBKeyRelease\fP event corresponding to the key be synthesized on the focus window. Arguments are as above. .TP 4 .B "TrackKey(\fIcondition\fP, \fIarg\fP)" This makes the key in question begin being ``tracked'', which means that moving the mouse off of it will simulate a button-release action, and then will simulate a button-press action on the key that the mouse has moved on to. This action may only be invoked from a \fBButtonPress\fP or \fBButtonRelease\fP event. .TP 4 .B "UntrackKey(\fIcondition\fP, \fIarg\fP)" This makes the key in question no longer be ``tracked.'' .TP 4 .B "DescribeKey(\fIcondition\fP, \fIarg\fP)" This action causes the key and its bindings to be displayed in the ``Info'' section at the top of the window, if it is not already described there. .PP The default actions for the \fBKeyboard\fP widget are: .EX : DescribeKey(mouse,unlessTracking) \\n\\ \\ : HighlightKey() \\ DescribeKey(unlessMod) \\ DescribeKey(displayed) \\ SimulateKeyPress() \\n\\ \\ : UnhighlightKey() \\ DescribeKey(displayed) \\ SimulateKeyRelease() \\n\\ \\ : HighlightKey(unlessMod) \\ ToggleKey(ifMod) \\ TrackKey(unlessMod) \\ SimulateKeyPress(ifHighlighted) \\ SimulateKeyRelease(unlessHighlighted) \\n\\ \\ : UntrackKey(highlighted) \\ SimulateKeyRelease(highlighted,unlessMod) \\ UnhighlightKey(highlighted,unlessMod) \\n\\ \\ : XawPositionSimpleMenu(keyMenu) \\ MenuPopup(keyMenu) \\n .EE If you don't want a key to be described each time the mouse moves over it, you can remove the \fB\fP action. In that case, you should probably add \fBDescribeKey()\fP to the \fB\fP and \fB\fP actions. If you want the key under the mouse to be described even while the mouse is moving with a button down, then remove the \fIunlessTracking\fP parameter from the \fBDescribeKey\fP action bound to \fB\fP. If you don't want the modifier keys to toggle, then change the \fBButton1\fP actions to .EX xkeycaps*Keyboard.actions: #override \\ : HighlightKey() \\ TrackKey(unlessmod) \\ SimulateKeyPress() \\n\\ : UntrackKey(highlighted) \\ SimulateKeyRelease(highlighted) \\ UnhighlightKey(highlighted) \\n .EE Remember that these actions exist on the \fIKeyboard\fP widget, not on the \fIKey\fP widgets. If you add actions to the \fIKey\fP widgets, things will malfunction. .SH ENVIRONMENT .PP .TP 4 .B DISPLAY to get the default host and display number. .TP 4 .B XENVIRONMENT to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property. .TP 4 .B XKEYSYMDB to get the location of the \fBXKeysymDB\fP file, which lists the vendor-specific keysyms. .SH UPGRADES The latest version can always be found at http://ftp.debian.org/debian/pool/main/x/xkeycaps/ .SH SEE ALSO .BR X (1), .BR xmodmap (1), .BR xset (1), .BR xdpyinfo (1) .SH BUGS Because this program has default colors that aren't "black" and "white", the \fB\-rv\fP command-line option doesn't work. But the incantation .EX % xkeycaps \-fg white \-bg black \-bd white .EE will do what you want on a monochrome screen. The NeXT default map is believed to be incorrect; someone with access to a NeXT will need to debug this. There is no portable way to be sure what keyboard is being used; this means it will often not default to the correct one, and if the user makes changes to the keymap while displaying a keyboard which is not the right one, very bad things can happen. If you depress more than a dozen keys at a time, many X servers get confused, and don't transmit enough \fBKeyRelease\fP events; the result of this is that the \fIxkeycaps\fP keys will get ``stuck'' until they are pressed again. (Don't go like that.) The \fBAutoRepeat\fP flag is apparently useless on all X servers except the OpenWindows one (I've never seen another server that didn't ignore it.) You don't get to select from the set of \fBVendor\fP keysyms (those keysyms which are defined in the \fBXKeysymDB\fP file) unless you're running X11r5 or newer. NCD's non-US keyboards do not use the standard R4/R5 mechanism for attaching more than two keysyms to one key; instead of simply having three or four keysyms attached to the keycode in question, the Compose key changes the actual keycode of the key (it turns its high bit on.) The xkeycaps program doesn't really understand this. Someone from NCD support told me that in future releases they will do things the R4/R5 way instead of the way they do things now, so hacking xkeycaps to understand the current behavior is probably not worth the effort. The \fIType at Window\fP command doesn't seem to work on the WreckStation version of XTerm. I assume some variation of the normal XTerm's \fIAllow SendEvents\fP command is necessary. If you can't select anything from the right-button popup menu, it might be because you have NumLock or CapsLock down. I'm not sure how to fix this, it seems to be some dumb Xt thing. If the popup menu is always greyed out, or doesn't correspond to the key that you clicked on, it might be because you're running \fIxswarm\fP, an old version of \fIxautolock\fP, or some other program that antisocially interferes with event-propagation. (Don't go like that.) Because of the nonlinear way in which this program uses \fBXLookupString\fP, there's no sensible way for it to do compose processing, and show you the results of ``dead'' key or Multi_key sequences. It needs to know about more keyboard types (and no doubt always will...) L-shaped keys aren't drawn accurately. We should use the Shape extension for that. In addition to displaying the ASCII version of the given character, it should display the corresponding character in the character set (Latin2, Kana, Greek, etc.) This would require having fonts for all of those character sets, though, and as far as I can tell, they don't all come standard. When running on a Sun and talking to an OpenWindows server, we should parse the appropriate file from $OPENWINHOME/etc/keytables/ to determine the default keymap. No doubt there are system-specific ways of doing this in other environments as well. The HP C compiler complains about "invalid pointer initialization" in the header files. This is a bug in that compiler, not in xkeycaps. This compiler bug goes away if you invoke HP's cc with the the -Aa (ANSI) option. The \fIxmodmap\fP program still sucks. Since its \fIADD\fP and \fIREMOVE\fP directives take keysyms as arguments instead of keycodes, there are things that you can do with \fIXKeyCaps\fP that you can't represent in an \fIxmodmap\fP script (at least, not without great pain.) The \fIxmodmap\fP program has no commands for changing the autorepeat status of keys, so that information is not written in the output. Perhaps we could write out an appropriate \fIxset\fP command instead. (For example, to turn on autorepeat on PgUp (which happens to have key code 103) on Solaris, you would do: "xset r 103".) Some versions of OpenWound use a nonstandard mechanism for specifying which keys have toggle (lock-like) behavior (whereas most other X servers base this behavior on the keysym: if Caps_Lock or Shift_Lock is generated, the key locks, otherwise it does not.) \fIXKeyCaps\fP doesn't know how to change the lock status on these servers. This is because I don't know how, either. If you know what system calls are necessary to hack this behavior, tell me. The \fIXKB\fP interface of X11R6 looks to provide most of the information which xkeycaps needs to know, but I haven't had time to investigate this yet. .SH COPYRIGHT Copyright \(co 1991-1999 by Jamie Zawinski. Copyright \(co 2005-2006 by Christoph Berg. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. .SH AUTHOR Jamie Zawinski , 10-nov-91. \fBPlease send in any changes you make!\fP Especially new keyboards. The strength of this program lies in the fact that it knows about so many different keyboards, thanks to the hundreds contributions received over the years. If you have to make your own modifications, please do your part! Send the changes back to to get them incorporated into a future release. .TP 4 Thanks to: Jonathan Abbey, Alon Albert, Vladimir Alexiev, David Arnold, David Axmark, Ruediger Back, Pedro Bayon, Corne Beerse, Eric Benson, Christoph Berg, Markus Berndt, Roger Binns, Stefan Bjornelund, black@westford.ccur.com, Mark Borges, Volker Bosch, Dave Brooks, Lorenzo M. Catucci, Michel Catudal, Francois Regis Colin, John Coppens, Cesar Crusius, Bart Van Cutsem, Matthew Davey, Christopher Davis, Albrecht Dress, Kristian Ejvind, Michael Elbel, Joe English, Eric Fischer, Morgan Fletcher, Olivier Galibert, Carson Gaspar, Andre Gerhard, Daniel Glastonbury, Christian F. Goetze, Dan R. Greening, Edgar Greuter, John Gotts, Berthold Gunreben, Jens Hafsteinsson, Adam Hamilton, Magnus Hammerin, Kenneth Harker, Ben Harris, Mikael Hedin, Tom Ivar Helbekkmo, Mick Hellstrom, Neil Hendin, Andre Heynatz, Mike Hicks, Alan Ho, Hide Horiuchi, Dirk Jablonowski, Alan Jaffray, Anders Wegge Jakobsen, Chris Jones, Jorgen Jonsson, Peter Kaiser, Heikki Kantola, Tufan Karadere, Benedikt Kessler, Philippe Kipfer, Edwin Klement, John Knox, Haavard Kvaalen, Frederic Leguern, Simon Leinen, Michael Lemke, Tor Lillqvist, Torbjorn Lindgren, Tony Lindstrom, Richard Lloyd, Ulric Longyear, Ulf Magnusson, Cliff Marcellus, John A. Martin, Tom McConnell, Grant McDorman, Hein Meling, Jason Merrill, Aleksandar Milivojevic, Manuel Moreno, Ken Nakata, Pekka Nikander, Todd Nix, Leif Nixon, Christian Nybo, Antoni Pamies Olive, Edgar Bonet Orozco, Steven W. Orr, Martin Ouwehand, Daniel Packman, John Palmieri, Chris Paulson-Ellis, Antony Pavloff, Eduardo Perez, Michael Piotrowski, Andrej Presern, Jeremy Prior, Dominique Quatravaux, Matthias Rabe, Garst R. Reese, Peter Remmers, Todd Richmond, Ken Rose, Pavel Rosendorf, Gael Roualland, Lucien Saviot, Johannes Schmidt-Fischer, Andreas Schuch, Larry Schwimmer, Joe Siegrist, Jarrod Smith, Tom Spindler, Robin Stephenson, Joerg Stippa, D. Stolte, A. A. Stoorvogel, Juergen Stuber, Markus Stumpf, Jeffrey Templon, Jay Thorne, Anthony Thyssen, Christoph Tietz, tkil@scrye.com, Juha Vainikka, Poonlap Veeratanabutr, Ivo Vollrath, Gord Vreugdenhil, Ronan Waide, Jan Wedekind, Bjorn Wennberg, Mats Wichmann, Stephen Williams, Barry Warsaw, Steven Winikoff, Carl Witty, Stephen Wray, Endre Witzoe, Kazutaka Yokota, Yair Zadik, and Robert Zwickenpflug. xkeycaps-2.47/KeyWidgetP.h0000644000175000017500000000510010206731453013211 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #ifndef _KeyWidgetP_H_ #define _KeyWidgetP_H_ #include #include #include #include "KeyWidget.h" #include "xkeycaps.h" typedef struct { void (* highlight_key) P((KeyWidget)); void (* dehighlight_key) P((KeyWidget)); } KeyClassPart; /* Full class record declaration */ typedef struct _KeyClassRec { CoreClassPart core_class; KeyClassPart key_class; } KeyClassRec; extern KeyClassRec keyClassRec; /* New fields for the Key widget record */ typedef struct { int gutter_width; Pixel highlight_pixel, background_pixel; Pixel keycap_pixel, keycode_pixel; XFontStruct *keycap_font, *keycode_font, *cursor_font; GC keycap_gc, keycode_gc, cursor_gc; String key_name; int highlighted_p; /* Whether it's drawn highlighted now */ unsigned short x, y; /* Position in keyboard units */ int key_highlighted; /* Whether this key (the real one) is down * This is duplicated in kbd->key_state_vector */ int mouse_highlighted; /* Whether a button is depressed on this */ unsigned long modifier_bits; /* Which modifiers this key CURRENTLY sets */ int auto_repeat_p; /* Whether this key autorepeats */ /* These slots are initialized when a keyboard is selected, and are not changed at run-time. They are copies of what came from the various keyboard definition files. */ unsigned short width; /* Width of the key in some arbitrary units */ unsigned short height; /* Height of the key in some arbitrary units */ const char *keysym_1; const char *keysym_2; const char *keysym_3; KeyCode keycode; /* This never changes */ KeySym default_keysyms[8]; /* This never changes */ unsigned long default_mods; /* never changes, unlike modifier_bits slot */ } KeyPart; typedef struct _KeyRec { /* full instance record */ CorePart core; KeyPart key; } KeyRec; struct KeyWidget_row { /* like keyboard_row_geometry, but of KeyWidgets. */ unsigned int nkeys; unsigned int height; KeyWidget *keys; }; #endif /* _KeyWidgetP_H_ */ xkeycaps-2.47/hpux.c0000644000175000017500000001110710206731453012160 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996, 1997 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ /* HPUX-specific stuff: if we're on console, we can query the keyboard hardware directly to find out what kind it is (assuming HIL driver.) By Rens Troost, derived from sunOS.c. If the HIL device can't be opened, try to get the keyboard type and language from /etc/kbdlang (it's probably a PS-DIN-style keyboard then) and return the name with a prefix of "HP-". By Michael Piotrowski 1997-05-29 */ #ifdef _HPUX_SOURCE /* whole file */ #ifdef __STDC__ #include #include extern char *strdup (const char *); #endif #include #include #include #include #include #include #undef P #ifdef __STDC__ # define P(x)x #else # define P(x)() #endif char * xkeycaps_guess_local_keyboard_type P((void)) { int kbdfd; int arg1 = -1, arg2 = 0; char buf [255]; char idcode = -1; char language = 0; if ((kbdfd = open ("/dev/hilkbd", O_WRONLY)) <= 0) { FILE *kbdlangfile = fopen("/etc/kbdlang", "r"); if (!kbdlangfile) return 0; strcpy (buf, "HP-"); fgets (buf + strlen(buf), sizeof(buf), kbdlangfile); fclose (kbdlangfile); return strdup(buf); } if (ioctl (kbdfd, KBD_READ_LANGUAGE, &language)) { close (kbdfd); return 0; } ioctl (kbdfd, KBD_READ_CONFIG, &idcode); idcode &= KBD_IDCODE_MASK; close (kbdfd); switch (idcode) { case KBD_IDTYPE_ITF: switch (language) { case KBD_JAPANESE: return "HP-ITF-Japanese"; case KBD_SWISS_FRENCH: return "HP-ITF-Swiss/French"; case KBD_PORTUGESE: return "HP-ITF-Portugese"; case KBD_ARABIC: return "HP-ITF-Arabic"; case KBD_HEBREW: return "HP-ITF-Hebrew"; case KBD_CANADIAN_ENGLISH: return "HP-ITF-Canadian/English"; case KBD_TURKISH: return "HP-ITF-Turkish"; case KBD_GREEK: return "HP-ITF-Greek"; case KBD_THAI: return "HP-ITF-Thai"; case KBD_ITALIAN: return "HP-ITF-Itailan"; case KBD_HANGUL: return "HP-ITF-Hangul"; case KBD_DUTCH: return "HP-ITF-Dutch"; case KBD_SWEDISH: return "HP-ITF-Swedish"; case KBD_GERMAN: return "HP-ITF-German"; case KBD_CHINESE_PRC: return "HP-ITF-Chinese/PRC"; case KBD_CHINESE_ROC: return "HP-ITF-Chinese/ROC"; case KBD_SWISS_FRENCH_II: return "HP-ITF-Swiss/French-2"; case KBD_SPANISH: return "HP-ITF-Spanish"; case KBD_SWISS_GERMAN_II: return "HP-ITF-Swiss/German-2"; case KBD_BELGIAN: return "HP-ITF-Belgian"; case KBD_FINNISH: return "HP-ITF-Finnish"; case KBD_UNITED_KINGDOM: return "HP-ITF-UK"; case KBD_FRENCH_CANADIAN: return "HP-ITF-French/Canadian"; case KBD_SWISS_GERMAN: return "HP-ITF-Swiss/German"; case KBD_NORWEGIAN: return "HP-ITF-Norwegian"; case KBD_FRENCH: return "HP-ITF-French"; case KBD_DANISH: return "HP-ITF-Danish"; case KBD_KATAKANA: return "HP-ITF-Katakana"; case KBD_LATIN_AMERICAN: return "HP-ITF-Latin-American"; case KBD_UNITED_STATES: return "HP-ITF"; /* #### Unfortunately, the HPPC keyboard reports itself as #### a KBD_IDTYPE_ITF/KBD_UNITED_STATES, which is totally #### inappropriate, since it is *not* the same keyboard!! */ default: sprintf (buf, "HP-ITF-%d", language); return strdup (buf); } case KBD_IDTYPE_98203C: switch (language) { case KBD_98203C_UNITED_STATES: return "HP-98203C"; case KBD_98203C_FRENCHQ: return "HP-98203C-FrenchQ"; case KBD_98203C_GERMAN: return "HP-98203C-German"; case KBD_98203C_FINNISH: return "HP-98203C-Finnish"; case KBD_98203C_SPANISH: return "HP-98203C-Spanish"; case KBD_98203C_KATAKANA: return "HP-98203C-Katakana"; case KBD_98203C_FRENCHA: return "HP-98203C-FrenchA"; default: sprintf (buf, "HP-98203C-%d", language); return strdup (buf); } default: if (language) sprintf (buf, "HP-%d-%d", idcode, language); else sprintf (buf, "HP-%d", idcode); return strdup (buf); } } #ifdef DEBUG void main () { printf ("%s\n", xkeycaps_guess_local_keyboard_type ()); exit (0); } #endif /* DEBUG */ #endif /* _HPUX_SOURCE */ xkeycaps-2.47/kbddef.h0000644000175000017500000000717410206731453012431 0ustar cbcb/* xkeycaps, Copyright (c) 1993, 1996 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #ifndef _KBDDEF_H_ #define _KBDDEF_H_ #ifndef __STDC__ # undef const # define const /**/ #endif #include /* For KeySym and KeyCode */ /* There are several pieces of data that make up a single keyboard instance: - the physical shape and positions of the keys - the strings which are printed on those physical keys - the X keycodes which those keys generate - the X keysyms which are (by default) associated with those keycodes All of these data are represented by different structures, to enable maximal sharing among keyboard definitions; for example, different countries have different keysyms loaded in by default and different strings printed on the keys, and many different vendors ship keyboards which physically resemble IBM keyboards, but have completely different keycode maps. */ struct keyboard_instance { const char *short_name; /* ID for the "-kbd" command-line option. */ const char *vendor; /* Who makes the computer that this keyboard usually comes with (e.g., "Sun", "NCD", "PC".) */ const char *kbd_style; /* What this particular instance is named (e.g., "type-2", "104-key", "LK401".) */ const char *server_id; /* What X-server-vendor ID string might indicate that this keyboard is the most likely one. */ const struct keyboard_geometry *keyboard_geometry; /* physical layout */ const struct key_strings *key_strings; /* printed surface */ const KeyCode *keycodes; /* hardware codes */ const struct default_keycode_map *default_keycode_map; /* default xmodmap */ int key_strings_count; int keycodes_count; int default_keycode_map_count; }; /* These three structures represent the physical shape of a keyboard. */ struct keyboard_geometry { unsigned int nrows; const struct keyboard_row_geometry *rows; /* the rows of keys */ int default_scale; int horiz_border, vert_border; }; struct keyboard_row_geometry { unsigned int nkeys; unsigned int height; const struct key_geometry *keys; /* the keys in this row */ }; struct key_geometry { unsigned short width; /* Width of the key in some arbitrary units */ unsigned short height; /* Height of the key in some arbitrary units */ /* Other interesting info would be color (whether it's darker than the other keys, etc) and whether it's "L-shaped".) */ }; /* This structure represents the strings which are physically printed on the keys; there may be up to three strings per key. */ struct key_strings { const char *keysym_1; const char *keysym_2; const char *keysym_3; }; /* The set of keycodes generated by a keyboard is represented by a simple array of KeyCodes, so there's no structure for it. */ /* This structure represents the keysyms associated with a keycode, that is the default key and modifier map. */ struct default_keycode_map { KeyCode keycode; unsigned long default_mods; const KeySym keysyms[8]; }; #define ROW(name, height) \ { sizeof (name) / sizeof (struct key_geometry), (height), name } #define EMPTYROW(height) \ { 0, height, 0 } extern const struct keyboard_instance all_kbds []; #endif /* _KBDDEF_H_ */ xkeycaps-2.47/guess.c0000644000175000017500000003245210206731453012330 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. * * * TODO: * * Ronan Waide points out that on certain NCD servers, "xprop -root" reveals: * * _NCD_KEYBOARD_TYPE(STRING) = "N-107 US" * * It would be good if we noticed that and acted on it. */ #include #include #include #include #include "KbdWidgetP.h" #include "KeyWidgetP.h" #include "kbddef.h" /* Strict versus relaxed ANSI modes tend to be random about these... */ #if defined (__unix) && !defined(unix) # define unix #endif #if defined (__hpux) && !defined(hpux) # define hpux #endif #if defined (__sun) && !defined(sun) # define sun #endif #if defined(sun) || defined(hpux) # include static int display_is_on_console_p P((Display*)); #endif static char *guess_tek_keyboard_type P((Display*)); static char *tek_kbd_type, *tek_kbd_layout, *tek_kbd_nationality; static char *tek_kbd_lk401; extern void make_long_kbd_name P((const char *, const char *, char *)); void print_kbd_choices P((void)) { int i = 0; char buf[255]; while (all_kbds [i].short_name) { make_long_kbd_name(all_kbds[i].vendor, all_kbds[i].kbd_style, buf); fprintf (stderr, " %s%s\t- %s\n", all_kbds [i].short_name, (strlen (all_kbds [i].short_name) < 4 ? "\t" : ""), buf); i++; } } /* Make sure nobody messed up the data in all-kbds.h... */ static void check_kbds P((void)) { int i = 0; char this[255], that[255]; while (all_kbds [i].short_name) { int j = i + 1; make_long_kbd_name(all_kbds[i].vendor, all_kbds[i].kbd_style, this); while (all_kbds [j].short_name) { const char *loser1 = 0, *loser2 = 0; make_long_kbd_name(all_kbds[j].vendor, all_kbds[j].kbd_style, that); if (!strcmp (all_kbds [i].short_name, all_kbds [j].short_name)) loser1 = "short names", loser2 = all_kbds [j].short_name; else if (!strcmp (this, that)) loser1 = "long names", loser2 = strdup(that); else if (all_kbds [i].server_id && all_kbds [j].server_id && !strcmp (all_kbds [i].server_id, all_kbds [j].server_id)) loser1 = "server ids", loser2 = all_kbds [j].server_id; j++; if (loser1) fprintf (stderr, "%s: DATA ERROR: duplicate %s in all-kbds.h for \"%s\"\n", progname, loser1, loser2); } i++; } } #define strprefix(target,prefix) \ ((strlen ((target)) >= strlen ((prefix))) && \ !(strncmp ((target), (prefix), strlen ((prefix))))) char choose_kbd_message [2048]; int choose_kbd_dubious_p; const struct keyboard_instance * #ifdef __STDC__ choose_kbd (Display *dpy, const char *kbd_name) #else /* ! __STDC__ */ choose_kbd (dpy, kbd_name) Display *dpy; const char *kbd_name; #endif /* ! __STDC__ */ { char *vendor = XServerVendor (dpy); tek_kbd_type = 0; tek_kbd_layout = 0; tek_kbd_nationality = 0; tek_kbd_lk401 = 0; choose_kbd_message [0] = 0; choose_kbd_dubious_p = 0; check_kbds (); #ifdef sun if ((!kbd_name || !*kbd_name) && display_is_on_console_p (dpy) && (kbd_name = xkeycaps_guess_local_keyboard_type ())) { /* evil hack - append "OW" to the default keyboard name if running OpenWindows, since the default keymaps are different. Likewise for R6, since the default keymaps AND keycodes have changed there! Arrrrgh! */ char *suffix = 0; if (!strcmp (vendor, "X11/NeWS - Sun Microsystems Inc.") || /* The vendor ID changed in OpenWound 3.4. */ !strcmp(vendor, "Sun Microsystems, Inc.")) suffix = "OW"; else if (!strcmp (vendor, "X Consortium")) /* In R6, the vendor id is "X Consortium". In R4 and R5, it was "MIT X Consortium". */ suffix = "R6"; if (suffix) { int L = strlen (kbd_name); char *s = (char *) calloc (L + 4, 1); strncpy (s, kbd_name, L); if (L > 6) strcat (s + L, "-"); strcat (s + L, suffix); kbd_name = s; } sprintf (choose_kbd_message, "\nkeyboard hardware claims to be \"%s\".\n", /*progname,*/ kbd_name); } else #endif /* sun */ #ifdef hpux if ((!kbd_name || !*kbd_name) && display_is_on_console_p (dpy) && (kbd_name = xkeycaps_guess_local_keyboard_type ())) { /* we're done */ ; } else #endif /* hpux */ if (!kbd_name || !*kbd_name) { kbd_name = 0; if (strprefix (vendor, "Tektronix, Inc")) /* Tek cleverly tells us what the keyboard is via X properties. */ kbd_name = guess_tek_keyboard_type (dpy); else { /* Search all_kbds for an instance that matches the vendor id. */ int i = 0; const struct keyboard_instance *kbd; while ((kbd = &all_kbds [i++]), kbd->short_name) if (kbd->server_id && strprefix (vendor, kbd->server_id)) break; kbd_name = kbd->short_name; } if (kbd_name) { char *out = choose_kbd_message; choose_kbd_dubious_p = 1; sprintf (out, "\nA keyboard type was not specified. Based on the vendor\n\ identification string of the display \"%s\", which is\n \"%s\"\n", /* progname, */ DisplayString (dpy), vendor); out += strlen (out); if (tek_kbd_type && tek_kbd_lk401 && tek_kbd_nationality) sprintf (out, " and the root window's _TEK_KEYBOARD_TYPE, _TEK_KEYBOARD_LK401, and\n\ _TEK_KEYBOARD_NATIONALITY properties, which are %s, %s, and %s,\n", tek_kbd_type, tek_kbd_lk401, tek_kbd_nationality); else if (tek_kbd_type && tek_kbd_lk401) sprintf (out, " and the root window's _TEK_KEYBOARD_TYPE, _TEK_KEYBOARD_LK401\n\ properties, which are %s and %s,\n", tek_kbd_type, tek_kbd_lk401); else if (tek_kbd_type && tek_kbd_layout && tek_kbd_nationality) sprintf (out, " and the root window's _TEK_KEYBOARD_TYPE, _TEK_KEYBOARD_LAYOUT, and\n\ _TEK_KEYBOARD_NATIONALITY properties, which are %s, %s, and %s,\n", tek_kbd_type, tek_kbd_layout, tek_kbd_nationality); else if (tek_kbd_type && tek_kbd_layout) sprintf (out, " and the root window's _TEK_KEYBOARD_TYPE\ and _TEK_KEYBOARD_LAYOUT\n properties, which are \"%s\" and \"%s\",\n", tek_kbd_type, tek_kbd_layout); else if (tek_kbd_type) sprintf (out, " and the root window's _TEK_KEYBOARD_TYPE\ property, which is \"%s\",\n", tek_kbd_type); out += strlen (out); sprintf (out, " we will assume that you are using a keyboard of type \"%s\".", kbd_name); } #ifdef DEFAULT_KBD_NAME else { kbd_name = DEFAULT_KBD_NAME; if (kbd_name) { choose_kbd_dubious_p = 1; sprintf (choose_kbd_message, "\nA keyboard type was not specified, and the vendor ID string,\n\ \"%s\"\n\ is not recognised. We will guess that you are using a keyboard of\n\ type \"%s\".", /* progname, */ vendor, kbd_name); } } #endif } { int i = 0; const struct keyboard_instance *kbd; while ((kbd = &all_kbds [i++]), kbd->short_name) { char buf[255]; if (string_equal (kbd_name, kbd->short_name)) return kbd; make_long_kbd_name(kbd->vendor, kbd->kbd_style, buf); if (string_equal (kbd_name, buf)) return kbd; } choose_kbd_dubious_p = 1; fprintf (stderr, "%s: unknown keyboard type \"%s\".\n\ Please specify the -keyboard option with one of the following names:\n\n", progname, (kbd_name ? kbd_name : "")); print_kbd_choices (); exit (-1); } } #if defined(sun) || defined(hpux) static int #ifdef __STDC__ display_is_on_console_p (Display *display) #else /* ! __STDC__ */ display_is_on_console_p (display) Display *display; #endif /* ! __STDC__ */ { int not_on_console = 1; char *dpy = DisplayString (display); char *tail = (char *) strchr (dpy, ':'); if (! tail || strncmp (tail, ":0", 2)) not_on_console = 1; else { char dpyname[255], localname[255]; strncpy (dpyname, dpy, tail-dpy); dpyname [tail-dpy] = 0; if (!*dpyname || !strcmp(dpyname, "unix") || !strcmp(dpyname, "localhost")) not_on_console = 0; else if (gethostname (localname, sizeof (localname))) not_on_console = 1; /* can't find hostname? */ else { /* We have to call gethostbyname() on the result of gethostname() because the two aren't guarenteed to be the same name for the same host: on some losing systems, one is a FQDN and the other is not. Here in the wide wonderful world of Unix it's rocket science to obtain the local hostname in a portable fashion. And don't forget, gethostbyname() reuses the structure it returns, so we have to copy the fucker before calling it again. Thank you master, may I have another. */ struct hostent *h = gethostbyname (dpyname); if (!h) not_on_console = 1; else { char hn [255]; struct hostent *l; strcpy (hn, h->h_name); l = gethostbyname (localname); not_on_console = (!l || !!(strcmp (l->h_name, hn))); } } } return !not_on_console; } #endif /* sun || hpux */ static char * #ifdef __STDC__ get_prop_string (Display *dpy, char *prop) #else /* ! __STDC__ */ get_prop_string (dpy, prop) Display *dpy; char *prop; #endif /* ! __STDC__ */ { Atom prop_atom; unsigned char *value; Boolean status; Atom actual_type; int actual_format; unsigned long nitems, bytes_after; prop_atom = XInternAtom (dpy, prop, True); if (prop_atom == None) return 0; status = XGetWindowProperty (dpy, DefaultRootWindow (dpy), prop_atom, 0L, 6L, False, XA_STRING, &actual_type, &actual_format, &nitems, &bytes_after, &value); if (status != Success || value == 0 || actual_type != XA_STRING || actual_format != 8 || bytes_after != 0) return 0; else return (char *) value; } static char * #ifdef __STDC__ guess_tek_keyboard_type (Display *dpy) #else /* ! __STDC__ */ guess_tek_keyboard_type (dpy) Display *dpy; #endif /* ! __STDC__ */ { /* Tek stores the keyboard type on a property on the root window. The _TEK_KEYBOARD_TYPE property is ibm101, ibm102, or vt200. If _TEK_KEYBOARD_TYPE is vt200, then _TEK_KEYBOARD_LAYOUT is ultrix, vms, x_esc, or x_f11. Also, _TEK_KEYBOARD_NATIONALITY is usascii, uk, french, swedish, danish, norwegian, german, italian, spanish, swiss-german, katakana, or finnish. There is also _TEK_KEYBOARD_LK401 which is used to identify the LK401-style keyboards. */ char buf [255]; tek_kbd_type = get_prop_string (dpy, "_TEK_KEYBOARD_TYPE"); if (!tek_kbd_type || !strcmp (tek_kbd_type, "ibm101")) { /* the default keymap changed between release 4 and release 5. */ if (VendorRelease(dpy) <= 4) return "TEK101-4"; return "TEK101"; } else if (!strcmp (tek_kbd_type, "ibm102")) return "TEK102"; else if (!strcmp (tek_kbd_type, "unix")) return "TEKsun4"; /* So Robert Zwickenpflug says... */ else if (!strcmp (tek_kbd_type, "vt200")) { tek_kbd_layout = get_prop_string (dpy, "_TEK_KEYBOARD_LAYOUT"); tek_kbd_nationality = get_prop_string (dpy, "_TEK_KEYBOARD_NATIONALITY"); tek_kbd_lk401 = get_prop_string (dpy, "_TEK_KEYBOARD_LK401"); if (tek_kbd_lk401) { if (!tek_kbd_nationality) return "TEK401US"; else if (!strcmp (tek_kbd_nationality, "swedish")) return "TEK401SF"; else return "TEK401US"; } else if (!tek_kbd_layout) return "TEK200"; else if (!strcmp (tek_kbd_layout, "x_esc")) return "TEK200ESC"; else if (!strcmp (tek_kbd_layout, "x_f11")) return "TEK200F11"; else if (!strcmp (tek_kbd_layout, "vms")) return "TEK200VMS"; else if (!strcmp (tek_kbd_layout, "ultrix")) { char *n = tek_kbd_nationality; if (! n) return "TEK200US"; else if (!strcmp (n, "usascii")) return "TEK200US"; else if (!strcmp (n, "danish")) return "TEK200DA"; else if (!strcmp (n, "german")) return "TEK200DE"; else if (!strcmp (n, "finnish")) return "TEK200FI"; else if (!strcmp (n, "french")) return "TEK200FR"; else if (!strcmp (n, "italian")) return "TEK200IT"; else if (!strcmp (n, "katakana")) return "TEK200KA"; else if (!strcmp (n, "norwegian")) return "TEK200NO"; else if (!strcmp (n, "spanish")) return "TEK200SP"; else if (!strcmp (n, "swedish")) return "TEK200SW"; else if (!strcmp (n, "swiss-german")) return "TEK200SWDE"; else if (!strcmp (n, "uk")) return "TEK200UK"; else { /* some otherwise unknown nationality... */ char *s; sprintf (buf, "TEK200_%s", tek_kbd_nationality); s = (char *) malloc (strlen (buf) + 1); strcpy (s, buf); return s; } } else { /* some otherwise unknown layout... */ char *s; sprintf (buf, "TEK200_%s", tek_kbd_layout); s = (char *) malloc (strlen (buf) + 1); strcpy (s, buf); return s; } } else { char *s; /* some otherwise unknown type of keyboard... */ sprintf (buf, "TEK_%s", tek_kbd_type); s = (char *) malloc (strlen (buf) + 1); strcpy (s, buf); return s; } } xkeycaps-2.47/xkeycaps.c0000644000175000017500000002454510206731453013035 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1995, 1996, 1997, 1998 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #include "version.h" #include #include #include #include #include #include #include #include #include #include #include #include #include "KbdWidgetP.h" #include "KeyWidgetP.h" #include "xkeycaps.h" char *progname; char *short_version; #ifdef __STDC__ # define P(x)x #else /* !__STDC__ */ # define P(x)() #endif static char *xkeycapsDefaults[] = { # include "XKeyCaps_ad.h" 0 }; static XrmOptionDescRec options [] = { { "-foreground", "*Foreground", XrmoptionSepArg, 0 }, { "-background", "*Background", XrmoptionSepArg, 0 }, { "-fg", "*Foreground", XrmoptionSepArg, 0 }, { "-bg", "*Background", XrmoptionSepArg, 0 }, { "-gutterwidth", "*Keyboard.Key.gutterWidth", XrmoptionSepArg, 0 }, { "-gw", "*Keyboard.Key.gutterWidth", XrmoptionSepArg, 0 }, { "-font", "*Keyboard.Key.keycapFont", XrmoptionSepArg, 0 }, { "-fn", "*Keyboard.Key.keycapFont", XrmoptionSepArg, 0 }, #ifdef HAVE_XTRAP { "-xtrap", "*useXTrap", XrmoptionNoArg, "on" }, { "-use-xtrap", "*useXTrap", XrmoptionNoArg, "on" }, { "-use_xtrap", "*useXTrap", XrmoptionNoArg, "on" }, { "-no-xtrap", "*useXTrap", XrmoptionNoArg,"off" }, { "-no_xtrap", "*useXTrap", XrmoptionNoArg,"off" }, #endif { "-keyboard", "*Keyboard.keyboard", XrmoptionSepArg, 0 }, { "-kbd", "*Keyboard.keyboard", XrmoptionSepArg, 0 } }; static KeyboardWidget make_keyboard P((Widget box, Widget box2, struct info_labels *info, const char *name)); static void maybe_relabel_window P((KeyboardWidget keyboard)); static KeyboardWidget xkeycaps_main_loop P((KeyboardWidget keyboard, XtAppContext app)); Window XSendEvent_BadWindow = 0; static int #ifdef __STDC__ xkeycaps_error_handler (Display *dpy, XErrorEvent *error) #else /* ! __STDC__ */ xkeycaps_error_handler (dpy, error) Display *dpy; XErrorEvent *error; #endif /* ! __STDC__ */ { switch (error->request_code) { case X_GetKeyboardMapping: return 0; case X_SendEvent: if (error->error_code == BadWindow && !XSendEvent_BadWindow) XSendEvent_BadWindow = error->resourceid; else XmuPrintDefaultErrorMessage (dpy, error, stderr); return 0; default: XmuPrintDefaultErrorMessage (dpy, error, stderr); exit (-1); } } static KeyboardWidget #ifdef __STDC__ make_keyboard (Widget box, Widget box2, struct info_labels *info, const char *name) #else /* ! __STDC__ */ make_keyboard (box, box2, info, name) Widget box, box2; struct info_labels *info; const char *name; #endif /* ! __STDC__ */ { Arg av[20]; int ac = 0; KeyboardWidget keyboard; XtSetArg (av[ac], XtNfromVert, box2); ac++; XtSetArg (av[ac], XtNleft, XtChainLeft); ac++; XtSetArg (av[ac], XtNright, XtChainRight); ac++; XtSetArg (av[ac], XtNtop, XtChainTop); ac++; XtSetArg (av[ac], XtNbottom, XtChainBottom); ac++; if (name) XtSetArg (av[ac], "keyboard", name), ac++; keyboard = (KeyboardWidget) XtCreateManagedWidget ("keyboard", keyboardWidgetClass, box, av, ac); keyboard->keyboard.label_widgets = info; keyboard->keyboard.key_menus = make_key_menus ((KeyboardWidget *) &keyboard); return keyboard; } static void #ifdef __STDC__ maybe_relabel_window (KeyboardWidget keyboard) #else /* ! __STDC__ */ maybe_relabel_window (keyboard) KeyboardWidget keyboard; #endif /* ! __STDC__ */ { /* If the user hasn't specified the -title option, set the window title to be something more informative. */ Widget toplevel = (Widget) keyboard; char buf1 [100], buf2 [100]; XrmValue value; char *type; XrmDatabase db = XtDatabase (XtDisplay (keyboard)); char *name, *class; while (XtParent (toplevel)) toplevel = XtParent (toplevel); XtGetApplicationNameAndClass (XtDisplay (keyboard), &name, &class); sprintf (buf1, "%s.title", name); sprintf (buf2, "%s.Title", class); if (XrmGetResource (db, buf1, buf2, &type, &value)) return; sprintf (buf1, "%s; %s%s%s keyboard", class, keyboard->keyboard.vendor, (keyboard->keyboard.kbd_style ? " " : ""), keyboard->keyboard.kbd_style); XStoreName (XtDisplay (toplevel), XtWindow (toplevel), buf1); } /* Kludge to tell the main loop to reset some variables... */ KeyboardWidget new_kbd_selected = 0; void #ifdef __STDC__ replace_keyboard (KeyboardWidget keyboard, const char *name) #else /* ! __STDC__ */ replace_keyboard (keyboard, name) KeyboardWidget keyboard; const char *name; #endif /* ! __STDC__ */ { /* Doing this seems to leak about 8k each time, but I really don't care. */ Widget box, box2; KeyboardWidget new_kbd; Widget toplevel; Arg av[20]; int ac = 0; toplevel = box = XtParent (keyboard); while (XtParent (toplevel)) toplevel = XtParent (toplevel); box2 = 0; XtSetArg (av[ac], XtNfromVert, &box2); ac++; XtGetValues ((Widget) keyboard, av, ac); /* if (! box2) abort ();* #### wtf? */ new_kbd = make_keyboard (box, box2, keyboard->keyboard.label_widgets, name); XtUnmanageChild ((Widget) keyboard); XtDestroyWidget ((Widget) keyboard); new_kbd_selected = new_kbd; /* kludge... */ XtSetKeyboardFocus (toplevel, (Widget) new_kbd); maybe_relabel_window (new_kbd); } void #ifdef __STDC__ xkeycaps_DispatchEvent_hook (KeyboardWidget keyboard, XEvent *event) #else /* ! __STDC__ */ xkeycaps_DispatchEvent_hook (keyboard, event) KeyboardWidget keyboard; XEvent *event; #endif /* ! __STDC__ */ { /* MappingNotify and KeymapNotify events don't have an associated window, so there's no way to register an event-handler function for one of these with Xt. Lose, lose. */ if (event->xany.type == KeymapNotify) keyboard_handle_keymap_notify ((Widget) keyboard, 0, event, 0); else if (event->xany.type == MappingNotify) keyboard_handle_mapping_notify ((Widget) keyboard, 0, event, 0); } static KeyboardWidget #ifdef __STDC__ xkeycaps_main_loop (KeyboardWidget keyboard, XtAppContext app) #else /* ! __STDC__ */ xkeycaps_main_loop (keyboard, app) KeyboardWidget keyboard; XtAppContext app; #endif /* ! __STDC__ */ { XEvent event; while (1) { XtAppNextEvent (app, &event); xkeycaps_DispatchEvent_hook (keyboard, &event); XtDispatchEvent (&event); /* Kludge to prevent us from using a freed keyboard... I think we had actually been allocating the second one out of the *same space* as the first one and not losing?? */ if (new_kbd_selected) return new_kbd_selected; } } int #ifdef __STDC__ main (int argc, char **argv) #else /* ! __STDC__ */ main (argc, argv) int argc; char **argv; #endif /* ! __STDC__ */ { char *class = "XKeyCaps"; XtAppContext app; Widget toplevel, box, box2, buttons; struct info_labels *info; KeyboardWidget keyboard = 0; Arg av [20]; int ac = 0; char version_buf [255]; { int index; int i2 = strlen (version) - 3; char *v2 = (char *) malloc (i2); memcpy (v2, version+4, i2); version = v2; for (index = 0;; index++) if (!strncmp ("Copyright (c)", version+index, 13)) break; for (v2 = version+index+13; *v2; v2++) if (*v2 == '(') *v2 = '<'; else if (*v2 == ')') *v2 = '>'; memcpy (version_buf, version, i2 = index); version_buf [index] = '\251'; strcpy (version_buf + index + 1, version + index + 13); for (;; index++) if (isdigit(version[index]) && isdigit(version[index+1]) && isdigit(version[index+2]) && isdigit(version[index+3]) && version[index+4] != ',') break; short_version = (char *) malloc(i2 + 14 + strlen (version + index) + 1); memcpy (short_version, version, i2 + 14); strcpy (short_version + i2 + 14, version + index); } toplevel = XtAppInitialize (&app, class, options, XtNumber (options), &argc, argv, xkeycapsDefaults, NULL, 0); XtGetApplicationNameAndClass (XtDisplay (toplevel), &progname, &class); if (argc > 1) { int ok = (!strcmp (argv[1], "-help") || !strcmp (argv[1], "--help") || !strcmp (argv[1], "-version") || !strcmp (argv[1], "--version") || !strcmp (argv[1], "-v") || !strcmp (argv[1], "-h")); FILE *out = (ok ? stdout : stderr); if (!ok) fprintf (out, "%s: unknown option %s\n", progname, argv [1]); fprintf (out, "\n%s\n", short_version); fprintf (out, "\n\ Use the -keyboard (or -kbd) option to specify a keyboard,\n\ or use the `Select Keyboard' dialog box. Use the -help\n\ option to list recognised arguments to -kbd. See the man\n\ page for more details.\n\n\ For updates, check http://www.jwz.org/xkeycaps/\n\n"); if (!ok) { exit(-1); } else { fprintf(out, "Recognised keyboard names:\n\n"); print_kbd_choices(); exit(0); } } create_icon_pixmaps (XtDisplay (toplevel)); ac = 0; box = XtCreateManagedWidget ("vertical", panedWidgetClass, toplevel, av, ac); ac = 0; XtSetArg (av[ac], XtNorientation, "horizontal"); ac++; box2 = XtCreateManagedWidget ("horizontal", panedWidgetClass, box, av, ac); buttons = make_command_widgets (box2, (Widget *) &keyboard); info = make_info_widget (box2, buttons); keyboard = make_keyboard (box, box2, info, 0); XtAddEventHandler ((Widget) keyboard, KeymapStateMask, False, keyboard_handle_keymap_notify, 0); XtAddEventHandler ((Widget) keyboard, 0, True, keyboard_handle_mapping_notify, 0); XtRealizeWidget (toplevel); XtSetKeyboardFocus (toplevel, (Widget) keyboard); maybe_relabel_window (keyboard); XSetErrorHandler (xkeycaps_error_handler); message (keyboard, ""); message2 (keyboard, version_buf); if (choose_kbd_dubious_p) pop_up_kbd_dbox (toplevel, (void *) &keyboard, 0); #ifdef HAVE_XTRAP if (keyboard->keyboard.trap_data) xkeycaps_xtrap_main_loop (keyboard, app); else #endif while (1) keyboard = xkeycaps_main_loop (keyboard, app); } xkeycaps-2.47/KbdWidgetP.h0000644000175000017500000000543110206731453013170 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996, 1997 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #ifndef _KbdWidgetP_H_ #define _KbdWidgetP_H_ #include #include #include #include "KbdWidget.h" #include "KeyWidget.h" #include "xkeycaps.h" typedef struct { int mumble; /* No new procedures */ } KeyboardClassPart; /* Full class record declaration */ typedef struct _KeyboardClassRec { CoreClassPart core_class; CompositeClassPart composite_class; KeyboardClassPart keyboard_class; } KeyboardClassRec; extern KeyboardClassRec keyboardClassRec; /* New fields for the Keyboard widget record */ typedef struct { String kbd_name; Cursor select_cursor; int max_width, max_height; /* In key units (computed) */ int x_scale, y_scale; int default_keysyms_per_code; /* computed... */ char key_state_vector [32]; /* Bit-vector of keys down (redundant.) */ char modifier_vector [32]; /* Bit-vector of modifier-key-p. */ KeyWidget key_under_mouse; KeyWidget mouse_highlighted_key; /* Key the mouse is pressed on */ KeyWidget documented_key; /* Key about which info is presented */ unsigned int tracking_key; /* Mask of buttons down */ Window target_window; /* window we're typing at */ #ifdef HAVE_XTRAP /* Whether to try to use the XTrap */ Boolean use_xtrap; /* server extension to read events. */ char *trap_data; /* The XTrap "Trap Context" */ #endif struct info_labels *label_widgets; /* For info.c */ struct key_menus *key_menus; /* For commands.c */ /* These slots are initialized when a keyboard is selected, and are not changed at run-time. They are copies of what came from the various keyboard definition files. */ const char *short_name; /* ID for the "-kbd" command-line option. */ const char *vendor; /* Who makes the computer that this keyboard usually comes with (e.g., "Sun", "NCD", "PC".) */ const char *kbd_style; /* What this particular instance is named (e.g., "type-2", "104-key", "LK401".) */ unsigned int nrows; struct KeyWidget_row *rows; int default_scale; int horiz_border, vert_border; } KeyboardPart; typedef struct _KeyboardRec { /* full instance record */ CorePart core; CompositePart composite; KeyboardPart keyboard; } KeyboardRec; #endif /* _KbdWidgetP_H_ */ xkeycaps-2.47/version.h0000644000175000017500000000015110356065643012672 0ustar cbcbchar *version = "@(#)\ XKeyCaps 2.47; Copyright (c) 1991-1999 Jamie Zawinski; 2005-2006 Christoph Berg"; xkeycaps-2.47/xkeycaps.h0000644000175000017500000001026410206731453013033 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996, 1997 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #ifndef _XKEYCAPS_H_ #define _XKEYCAPS_H_ #ifdef __STDC__ # include # include #endif #ifndef __STDC__ # undef const # define const /**/ #endif # undef P #ifdef __STDC__ # define P(x)x #else # define P(x)() #endif /* from xkeycaps.c */ extern char *progname; extern char *version; extern char *short_version; extern Window XSendEvent_BadWindow; extern void xkeycaps_DispatchEvent_hook P((KeyboardWidget, XEvent *event)); extern void replace_keyboard P((KeyboardWidget keyboard, const char *name)); /* from guess.c */ extern int choose_kbd_dubious_p; extern char choose_kbd_message[]; extern const struct keyboard_instance *choose_kbd P((Display *dpy, const char *kbd_name)); void print_kbd_choices P((void)); /* from commands.c */ extern struct key_menus *make_key_menus P((KeyboardWidget *)); extern Widget make_command_widgets P((Widget parent, Widget *kbd)); extern int string_equal P((const char *, const char *)); extern void sensitize_menu P((KeyboardWidget, Widget menu, Bool sensitive)); extern void pop_up_kbd_dbox P((Widget, XtPointer, XtPointer)); extern KeyWidget prompt_for_key P((KeyboardWidget, char *msg)); /* from actions.c */ extern int mappingNotify_event_expected; extern void highlight_key_action P((Widget, XEvent *, String *, Cardinal *)); extern void unhighlight_key_action P((Widget, XEvent *, String *, Cardinal *)); extern void toggle_key_action P((Widget, XEvent *, String *, Cardinal *)); extern void simulate_KeyPress_action P((Widget, XEvent*, String*, Cardinal*)); extern void simulate_KeyRelease_action P((Widget, XEvent*, String*,Cardinal*)); extern void describe_key_action P((Widget, XEvent *, String *, Cardinal *)); extern void track_key_action P((Widget, XEvent *, String *, Cardinal *)); extern void untrack_key_action P((Widget, XEvent *, String *, Cardinal *)); extern void key_menu_pre_popup_hook P((Widget menu, XtPointer client_data, XtPointer call_data)); extern void keyboard_track_motion_hook P((Widget, XtPointer, String, XEvent *, String *, Cardinal *)); extern void key_to_event P((KeyWidget key, XEvent *event, int down_p)); extern void keyboard_handle_mapping_notify P((Widget widget, XtPointer client_data, XEvent *event, Boolean *cont)); extern void keyboard_handle_keymap_notify P((Widget widget, XtPointer client_data, XEvent *event, Boolean *cont)); extern KeyWidget window_to_key P((Display *dpy, Window window)); extern KeyWidget keycode_to_key P((KeyboardWidget keyboard, KeyCode code)); extern void init_modifier_mapping P((KeyboardWidget widget)); /* from info.c */ extern struct info_labels *make_info_widget P((Widget parent, Widget parent_left)); extern Widget make_label_1 P((Widget parent, char *name, char *string, Widget left, Widget top, WidgetClass class, XtCallbackProc callback, XtPointer data)); extern Widget make_label P((Widget parent, char *name, char *string, Widget left, Widget top)); extern void message P((KeyboardWidget, char *)); extern void message2 P((KeyboardWidget, char *)); extern void describe_key P((KeyWidget)); /* from KbdWidget.c */ extern void create_icon_pixmaps P((Display *)); extern Pixmap get_keyboard_icon P((Display *dpy, const struct keyboard_instance *kbd, int *wP, int *hP)); /* from sunOS.c or hpux.c */ #if defined(sun) || defined(hpux) extern char *xkeycaps_guess_local_keyboard_type P((void)); #endif /* When we have to guess, and haven't a clue. The Imakefile can define this to be 0, to make there be no default. */ #ifndef DEFAULT_KBD_NAME # define DEFAULT_KBD_NAME "L101" #endif #endif /* _XKEYCAPS_H_ */ xkeycaps-2.47/KeyWidget.c0000644000175000017500000003413210206731453013073 0ustar cbcb/* xkeycaps, Copyright (c) 1991, 1992, 1993, 1996, 1997 * Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that * the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation. No representations are made about the suitability of this * software for any purpose. It is provided "as is" without express or * implied warranty. */ #include #include #include "KbdWidget.h" #include "KeyWidgetP.h" #include #undef MAX #undef MIN #define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b)) static void KeyRealize P((Widget, XtValueMask *, XSetWindowAttributes *)); static void KeyExpose P((Widget, XEvent *, Region)); static void KeyInitialize P((Widget, Widget, ArgList, Cardinal*)); static void KeyHighlightProc P((KeyWidget)); static void KeyDehighlightProc P((KeyWidget)); #define XtNgutterWidth "gutterWidth" #define XtCGutterWidth "GutterWidth" #define XtNkeycapColor "keycapColor" #define XtNkeycodeColor "keycodeColor" #define XtNkeycapFont "keycapFont" #define XtNkeycodeFont "keycodeFont" #define XtNcursorFont "cursorFont" #ifndef CURSORFONT #define CURSORFONT "cursor" #endif static XtResource key_resources [] = { { XtNhighlight, XtCBackground, XtRPixel, sizeof (String), XtOffset (KeyWidget, key.highlight_pixel), XtRString, XtDefaultBackground }, { XtNgutterWidth, XtCGutterWidth, XtRInt, sizeof (int), XtOffset (KeyWidget, key.gutter_width), XtRString, "3" }, { XtNkeycapColor, XtCForeground, XtRPixel, sizeof (String), XtOffset (KeyWidget, key.keycap_pixel), XtRString, XtDefaultForeground }, { XtNkeycodeColor, XtCForeground, XtRPixel, sizeof (String), XtOffset (KeyWidget, key.keycode_pixel), XtRString, XtDefaultForeground }, { XtNkeycapFont, XtCFont, XtRFontStruct, sizeof (String), XtOffset (KeyWidget, key.keycap_font), XtRString, "*-helvetica-bold-r-*-*-*-100-*-*-*-*-*-*" }, { XtNkeycodeFont, XtCFont, XtRFontStruct, sizeof (String), XtOffset (KeyWidget, key.keycode_font), XtRString, "*-courier-medium-r-*-*-*-100-*-*-*-*-*-*" }, { XtNcursorFont, XtCFont, XtRFontStruct, sizeof (String), XtOffset (KeyWidget, key.cursor_font), XtRString, CURSORFONT } }; KeyClassRec keyClassRec = { { /* * core fields */ /* superclass */ &widgetClassRec, /* class_name */ "Key", /* widget_size */ sizeof (KeyRec), /* class_initialize */ NULL, /* class_part_initialize */ NULL, /* class_inited */ FALSE, /* initialize */ KeyInitialize, /* initialize_hook */ NULL, /* realize */ KeyRealize, /* actions */ NULL, /* num_actions */ 0, /* resources */ key_resources, /* resource_count */ XtNumber (key_resources), /* xrm_class */ NULLQUARK, /* compress_motion */ TRUE, /* compress_exposure */ TRUE, /* compress_enterleave */ TRUE, /* visible_interest */ FALSE, /* destroy */ NULL, /* resize */ XtInheritResize, /* expose */ KeyExpose, /* set_values */ NULL, /* set_values_hook */ NULL, /* set_values_almost */ XtInheritSetValuesAlmost, /* get_values_hook */ NULL, /* accept_focus */ XtInheritAcceptFocus, /* version */ XtVersion, /* callback_private */ NULL, /* tm_table */ NULL, /* query_geometry */ XtInheritQueryGeometry, /* display_accelerator */ XtInheritDisplayAccelerator, /* extension */ NULL }, { /* * key_class fields */ /* highlight_key */ KeyHighlightProc, /* dehighlight_key */ KeyDehighlightProc } }; WidgetClass keyWidgetClass = (WidgetClass) &keyClassRec; static void #ifdef __STDC__ KeyInitialize (Widget w1, Widget w2, ArgList av, Cardinal *ac) #else /* ! __STDC__ */ KeyInitialize (w1, w2, av, ac) Widget w1, w2; ArgList av; Cardinal ac; #endif /* ! __STDC__ */ { KeyWidget new = (KeyWidget) w2; if (new->core.width <= 0) new->core.width = 3; if (new->core.height <= 0) new->core.height = 3; /* Initialize the non-resource slots */ new->key.x = 0; new->key.y = 0; new->key.highlighted_p = 0; new->key.key_highlighted = 0; new->key.mouse_highlighted = 0; new->key.modifier_bits = 0; new->key.auto_repeat_p = 0; new->key.width = 0; new->key.height = 0; new->key.keysym_1 = 0; new->key.keysym_2 = 0; new->key.keysym_3 = 0; new->key.keycode = 0; new->key.default_mods = 0; memset (new->key.default_keysyms, 0, sizeof (new->key.default_keysyms)); } static void #ifdef __STDC__ KeyRealize (Widget gw, XtValueMask *valuemaskp, XSetWindowAttributes *attr) #else /* ! __STDC__ */ KeyRealize (gw, valuemaskp, attr) Widget gw; XtValueMask *valuemaskp; XSetWindowAttributes *attr; #endif /* ! __STDC__ */ { char *b, buf [255]; const char *k1, *k2, *k3; XGCValues gcvalues; KeyWidget w = (KeyWidget) gw; XtCreateWindow ((Widget) w, InputOutput, (Visual *)CopyFromParent, *valuemaskp, attr); gcvalues.foreground = w->key.keycap_pixel; gcvalues.font = w->key.keycap_font->fid; w->key.keycap_gc = XtGetGC (gw, (unsigned) GCFont|GCForeground, &gcvalues); gcvalues.font = w->key.cursor_font->fid; w->key.cursor_gc = XtGetGC (gw, (unsigned) GCFont|GCForeground, &gcvalues); gcvalues.foreground = w->key.keycode_pixel; gcvalues.font = w->key.keycode_font->fid; w->key.keycode_gc = XtGetGC (gw, (unsigned) GCFont|GCForeground, &gcvalues); k1 = w->key.keysym_1; k2 = w->key.keysym_2; k3 = w->key.keysym_3; if (k1 && !*k1) k1 = 0; if (k2 && !*k2) k2 = 0; if (k3 && !*k3) k3 = 0; b = buf; b[0] = 0; if (k1) { int i = strlen (k1); strncpy (buf, k1, i+1); /* This is the kludge that makes "Caps " "Lock" concat as "CapsLock" */ if (i > 1 && (buf [i-1] == ' ' || buf [i-1] == '-')) buf [i-1] = 0, i--; else if (i > 0 && (k2 || k3)) buf [i] = ' ', buf [i+1] = 0, i++; b = buf+i; } if (k2) { int i = strlen (k2); strncpy (b, k2, i+1); b += i; if (k3) *b++ = ' ', *b++ = 0; } if (k3) strcpy (b, k3); b = buf; if (b[0] == ' ' && b[1] == 0) b = "space"; w->key.key_name = XtNewString (b); } static void draw_key P((KeyWidget)); static void #ifdef __STDC__ KeyExpose (Widget gw, XEvent *e, Region r) #else /* ! __STDC__ */ KeyExpose (gw, e, r) Widget gw; XEvent *e; Region r; #endif /* ! __STDC__ */ { draw_key ((KeyWidget) gw); } static int #ifdef __STDC__ string_width (unsigned char *string, XFontStruct *font) #else /* ! __STDC__ */ string_width (string, font) unsigned char *string; XFontStruct *font; #endif /* ! __STDC__ */ { int size = 0; if (!font) return 0; for (; *string; string++) if (font->per_char) size += font->per_char [(*string) - font->min_char_or_byte2].width; else size += font->max_bounds.width; return size; } static void #ifdef __STDC__ draw_key (KeyWidget w) #else /* ! __STDC__ */ draw_key (w) KeyWidget w; #endif /* ! __STDC__ */ { Display *dpy = XtDisplay (w); Window window = XtWindow (w); XFontStruct *keycap_font = w->key.keycap_font; XFontStruct *keycode_font = w->key.keycode_font; XFontStruct *cursor_font = w->key.cursor_font; GC keycap_gc = w->key.keycap_gc; GC keycode_gc = w->key.keycode_gc; GC cursor_gc = w->key.cursor_gc; const char *k1 = w->key.keysym_1; const char *k2 = w->key.keysym_2; const char *k3 = w->key.keysym_3; unsigned char *uk1, *uk2, *uk3; XFontStruct *k1_font = cursor_font; XFontStruct *k2_font = cursor_font; XFontStruct *k3_font = cursor_font; GC k1_gc = cursor_gc; GC k2_gc = cursor_gc; GC k3_gc = cursor_gc; int inner_margin = 2; int x, y; char left[2], right[2], up[2], down[2]; left[1] = right[1] = up[1] = down[1] = 0; left[0] = XC_sb_left_arrow; right[0] = XC_sb_right_arrow; up[0] = XC_sb_up_arrow; down[0] = XC_sb_down_arrow; if (k1 && !*k1) k1 = 0; if (k2 && !*k2) k2 = 0; if (k3 && !*k3) k3 = 0; if (string_equal (k1, "leftArrow")) k1 = left; else if (string_equal (k1, "rightArrow")) k1 = right; else if (string_equal (k1, "upArrow")) k1 = up; else if (string_equal (k1, "downArrow")) k1 = down; else k1_font = keycap_font, k1_gc = keycap_gc; if (string_equal (k2, "leftArrow")) k2 = left; else if (string_equal (k2, "rightArrow")) k2 = right; else if (string_equal (k2, "upArrow")) k2 = up; else if (string_equal (k2, "downArrow")) k2 = down; else k2_font = keycap_font, k2_gc = keycap_gc; if (string_equal (k3, "leftArrow")) k3 = left; else if (string_equal (k3, "rightArrow")) k3 = right; else if (string_equal (k3, "upArrow")) k3 = up; else if (string_equal (k3, "downArrow")) k3 = down; else k3_font = keycap_font, k3_gc = keycap_gc; uk1 = (unsigned char *) k1; uk2 = (unsigned char *) k2; uk3 = (unsigned char *) k3; #define PERCHAR(font,c) \ (font->per_char \ ? &font->per_char[(c) - font->min_char_or_byte2] \ : &font->max_bounds) #define STRHEIGHT(font, var) \ (font == cursor_font && var != NULL ? PERCHAR (font, var[0])->ascent : font->ascent) #define MAXSTRHEIGHT(font, font2, var) \ MAX (font->ascent, \ (font2 == cursor_font \ ? PERCHAR (font2, var[0])->ascent \ : font2->ascent)) XClearWindow (dpy, window); x = y = 0; if (k1) { x = inner_margin - PERCHAR (k1_font, uk1[0])->lbearing; y = inner_margin + STRHEIGHT (k1_font, uk1); XDrawString (dpy, window, k1_gc, x, y, k1, strlen (k1)); } if (k2) { x = inner_margin - PERCHAR (k2_font, uk2[0])->lbearing; y = inner_margin + (k1 ? MAXSTRHEIGHT (keycap_font, k2_font, uk1) : keycap_font->ascent) + STRHEIGHT (k2_font, uk2); /* if (y + STRHEIGHT (k2_font, uk2) < w->core.height) */ XDrawString (dpy, window, k2_gc, x, y, k2, strlen (k2)); } if (k3) { int i = strlen (k3) - 1; x = w->core.width - (w->core.border_width * 2 + string_width (uk3, k3_font) + (PERCHAR (k3_font, uk3[i])->width - PERCHAR (k3_font, uk3[i])->rbearing)); y = inner_margin + STRHEIGHT (k3_font, uk3); if (k1 == 0 || x >= string_width (uk1, k1_font)) XDrawString (dpy, window, k3_gc, x, y, k3, strlen (k3)); } if (w->key.keycode) { unsigned char buf [100]; sprintf ((char *) buf, "%02X", w->key.keycode); x = w->core.width - (w->core.border_width * 2 + string_width (buf, keycode_font)); y = w->core.height - (w->core.border_width * 2 + keycode_font->descent); if ((x >= inner_margin) && (y - keycode_font->ascent >= inner_margin) && (y > ((STRHEIGHT (k1_font, uk1) * 3) / 2) ? (k2 == 0 || x >= string_width (uk2, k2_font)) : (k1 == 0 || x >= string_width (uk1, k1_font)))) XDrawString (dpy, window, keycode_gc, x, y, (char *) buf, strlen ((char *) buf)); } #undef PERCHAR #undef STRHEIGHT #undef MAXSTRHEIGHT } void #ifdef __STDC__ KeyHighlight (KeyWidget keyw) #else /* ! __STDC__ */ KeyHighlight (keyw) KeyWidget keyw; #endif /* ! __STDC__ */ { if (keyw->key.highlighted_p) return; ((KeyWidgetClass) keyw->core.widget_class)->key_class.highlight_key (keyw); keyw->key.highlighted_p = 1; } void #ifdef __STDC__ KeyDehighlight (KeyWidget keyw) #else /* ! __STDC__ */ KeyDehighlight (keyw) KeyWidget keyw; #endif /* ! __STDC__ */ { if (! keyw->key.highlighted_p) return; ((KeyWidgetClass) keyw->core.widget_class)->key_class.dehighlight_key (keyw); keyw->key.highlighted_p = 0; } #include /* This is a little sleazy: we're caching a pixmap in global space instead of caching it per-display, which means if someone were to include this widget-set in an application that used multiple displays (not bloody likely!) this would have to be fixed. But the alternative is adding a new slot and resource to each and every key, which isn't worth it. */ static Pixmap highlight_pixmap = 0; static Pixmap #ifdef __STDC__ make_highlight_pixmap (KeyWidget w) #else /* ! __STDC__ */ make_highlight_pixmap (w) KeyWidget w; #endif /* ! __STDC__ */ { return XCreatePixmapFromBitmapData (XtDisplay (w), XtWindow (w), gray_bits, gray_width, gray_height, w->key.keycap_pixel, w->core.background_pixel, DefaultDepthOfScreen (DefaultScreenOfDisplay (XtDisplay (w)))); } #ifdef LOSE_LIKE_Xt /* Doing this the Xt way is just too damn slow... */ static void #ifdef __STDC__ KeyHighlightProc (KeyWidget w) #else /* ! __STDC__ */ KeyHighlightProc (w) KeyWidget w; #endif /* ! __STDC__ */ { Arg av [2]; int ac = 0; w->key.background_pixel = w->core.background_pixel; if (w->key.background_pixel == w->key.highlight_pixel) { if (! highlight_pixmap) highlight_pixmap = make_hilight_pixmap (w); XtSetArg (av[ac], XtNbackgroundPixmap, highlight_pixmap); } else XtSetArg (av[ac], XtNbackground, w->key.highlight_pixel); ac++; XtSetValues (w, av, ac); } static void #ifdef __STDC__ KeyDehighlightProc (KeyWidget keyw) #else /* ! __STDC__ */ KeyDehighlightProc (keyw) KeyWidget keyw; #endif /* ! __STDC__ */ { Arg av [2]; int ac = 0; if (highlight_pixmap) XtSetArg (av[ac], XtNbackgroundPixmap, XtUnspecifiedPixmap); else XtSetArg (av[ac], XtNbackground, keyw->key.background_pixel); ac++; XtSetValues (keyw, av, ac); } #else /* !LOSE_LIKE_Xt */ static void #ifdef __STDC__ KeyHighlightProc (KeyWidget w) #else /* ! __STDC__ */ KeyHighlightProc (w) KeyWidget w; #endif /* ! __STDC__ */ { w->key.background_pixel = w->core.background_pixel; if (w->key.background_pixel == w->key.highlight_pixel) { if (! highlight_pixmap) highlight_pixmap = make_highlight_pixmap (w); XSetWindowBackgroundPixmap (XtDisplay (w), XtWindow (w), highlight_pixmap); } else XSetWindowBackground (XtDisplay (w), XtWindow (w), w->key.highlight_pixel); draw_key (w); } static void #ifdef __STDC__ KeyDehighlightProc (KeyWidget w) #else /* ! __STDC__ */ KeyDehighlightProc (w) KeyWidget w; #endif /* ! __STDC__ */ { XSetWindowBackground (XtDisplay (w), XtWindow (w), w->key.background_pixel); draw_key (w); } #endif /* !LOSE_LIKE_Xt */ xkeycaps-2.47/make-dist.sh0000755000175000017500000000053110356065340013245 0ustar cbcb#!/bin/sh -ex NAME=xkeycaps VERSION=$(dpkg-parsechangelog 2>&1 | perl -ne 'print $1 if /^Version: ([^-]*)/') TGZ=${NAME}_$VERSION.orig.tar.gz TGZ_DIR=$NAME-$VERSION [ ! -f ../$TGZ ] mkdir ../$TGZ_DIR cp -a . ../$TGZ_DIR rm -rf ../$TGZ_DIR/debian find ../$TGZ_DIR -name .svn | xargs rm -rf cd .. && tar cvz -f $TGZ $TGZ_DIR rm -rf ../$TGZ_DIR