The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/adb/adb_keymap.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: adb_keymap.h,v 1.3 2008/04/28 20:23:47 martin Exp $    */
    2 
    3 /*-
    4  * Copyright (c) 1997 The NetBSD Foundation, Inc.
    5  * All rights reserved.
    6  *
    7  * This code is derived from software contributed to The NetBSD Foundation
    8  * by Juergen Hannken-Illjes.
    9  *
   10  * Redistribution and use in source and binary forms, with or without
   11  * modification, are permitted provided that the following conditions
   12  * are met:
   13  * 1. Redistributions of source code must retain the above copyright
   14  *    notice, this list of conditions and the following disclaimer.
   15  * 2. Redistributions in binary form must reproduce the above copyright
   16  *    notice, this list of conditions and the following disclaimer in the
   17  *    documentation and/or other materials provided with the distribution.
   18  *
   19  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   20  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   21  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   22  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   23  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   29  * POSSIBILITY OF SUCH DAMAGE.
   30  */
   31 
   32 /* XXX This list is incomplete. */
   33 
   34 #define KC(n) KS_KEYCODE(n)
   35 
   36 static const keysym_t akbd_keydesc_us[] = {
   37 /*  pos      command            normal          shifted */
   38     KC(0),                      KS_a,
   39     KC(1),                      KS_s,
   40     KC(2),                      KS_d,
   41     KC(3),                      KS_f,
   42     KC(4),                      KS_h,
   43     KC(5),                      KS_g,
   44     KC(6),                      KS_z,
   45     KC(7),                      KS_x,
   46     KC(8),                      KS_c,
   47     KC(9),                      KS_v,
   48     KC(10),                     KS_paragraph,   
   49     KC(11),                     KS_b,
   50     KC(12),                     KS_q,
   51     KC(13),                     KS_w,
   52     KC(14),                     KS_e,
   53     KC(15),                     KS_r,
   54     KC(16),                     KS_y,
   55     KC(17),                     KS_t,
   56     KC(18),                     KS_1,           KS_exclam,
   57     KC(19),                     KS_2,           KS_at,
   58     KC(20),                     KS_3,           KS_numbersign,
   59     KC(21),                     KS_4,           KS_dollar,
   60     KC(22),                     KS_6,           KS_asciicircum,
   61     KC(23),                     KS_5,           KS_percent,
   62     KC(24),                     KS_equal,       KS_plus,
   63     KC(25),                     KS_9,           KS_parenleft,
   64     KC(26),                     KS_7,           KS_ampersand,
   65     KC(27),                     KS_minus,       KS_underscore,
   66     KC(28),                     KS_8,           KS_asterisk,
   67     KC(29),                     KS_0,           KS_parenright,
   68     KC(30),                     KS_bracketright, KS_braceright,
   69     KC(31),                     KS_o,
   70     KC(32),                     KS_u,
   71     KC(33),                     KS_bracketleft, KS_braceleft,
   72     KC(34),                     KS_i,
   73     KC(35),                     KS_p,
   74     KC(36),                     KS_Return,
   75     KC(37),                     KS_l,
   76     KC(38),                     KS_j,
   77     KC(39),                     KS_apostrophe,  KS_quotedbl,
   78     KC(40),                     KS_k,
   79     KC(41),                     KS_semicolon,   KS_colon,
   80     KC(42),                     KS_backslash,   KS_bar,
   81     KC(43),                     KS_comma,       KS_less,
   82     KC(44),                     KS_slash,       KS_question,
   83     KC(45),                     KS_n,
   84     KC(46),                     KS_m,
   85     KC(47),                     KS_period,      KS_greater,
   86     KC(48),                     KS_Tab,
   87     KC(49),                     KS_space,
   88     KC(50),                     KS_grave,       KS_asciitilde,
   89     KC(51),                     KS_Delete,
   90     KC(52),                     KS_KP_Enter,    /* Pretend this is alt-R ? */
   91     KC(53),                     KS_Escape,
   92     KC(54),                     KS_Control_L,
   93     KC(55),  KS_Cmd,                            /* Command */
   94     KC(56),                     KS_Shift_L,
   95     KC(57),                     KS_Caps_Lock,
   96     KC(58),  KS_Cmd1,                           /* Option */
   97     KC(59),                     KS_Left,
   98     KC(60),                     KS_Right,
   99     KC(61), KS_Cmd_ScrollSlowDown, KS_Down,
  100     KC(62), KS_Cmd_ScrollSlowUp, KS_Up,
  101     KC(65),                     KS_KP_Decimal,
  102     KC(67),                     KS_KP_Multiply,
  103     KC(69),                     KS_KP_Add,
  104     KC(71),                     KS_Num_Lock,
  105     KC(75),                     KS_KP_Divide,
  106     KC(76),                     KS_KP_Enter,
  107     KC(78),                     KS_KP_Subtract,
  108 
  109     KC(81),                     KS_KP_Equal,
  110     KC(82),                     KS_KP_Insert,   KS_KP_0,
  111     KC(83),                     KS_KP_End,      KS_KP_1,
  112     KC(84), KS_Cmd_ScrollSlowUp, KS_KP_Down,    KS_KP_2,
  113     KC(85), KS_Cmd_ScrollFastDown, KS_KP_Next,  KS_KP_3,
  114     KC(86),                     KS_KP_Left,     KS_KP_4,
  115     KC(87),                     KS_KP_Begin,    KS_KP_5,
  116     KC(88),                     KS_KP_Right,    KS_KP_6,
  117     KC(89),                     KS_KP_Home,     KS_KP_7,
  118 
  119     KC(91), KS_Cmd_ScrollSlowUp, KS_KP_Up,      KS_KP_8,
  120     KC(92), KS_Cmd_ScrollFastUp, KS_KP_Prior,   KS_KP_9,
  121 
  122     KC(95),                     KS_KP_Delete,   KS_KP_Decimal,
  123     KC(96),     KS_Cmd_Screen4,         KS_f5,
  124     KC(97),     KS_Cmd_Screen5,         KS_f6,
  125     KC(98),     KS_Cmd_Screen6,         KS_f7,
  126     KC(99),     KS_Cmd_Screen2,         KS_f3,
  127     KC(100),KS_Cmd_Screen7,             KS_f8,
  128 
  129     KC(101),KS_Cmd_Screen8,             KS_f9,
  130 
  131     KC(103),                    KS_f11,
  132 
  133     KC(105),                    KS_Print_Screen,
  134     KC(106),                    KS_KP_Enter,
  135     KC(107),                    KS_Hold_Screen,
  136 
  137     KC(109),KS_Cmd_Screen9,     KS_f10,
  138 
  139     KC(111),                    KS_f12,
  140 
  141     KC(113),                    KS_Pause,
  142     KC(114),                    KS_Insert,
  143     KC(115),                    KS_Home,
  144     KC(116), KS_Cmd_ScrollFastUp, KS_Prior,
  145     KC(117),                    KS_Delete,      /* BackSpace */
  146     KC(118),KS_Cmd_Screen3,     KS_f4,
  147     KC(119),                    KS_End,
  148     KC(120),KS_Cmd_Screen1,     KS_f2,
  149     KC(121),KS_Cmd_ScrollFastDown, KS_Next,
  150     KC(122),KS_Cmd_Screen0,     KS_f1,
  151 
  152     KC(127),  KS_Cmd_Debugger,
  153 };
  154 
  155 static const keysym_t akbd_keydesc_fr[] = {
  156 /*  pos         normal          shifted         altgr           shift-altgr */
  157     KC(0),      KS_q,
  158     KC(1),      KS_s,           KS_S,           KS_Ograve,
  159     KC(4),      KS_h,           KS_H,           KS_Igrave,      KS_Icircumflex,
  160     KC(6),      KS_w,           KS_W,           KS_less,        KS_greater,
  161     KC(8),      KS_c,           KS_C,           KS_copyright,   KS_cent,
  162     KC(10),     KS_at,          KS_numbersign,
  163     KC(11),     KS_b,           KS_B,           KS_ssharp,      
  164     KC(12),     KS_a,           KS_A,           KS_ae,          KS_AE,
  165     KC(13),     KS_z,           KS_Z,           KS_Acircumflex, KS_Aring,
  166     KC(14),     KS_e,           KS_E,           KS_ecircumflex, KS_Ecircumflex,
  167     KC(15),     KS_r,           KS_R,           KS_registered,  /* Euro */
  168     KC(16),     KS_y,           KS_Y,           KS_Uacute,
  169     KC(18),     KS_ampersand,   KS_1,           KS_voidSymbol,  KS_dead_acute,
  170     KC(19),     KS_eacute,      KS_2,           KS_ediaeresis,
  171     KC(20),     KS_quotedbl,    KS_3,
  172     KC(21),     KS_apostrophe,  KS_4,           KS_braceleft,   KS_bracketleft,
  173     KC(22),     KS_section,     KS_6,           KS_paragraph,   
  174     KC(23),     KS_parenleft,   KS_5,           KS_braceleft,   KS_bracketleft,
  175     KC(24),     KS_minus,       KS_underscore,  KS_braceright,
  176     KC(25),     KS_ccedilla,    KS_9,           KS_Ccedilla,    KS_Agrave,
  177     KC(26),     KS_egrave,      KS_7,           KS_guillemotleft,KS_guillemotright,
  178     KC(27),     KS_parenright,  KS_degree,      KS_braceright,  KS_bracketright,
  179     KC(28),     KS_exclam,      KS_8,           KS_exclamdown,  KS_Ucircumflex,
  180     KC(29),     KS_agrave,      KS_0,           KS_oslash,
  181     KC(30),     KS_dollar,      KS_asterisk,    KS_comma,       KS_yen,
  182     KC(33),     KS_dead_circumflex, KS_dead_diaeresis,KS_ocircumflex,KS_Ocircumflex,
  183     KC(34),     KS_i,           KS_I,           KS_icircumflex, KS_Icircumflex,
  184     KC(37),     KS_l,           KS_L,           KS_notsign,     KS_bar,
  185     KC(38),     KS_j,           KS_J,           KS_Idiaeresis,  KS_Igrave,
  186     KC(39),     KS_ugrave,      KS_percent,     KS_Ugrave,
  187     KC(40),     KS_k,           KS_K,           KS_Egrave,      KS_Ediaeresis,
  188     KC(41),     KS_m,           KS_M,           KS_mu,          KS_Ograve,
  189     KC(42),     KS_dead_grave,  KS_sterling,    KS_at,          KS_numbersign,
  190     KC(43),     KS_semicolon,   KS_period,
  191     KC(44),     KS_equal,       KS_plus,        KS_voidSymbol,  KS_plusminus,
  192     KC(45),     KS_n,           KS_N,           KS_dead_tilde,
  193     KC(46),     KS_comma,       KS_question,    KS_voidSymbol,  KS_questiondown,
  194     KC(47),     KS_colon,       KS_slash,       KS_division,    KS_backslash,
  195     KC(50),     KS_less,        KS_greater,
  196     KC(52),     KS_Alt_R,
  197     KC(55),     KS_Meta_L,                              /* Command */
  198     KC(58),     KS_Mode_switch, KS_Multi_key,           /* Option */
  199 };
  200 
  201 static const keysym_t akbd_keydesc_fr_nodead[] = {
  202     KC(18),     KS_ampersand,   KS_1,           KS_voidSymbol,  KS_acute,
  203     KC(33),     KS_asciicircum, KS_diaeresis,   KS_ocircumflex, KS_Ocircumflex,
  204     KC(42),     KS_grave,       KS_sterling,    KS_at,          KS_numbersign,
  205     KC(45),     KS_n,           KS_N,           KS_asciitilde,
  206 };
  207 
  208 static const keysym_t akbd_keydesc_jp[] = {
  209 /*  pos      command            normal          shifted */
  210     KC(19),                     KS_2,           KS_quotedbl,
  211     KC(22),                     KS_6,           KS_ampersand,
  212     KC(24),                     KS_asciicircum, KS_asciitilde,
  213     KC(25),                     KS_9,           KS_parenright,
  214     KC(26),                     KS_7,           KS_apostrophe,
  215     KC(27),                     KS_minus,       KS_equal,
  216     KC(28),                     KS_8,           KS_parenleft,
  217     KC(29),                     KS_0,
  218     KC(30),                     KS_bracketleft, KS_braceleft,
  219     KC(33),                     KS_at,          KS_grave,
  220     KC(39),                     KS_colon,       KS_asterisk,
  221 
  222     KC(41),                     KS_semicolon,   KS_plus,
  223     KC(42),                     KS_bracketright,KS_braceright,
  224     KC(93),                     KS_backslash,   KS_bar,
  225     KC(94),                     KS_underscore,
  226 };
  227 
  228 static const keysym_t akbd_keydesc_uk[] = {
  229 /*  pos         normal          shifted         altgr           shift-altgr */
  230     KC(10),     KS_section,     KS_plusminus,
  231     KC(20),     KS_3,           KS_sterling,    KS_numbersign,
  232     KC(52),     KS_KP_Enter,
  233     KC(58),     KS_Mode_switch, KS_Multi_key,           /* Option */
  234 };
  235 
  236 static const keysym_t akbd_keydesc_sv[] = {
  237 /*  pos         normal          shifted         altgr           shift-altgr */
  238     KC(10),     KS_section,     KS_degree,
  239     KC(19),     KS_2,           KS_quotedbl,    KS_at,
  240     KC(21),     KS_4,           KS_dollar,
  241     KC(22),     KS_6,           KS_ampersand,
  242     KC(24),     KS_dead_acute,  KS_dead_grave,
  243     KC(25),     KS_9,           KS_parenright,  KS_bracketright,
  244     KC(26),     KS_7,           KS_slash,       KS_braceleft,
  245     KC(27),     KS_plus,        KS_question,    KS_backslash,
  246     KC(28),     KS_8,           KS_parenleft,   KS_bracketleft,
  247     KC(29),     KS_0,           KS_equal,       KS_braceright,
  248     KC(30),     KS_dead_diaeresis,KS_dead_circumflex,KS_dead_tilde,
  249     KC(33),     KS_aring,
  250     KC(39),     KS_adiaeresis,
  251     KC(41),     KS_odiaeresis,
  252     KC(42),     KS_apostrophe,  KS_asterisk,
  253     KC(43),     KS_comma,       KS_semicolon,
  254     KC(44),     KS_minus,       KS_underscore,
  255     KC(47),     KS_period,      KS_colon,
  256     KC(50),     KS_less,        KS_greater,     KS_bar,
  257     KC(58),     KS_Mode_switch,KS_Multi_key,
  258 };
  259 
  260 static const keysym_t akbd_keydesc_sv_nodead[] = {
  261 /*  pos         normal          shifted         altgr           shift-altgr */
  262     KC(24),     KS_apostrophe,  KS_grave,
  263     KC(30),     KS_diaeresis,   KS_asciicircum, KS_asciitilde,
  264 };
  265 
  266 static const keysym_t akbd_keydesc_de[] = {
  267 /*  pos         normal          shifted         altgr           shift-altgr */
  268     KC(0),      KS_a,           KS_A,           KS_aring,       KS_Aring,
  269     KC(1),      KS_s,           KS_S,           KS_voidSymbol,  KS_Iacute,
  270     KC(3),      KS_f,           KS_F,           KS_voidSymbol,  KS_Idiaeresis,
  271     KC(4),      KS_h,           KS_H,           KS_ordfeminine, KS_Oacute,
  272     KC(5),      KS_g,           KS_G,           KS_copyright,   KS_Igrave,
  273     KC(6),      KS_y,           KS_Y,           KS_yen,
  274     KC(7),      KS_x,           KS_X,           KS_voidSymbol,  KS_Ugrave,
  275     KC(8),      KS_c,           KS_C,           KS_ccedilla,    KS_Ccedilla,
  276     KC(10),     KS_dead_circumflex,KS_degree,
  277     KC(12),     KS_q,           KS_Q,           KS_guillemotleft,KS_guillemotright,
  278     KC(15),     KS_r,           KS_R,           KS_registered,  KS_cedilla,
  279     KC(16),     KS_z,           KS_Z,
  280     KC(18),     KS_1,           KS_exclam,      KS_exclamdown,  KS_notsign,
  281     KC(19),     KS_2,           KS_quotedbl,
  282     KC(20),     KS_3,           KS_section,     KS_paragraph,   KS_numbersign,
  283     KC(21),     KS_4,           KS_dollar,      KS_cent,        KS_sterling,
  284     KC(22),     KS_6,           KS_ampersand,   KS_bracketright,KS_dead_circumflex,
  285     KC(23),     KS_5,           KS_percent,     KS_bracketleft,
  286     KC(24),     KS_dead_acute,  KS_dead_grave,  KS_apostrophe,
  287     KC(25),     KS_9,           KS_parenright,  KS_braceright,  KS_periodcentered,
  288     KC(26),     KS_7,           KS_slash,       KS_bar,         KS_backslash,
  289     KC(27),     KS_ssharp,      KS_question,    KS_questiondown,
  290     KC(28),     KS_8,           KS_parenleft,   KS_braceleft,
  291     KC(29),     KS_0,           KS_equal,       KS_voidSymbol,  KS_macron,
  292     KC(30),     KS_plus,        KS_asterisk,    KS_plusminus,
  293     KC(31),     KS_o,           KS_O,           KS_oslash,      KS_Ooblique,
  294     KC(32),     KS_u,           KS_U,           KS_dead_diaeresis,KS_Aacute,
  295     KC(33),     KS_udiaeresis,  KS_Udiaeresis,  KS_voidSymbol,  KS_degree,
  296     KC(34),     KS_i,           KS_I,           KS_voidSymbol,  KS_Ucircumflex,
  297     KC(37),     KS_l,           KS_L,           KS_at,
  298     KC(38),     KS_j,           KS_J,           KS_masculine,
  299     KC(39),     KS_adiaeresis,  KS_Adiaeresis,  KS_ae,          KS_AE,
  300     KC(41),     KS_odiaeresis,  KS_Odiaeresis,
  301     KC(42),     KS_numbersign,  KS_apostrophe,
  302     KC(43),     KS_comma,       KS_semicolon,
  303     KC(44),     KS_minus,       KS_underscore,
  304     KC(45),     KS_n,           KS_N,           KS_dead_tilde,
  305     KC(46),     KS_m,           KS_M,           KS_mu,
  306     KC(47),     KS_period,      KS_colon,
  307     KC(50),     KS_less,        KS_greater,
  308     KC(52),     KS_Multi_key,
  309     KC(58),     KS_Mode_switch,
  310 };
  311 
  312 static const keysym_t akbd_keydesc_de_nodead[] = {
  313 /*  pos         normal          shifted         altgr           shift-altgr */
  314     KC(10),     KS_asciicircum, KS_degree,
  315     KC(22),     KS_6,           KS_ampersand,   KS_bracketright,KS_asciicircum,
  316     KC(24),     KS_acute,       KS_grave,       KS_apostrophe,
  317     KC(32),     KS_u,           KS_U,           KS_diaeresis,   KS_Aacute,
  318     KC(45),     KS_n,           KS_N,           KS_asciitilde,
  319 };
  320 
  321 static const keysym_t akbd_keydesc_sf[] = {
  322 /*  pos         normal          shifted         altgr           shift-altgr */
  323     KC(6),      KS_y,
  324     KC(10),     KS_paragraph,   KS_degree,
  325     KC(16),     KS_z,
  326     KC(18),     KS_plus,        KS_1,
  327     KC(19),     KS_quotedbl,    KS_2,
  328     KC(20),     KS_asterisk,    KS_3,
  329     KC(21),     KS_ccedilla,    KS_4,           KS_Ccedilla,
  330     KC(22),     KS_ampersand,   KS_6,
  331     KC(23),     KS_percent,     KS_5,
  332     KC(24),     KS_dead_circumflex,KS_grave,
  333     KC(25),     KS_parenright,  KS_9,
  334     KC(26),     KS_slash,       KS_7,
  335     KC(27),     KS_apostrophe,  KS_question,
  336     KC(28),     KS_parenleft,   KS_8,
  337     KC(29),     KS_equal,       KS_0,
  338     KC(30),     KS_dead_diaeresis,KS_exclam,
  339     KC(33),     KS_egrave,      KS_udiaeresis,
  340     KC(39),     KS_agrave,      KS_adiaeresis,
  341     KC(41),     KS_eacute,      KS_odiaeresis,
  342     KC(42),     KS_dollar,      KS_sterling,
  343     KC(43),     KS_period,      KS_colon,
  344     KC(46),     KS_comma,       KS_semicolon,
  345     KC(47),     KS_minus,       KS_underscore,
  346     KC(50),     KS_less,        KS_greater,
  347 };
  348 
  349 static const keysym_t akbd_keydesc_es[] = {
  350 /*  pos         normal          shifted         altgr           shift-altgr */
  351     KC(10),     KS_degree,      KS_ordfeminine, KS_backslash,
  352     KC(18),     KS_1,           KS_exclam,      KS_bar,
  353     KC(19),     KS_2,           KS_quotedbl,    KS_at,
  354     KC(20),     KS_3,           KS_periodcentered, KS_numbersign,
  355     KC(21),     KS_4,           KS_dollar,      KS_asciitilde,
  356     KC(22),     KS_6,           KS_ampersand,   KS_notsign,
  357     KC(23),     KS_5,           KS_percent,
  358     KC(24),     KS_exclamdown,  KS_questiondown,
  359     KC(25),     KS_9,           KS_parenright,
  360     KC(26),     KS_7,           KS_slash,
  361     KC(27),     KS_apostrophe,  KS_question,
  362     KC(28),     KS_8,           KS_parenleft,
  363     KC(29),     KS_0,           KS_equal,
  364     KC(30),     KS_plus,        KS_asterisk,    KS_bracketright,
  365     KC(33),     KS_dead_grave,  KS_dead_circumflex, KS_bracketleft,
  366     KC(39),     KS_dead_acute,  KS_dead_diaeresis, KS_braceleft,
  367     KC(41),     KS_ntilde,
  368     KC(42),     KS_ccedilla,    KS_Ccedilla,    KS_braceright,
  369     KC(43),     KS_comma,       KS_semicolon,
  370     KC(44),     KS_minus,       KS_underscore,
  371     KC(47),     KS_period,      KS_colon,
  372     KC(50),     KS_less,        KS_greater,
  373     KC(55),     KS_Alt_L,                               /* Command */
  374     KC(58),     KS_Mode_switch, KS_Multi_key,           /* Option */
  375 };
  376 
  377 static const keysym_t akbd_keydesc_pt[] = {
  378 /*  pos         normal          shifted         altgr           shift-altgr */
  379     KC(7),      KS_x,           KS_X,           KS_guillemotleft, KS_guillemotright,
  380     KC(10),     KS_section,     KS_plusminus,
  381     KC(19),     KS_2,           KS_quotedbl,    KS_at,
  382     KC(20),     KS_3,           KS_numbersign,  KS_sterling,
  383     KC(22),     KS_6,           KS_ampersand,
  384     KC(24),     KS_plus,        KS_asterisk,
  385     KC(25),     KS_9,           KS_parenright,  KS_bracketright, KS_braceright,
  386     KC(26),     KS_7,           KS_slash,
  387     KC(27),     KS_apostrophe,  KS_question,
  388     KC(28),     KS_8,           KS_parenleft,   KS_bracketleft, KS_braceleft,
  389     KC(29),     KS_0,           KS_equal,
  390     KC(30),     KS_dead_acute,  KS_dead_grave,
  391     KC(33),     KS_masculine,   KS_ordfeminine,
  392     KC(39),     KS_dead_tilde,  KS_dead_circumflex,
  393     KC(41),     KS_ccedilla,    KS_Ccedilla,
  394     KC(43),     KS_comma,       KS_semicolon,
  395     KC(44),     KS_minus,       KS_underscore,
  396     KC(47),     KS_period,      KS_colon,
  397     KC(50),     KS_less,        KS_greater,
  398     KC(58),     KS_Mode_switch,
  399     KC(81),     KS_KP_Equal,
  400 };
  401 
  402 #define KBD_MAP(name, base, map) \
  403                         { name, base, sizeof(map)/sizeof(keysym_t), map }
  404 
  405 static const struct wscons_keydesc akbd_keydesctab[] = {
  406         KBD_MAP(KB_US,                  0,      akbd_keydesc_us),
  407         KBD_MAP(KB_FR,                  KB_US,  akbd_keydesc_fr),
  408         KBD_MAP(KB_JP,                  KB_US,  akbd_keydesc_jp),
  409         KBD_MAP(KB_FR | KB_NODEAD,      KB_FR,  akbd_keydesc_fr_nodead),
  410         KBD_MAP(KB_SF,                  KB_US,  akbd_keydesc_sf),
  411         KBD_MAP(KB_SV,                  KB_US,  akbd_keydesc_sv),
  412         KBD_MAP(KB_SV | KB_NODEAD,      KB_SV,  akbd_keydesc_sv_nodead),
  413         KBD_MAP(KB_DE,                  KB_US,  akbd_keydesc_de),
  414         KBD_MAP(KB_DE | KB_NODEAD,      KB_DE,  akbd_keydesc_de_nodead),
  415         KBD_MAP(KB_UK,                  KB_US,  akbd_keydesc_uk),
  416         KBD_MAP(KB_ES,                  KB_US,  akbd_keydesc_es),
  417         KBD_MAP(KB_PT,                  KB_US,  akbd_keydesc_pt),
  418         {0, 0, 0, 0}
  419 };
  420 
  421 #undef KBD_MAP
  422 #undef KC
  423 

Cache object: f2c14f92d53d9ec8c54e5d7f313be458


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.