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: