summaryrefslogtreecommitdiff
path: root/sys/dev/usb
diff options
context:
space:
mode:
authoraugustss <augustss@NetBSD.org>2002-03-17 18:01:07 +0000
committeraugustss <augustss@NetBSD.org>2002-03-17 18:01:07 +0000
commit3fba39846be42074bcddc87902371b56ece0abf9 (patch)
treee2fb8d182397b339b532e9434f1c90a5267616de /sys/dev/usb
parentada83730a89ac444330094167c924c5b7ca69ccc (diff)
Add Swiss keyboard mappings. From OpenBSD.
Diffstat (limited to 'sys/dev/usb')
-rw-r--r--sys/dev/usb/ukbdmap.c51
1 files changed, 49 insertions, 2 deletions
diff --git a/sys/dev/usb/ukbdmap.c b/sys/dev/usb/ukbdmap.c
index fd92efd4213..c082c675bc8 100644
--- a/sys/dev/usb/ukbdmap.c
+++ b/sys/dev/usb/ukbdmap.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ukbdmap.c,v 1.9 2002/02/28 00:30:13 augustss Exp $ */
+/* $NetBSD: ukbdmap.c,v 1.10 2002/03/17 18:01:07 augustss Exp $ */
/*
* Copyright (c) 1999,2001 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ukbdmap.c,v 1.9 2002/02/28 00:30:13 augustss Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ukbdmap.c,v 1.10 2002/03/17 18:01:07 augustss Exp $");
#include <sys/types.h>
#include <dev/wscons/wsksymdef.h>
@@ -394,6 +394,49 @@ Static const keysym_t ukbd_keydesc_es[] = {
KC(230), KS_Mode_switch, KS_Multi_key,
};
+Static const keysym_t ukbd_keydesc_sg[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(30), KS_1, KS_plus, KS_bar,
+ KC(31), KS_2, KS_quotedbl, KS_at,
+ KC(32), KS_3, KS_asterisk, KS_numbersign,
+ KC(33), KS_4, KS_ccedilla,
+ KC(35), KS_6, KS_ampersand, KS_notsign,
+ KC(36), KS_7, KS_slash, KS_brokenbar,
+ KC(37), KS_8, KS_parenleft, KS_cent,
+ KC(38), KS_9, KS_parenright,
+ KC(39), KS_0, KS_equal,
+ KC(45), KS_apostrophe, KS_question, KS_dead_acute,
+ KC(46), KS_dead_circumflex,KS_dead_grave, KS_dead_tilde,
+ KC(8), KS_e, KS_E, KS_currency,
+ KC(28), KS_z,
+ KC(47), KS_udiaeresis, KS_egrave, KS_bracketleft,
+ KC(48), KS_dead_diaeresis, KS_exclam, KS_bracketright,
+ KC(51), KS_odiaeresis, KS_eacute,
+ KC(52), KS_adiaeresis, KS_agrave, KS_braceleft,
+ KC(53), KS_section, KS_degree, KS_dead_abovering,
+ KC(50), KS_dollar, KS_sterling, KS_braceright,
+ KC(29), KS_y,
+ KC(54), KS_comma, KS_semicolon,
+ KC(55), KS_period, KS_colon,
+ KC(56), KS_minus, KS_underscore,
+ KC(100), KS_less, KS_greater, KS_backslash,
+ KC(230), KS_Mode_switch, KS_Multi_key,
+};
+
+Static const keysym_t ukbd_keydesc_sg_nodead[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(45), KS_apostrophe, KS_question, KS_acute,
+ KC(46), KS_asciicircum, KS_grave, KS_asciitilde,
+ KC(48), KS_diaeresis, KS_exclam, KS_bracketright
+};
+
+Static const keysym_t ukbd_keydesc_sf[] = {
+/* pos normal shifted altgr shift-altgr */
+ KC(47), KS_egrave, KS_udiaeresis, KS_bracketleft,
+ KC(51), KS_eacute, KS_odiaeresis,
+ KC(52), KS_agrave, KS_adiaeresis, KS_braceleft
+};
+
#define KBD_MAP(name, base, map) \
{ name, base, sizeof(map)/sizeof(keysym_t), map }
@@ -415,6 +458,10 @@ const struct wscons_keydesc ukbd_keydesctab[] = {
KBD_MAP(KB_NO, KB_DK, ukbd_keydesc_no),
KBD_MAP(KB_NO | KB_NODEAD, KB_NO, ukbd_keydesc_no_nodead),
KBD_MAP(KB_ES , KB_US, ukbd_keydesc_es),
+ KBD_MAP(KB_SG, KB_US, ukbd_keydesc_sg),
+ KBD_MAP(KB_SG | KB_NODEAD, KB_SG, ukbd_keydesc_sg_nodead),
+ KBD_MAP(KB_SF, KB_SG, ukbd_keydesc_sf),
+ KBD_MAP(KB_SF | KB_NODEAD, KB_SF, ukbd_keydesc_sg_nodead),
{0, 0, 0, 0}
};