Subject: kern/24924: Slovenian keymap added
To: None <>
From: None <>
List: netbsd-bugs
Date: 03/26/2004 15:45:07
>Number:         24924
>Category:       kern
>Synopsis:       Slovenian keymap added
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Fri Mar 26 15:46:00 UTC 2004
>Originator:     Jernej Kovacic
>Release:        None (OpenBSD 3.4)
At the moment I don't have enough diskspace to add NetBSD to other operating systems
Recently I added Slovenian keymap into OpenBSD kernel. As OpenBSD is a "son" of NetBSD, both use equal keymap mechanism so why not apply the same changes into NetBSD. Under "Fix to the problem" field I enclose two unified diffs (diff -pu), if you prefer so I can also send them by email.  After applying the changes one should copy wsksymdef.h to /usr/include/dev/wscons, recompile the kernel, and then recompile kbd and wsconsctl. If everything recompiles and kbd -l outputs "si" among others and you can select the keymap with kbd si, everything was OK. Some instructions in Slovenian only can be found at <> but do not use the files from there as they are out of date. 

If you have any further questions do not hesitate to ask me.

A unified diff relative to /usr/src/sys/dev/pckbport/wskbdmap_mfii.c revision 1.2 (it was in /usr/src/sys/dev/pckbc in NetBSD release 1.6.2):

--- wskbdmap_mfii.c.old	Wed Mar 17 22:17:09 2004
+++ wskbdmap_mfii.c	Wed Mar 17 22:30:29 2004
@@ -412,6 +412,46 @@ static const keysym_t pckbd_keydesc_pt[]
     KC(184), KS_Mode_switch,	KS_Multi_key,
+static const keysym_t pckbd_keydesc_si[]=
+/*  	pos	normal		shift		altgr		*/
+    	KC(2),	KS_1,		KS_exclam,	KS_asciitilde,
+	KC(3),	KS_2,		KS_quotedbl,	KS_L2_caron,
+	KC(4),	KS_3,		KS_numbersign,	KS_asciicircum,
+	KC(5),	KS_4,		KS_dollar,	KS_L2_breve,
+	KC(6),	KS_5,		KS_percent,	KS_degree,
+	KC(7),	KS_6,		KS_ampersand,	KS_L2_ogonek,
+	KC(8),	KS_7,		KS_slash,	KS_grave,
+	KC(9),	KS_8,		KS_parenleft,	KS_L2_dotabove,
+	KC(10),	KS_9,		KS_parenright,	KS_acute,
+	KC(11),	KS_0,		KS_equal,	KS_L2_dblacute,
+	KC(12), KS_apostrophe,	KS_question,	KS_diaeresis,
+	KC(13),	KS_plus,	KS_asterisk,	KS_cedilla,
+	KC(16),	KS_q,		KS_Q,		KS_backslash,
+	KC(17),	KS_w,		KS_W,		KS_bar,
+	KC(21),	KS_z,		KS_Z,
+	KC(26),	KS_L2_scaron,	KS_L2_Scaron,	KS_division,
+	KC(27),	KS_L2_dstroke,	KS_L2_Dstroke,	KS_multiply,
+	KC(33),	KS_f,		KS_F,		KS_bracketleft,
+	KC(34),	KS_g,		KS_G,		KS_bracketright,
+	KC(37),	KS_k,		KS_K,		KS_L2_lstroke,
+	KC(38),	KS_l,		KS_L,		KS_L2_Lstroke,
+	KC(39),	KS_L2_ccaron,	KS_L2_Ccaron,	
+	KC(40),	KS_L2_cacute,	KS_L2_Cacute,	KS_ssharp,
+	KC(41),	KS_cedilla,	KS_diaeresis,
+	KC(43),	KS_L2_zcaron,	KS_L2_Zcaron,	KS_currency,
+	KC(44),	KS_y,		KS_Y,
+	KC(47),	KS_v,		KS_V,		KS_at,
+	KC(48),	KS_b,		KS_B,		KS_braceleft,
+	KC(49),	KS_n,		KS_N,		KS_braceright,
+	KC(50),	KS_m,		KS_M,		KS_section,
+	KC(51),	KS_comma,	KS_semicolon,
+	KC(52),	KS_period,	KS_colon,
+	KC(53), KS_minus,	KS_underscore,
+	KC(86), KS_less,	KS_greater,
+	KC(184), KS_Mode_switch,	KS_Multi_key,
 static const keysym_t pckbd_keydesc_us_declk[] = {
 /*  pos      normal		shifted		altgr		shift-altgr */
     KC(1),	KS_grave,	KS_asciitilde, /* replace escape */
@@ -542,6 +582,7 @@ const struct wscons_keydesc pckbd_keydes
 	KBD_MAP(KB_ES ,			KB_US,	pckbd_keydesc_es),
 	KBD_MAP(KB_PT,			KB_US,	pckbd_keydesc_pt),
+	KBD_MAP(KB_SI,			KB_US,	pckbd_keydesc_si),
 	/* placeholders */