diff --git a/sys/dev/pckbport/wskbdmap_mfii.c b/sys/dev/pckbport/wskbdmap_mfii.c index c5291fadf547..f00dde862916 100644 --- a/sys/dev/pckbport/wskbdmap_mfii.c +++ b/sys/dev/pckbport/wskbdmap_mfii.c @@ -1,4 +1,4 @@ -/* $NetBSD: wskbdmap_mfii.c,v 1.17 2009/04/06 17:32:09 mkirby Exp $ */ +/* $NetBSD: wskbdmap_mfii.c,v 1.18 2009/06/13 20:21:56 tonnerre Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: wskbdmap_mfii.c,v 1.17 2009/04/06 17:32:09 mkirby Exp $"); +__KERNEL_RCSID(0, "$NetBSD: wskbdmap_mfii.c,v 1.18 2009/06/13 20:21:56 tonnerre Exp $"); #include "opt_wskbdmap.h" #include @@ -225,6 +225,49 @@ static const keysym_t pckbd_keydesc_de_nodead[] = { KC(41), KS_asciicircum, KS_degree, }; +static const keysym_t pckbd_keydesc_sg[] = { +/* pos normal shifted altgr shift-altgr */ + KC(2), KS_1, KS_plus, KS_bar, + KC(3), KS_2, KS_quotedbl, KS_at, + KC(4), KS_3, KS_asterisk, KS_numbersign, + KC(5), KS_4, KS_ccedilla, + KC(7), KS_6, KS_ampersand, KS_notsign, + KC(8), KS_7, KS_slash, KS_brokenbar, + KC(9), KS_8, KS_parenleft, KS_cent, + KC(10), KS_9, KS_parenright, + KC(11), KS_0, KS_equal, + KC(12), KS_apostrophe, KS_question, KS_dead_acute, + KC(13), KS_dead_circumflex,KS_dead_grave, KS_dead_tilde, + KC(18), KS_e, KS_E, KS_currency, + KC(21), KS_z, + KC(26), KS_udiaeresis, KS_egrave, KS_bracketleft, + KC(27), KS_dead_diaeresis, KS_exclam, KS_bracketright, + KC(39), KS_odiaeresis, KS_eacute, + KC(40), KS_adiaeresis, KS_agrave, KS_braceleft, + KC(41), KS_section, KS_degree, KS_dead_abovering, + KC(43), KS_dollar, KS_sterling, KS_braceright, + KC(44), KS_y, + KC(51), KS_comma, KS_semicolon, + KC(52), KS_period, KS_colon, + KC(53), KS_minus, KS_underscore, + KC(86), KS_less, KS_greater, KS_backslash, + KC(184), KS_Mode_switch, KS_Multi_key, +}; + +static const keysym_t pckbd_keydesc_sg_nodead[] = { +/* pos normal shifted altgr shift-altgr */ + KC(12), KS_apostrophe, KS_question, KS_acute, + KC(13), KS_asciicircum, KS_grave, KS_asciitilde, + KC(27), KS_diaeresis, KS_exclam, KS_bracketright +}; + +static const keysym_t pckbd_keydesc_sf[] = { +/* pos normal shifted altgr shift-altgr */ + KC(26), KS_egrave, KS_udiaeresis, KS_bracketleft, + KC(39), KS_eacute, KS_odiaeresis, + KC(40), KS_agrave, KS_adiaeresis, KS_braceleft +}; + static const keysym_t pckbd_keydesc_dk[] = { /* pos normal shifted altgr shift-altgr */ KC(3), KS_2, KS_quotedbl, KS_at, @@ -647,6 +690,10 @@ const struct wscons_keydesc pckbd_keydesctab[] = { #ifndef WSKBD_USONLY KBD_MAP(KB_DE, KB_US, pckbd_keydesc_de), KBD_MAP(KB_DE | KB_NODEAD, KB_DE, pckbd_keydesc_de_nodead), + KBD_MAP(KB_SG, KB_US, pckbd_keydesc_sg), + KBD_MAP(KB_SG | KB_NODEAD, KB_SG, pckbd_keydesc_sg_nodead), + KBD_MAP(KB_SF, KB_SG, pckbd_keydesc_sf), + KBD_MAP(KB_SF | KB_NODEAD, KB_SF, pckbd_keydesc_sg_nodead), KBD_MAP(KB_FR, KB_US, pckbd_keydesc_fr), KBD_MAP(KB_DK, KB_US, pckbd_keydesc_dk), KBD_MAP(KB_DK | KB_NODEAD, KB_DK, pckbd_keydesc_dk_nodead), @@ -678,6 +725,7 @@ const struct wscons_keydesc pckbd_keydesctab[] = { KBD_NULLMAP(KB_US | KB_MACHDEP, KB_US), #ifndef WSKBD_USONLY KBD_NULLMAP(KB_DE | KB_MACHDEP, KB_DE), + KBD_NULLMAP(KB_SG | KB_MACHDEP, KB_SG), KBD_NULLMAP(KB_ES | KB_MACHDEP, KB_ES), KBD_NULLMAP(KB_FR | KB_MACHDEP, KB_FR), KBD_NULLMAP(KB_JP | KB_MACHDEP, KB_JP),