Subject: misc/11186: wscons doesn't have a Finnish keymap
To: None <gnats-bugs@gnats.netbsd.org>
From: None <fizban@fiiu.org>
List: netbsd-bugs
Date: 10/10/2000 03:41:08
>Number:         11186
>Category:       misc
>Synopsis:       wscons doesn't have a Finnish keymap
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    misc-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 10 03:41:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Heikki Kallasjoki
>Release:        1.4.2
>Organization:
n/a
>Environment:
NetBSD agrajag.fizzie.baz 1.4.2 NetBSD 1.4.2 (AGRAJAG) #5: Tue Oct 10 14:06:59 EEST 2000     toor@agrajag.fizzie.baz:/usr/src/sys/arch/i386/compile/AGRAJAG i386
>Description:
There is no Finnish keyboard mapping in wscons
>How-To-Repeat:
Use NetBSD with wscons and notice that there is no suitable
keymap for the Finnish keyboard layout.
>Fix:
Apply the following patch:
---clip---

diff -r -u sys.orig/dev/pckbc/wskbdmap_mfii.c sys/dev/pckbc/wskbdmap_mfii.c
--- sys.orig/dev/pckbc/wskbdmap_mfii.c  Sat Dec  4 21:43:32 1999
+++ sys/dev/pckbc/wskbdmap_mfii.c       Tue Oct 10 13:23:24 2000
@@ -221,6 +221,46 @@
     KC(27),  KS_diaeresis,     KS_asciicircum, KS_asciitilde,
 };

+static const keysym_t pckbd_keydesc_fi[] = {
+/*  pos      normal    shifted      altgr      shift-altgr */
+    KC(2),   KS_1,     KS_exclam,   KS_exclamdown, KS_onesuperior,
+    KC(3),   KS_2,     KS_quotedbl, KS_at,     KS_twosuperior,
+    KC(4),   KS_3,     KS_numbersign, KS_sterling, KS_threesuperior,
+    KC(5),   KS_4,     KS_currency,   KS_dollar,
+    KC(6),   KS_5,     KS_percent,
+    KC(7),   KS_6,     KS_ampersand,
+    KC(8),   KS_7,     KS_slash,    KS_braceleft,
+    KC(9),   KS_8,     KS_parenleft, KS_bracketleft,
+    KC(10),  KS_9,     KS_parenright, KS_bracketright,
+    KC(11),  KS_0,     KS_equal,    KS_braceright,
+    KC(12),  KS_plus,  KS_question, KS_backslash, KS_questiondown,
+    KC(13),  KS_dead_acute, KS_dead_grave,
+    KC(14),  KS_BackSpace,
+    KC(15),  KS_Tab,
+    KC(19),  KS_r,     KS_R,         KS_registered,
+    KC(21),  KS_y,     KS_Y,         KS_yen,
+    KC(26),  KS_aring, KS_Aring,
+    KC(27),  KS_dead_diaeresis, KS_dead_circumflex, KS_dead_tilde,
+    KC(39),  KS_odiaeresis, KS_Odiaeresis,
+    KC(40),  KS_adiaeresis, KS_Adiaeresis,
+    KC(41),  KS_paragraph, KS_onehalf, KS_section, KS_notsign,
+    KC(43),  KS_apostrophe, KS_asterisk, KS_degree, KS_plusminus,
+    KC(46),  KS_c,     KS_C,         KS_copyright,
+    KC(50),  KS_m,     KS_M,         KS_mu,
+    KC(51),  KS_comma, KS_semicolon,
+    KC(52),  KS_period, KS_colon,
+    KC(53),  KS_minus, KS_underscore,
+    KC(57),  KS_space, KS_space,     KS_nobreakspace,
+    KC(86),  KS_less,  KS_greater,   KS_bar,   KS_brokenbar,
+    KC(184), KS_Mode_switch, KS_Multi_key,
+};
+
+static const keysym_t pckbd_keydesc_fi_nodead[] = {
+/*  pos      normal    shifted      altgr      shift-altgr */
+    KC(13),  KS_acute, KS_grave,
+    KC(27),  KS_diaeresis, KS_asciicircum,
+};
+
 static const keysym_t pckbd_keydesc_fr[] = {
 /*  pos             normal             shifted         altgr           shift-altgr */
     KC(2),   KS_ampersand,     KS_1,
@@ -431,6 +471,8 @@
        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),
+       KBD_MAP(KB_FI,                  KB_US,  pckbd_keydesc_fi),
+       KBD_MAP(KB_FI | KB_NODEAD,      KB_FI,  pckbd_keydesc_fi_nodead),
        KBD_MAP(KB_IT,                  KB_US,  pckbd_keydesc_it),
        KBD_MAP(KB_UK,                  KB_US,  pckbd_keydesc_uk),
        KBD_MAP(KB_JP,                  KB_US,  pckbd_keydesc_jp),
diff -r -u sys.orig/dev/wscons/wsksymdef.h sys/dev/wscons/wsksymdef.h
--- sys.orig/dev/wscons/wsksymdef.h     Sat Dec  4 21:41:46 1999
+++ sys/dev/wscons/wsksymdef.h  Tue Oct 10 13:26:59 2000
@@ -468,6 +468,7 @@
 #define KB_UK                  0x0700
 #define KB_JP                  0x0800
 #define KB_SV                  0x0900
+#define KB_FI                  0x0A00

 #define KB_NODEAD              0x0001
 #define KB_DECLK               0x0002  /* DEC LKnnn layout */
@@ -480,6 +481,7 @@
        { KB_US,        "us" }, \
        { KB_DE,        "de" }, \
        { KB_DK,        "dk" }, \
+       { KB_FI,        "fi" }, \
        { KB_IT,        "it" }, \
        { KB_FR,        "fr" }, \
        { KB_UK,        "uk" }, \

---clap---
>Release-Note:
>Audit-Trail:
>Unformatted: