Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: bin/49998: wsconsctl does not modify keyboard encoding correctly

4 views
Skip to first unread message

Vicente Chaves de Melo

unread,
Jul 27, 2015, 5:01:31 PM7/27/15
to
The following reply was made to PR bin/49998; it has been noted by GNATS.

From: Vicente Chaves de Melo <vch...@ymail.com>
To: gnats...@NetBSD.org
Cc:
Subject: Re: bin/49998: wsconsctl does not modify keyboard encoding correctly
Date: Mon, 27 Jul 2015 17:37:07 -0300

Hello
Finally I was able to understand the source of the problem and create a
workaround to allow the correct operation of the abnt2 usb keyboard.
In this particular server there is only a USB keyboard connected, but
due to the BIOS setup the kernel identifies two keyboard during the
boot, a pckbd0 and other ukbd0 as we can see below:

target# dmesg | grep wskbd
wskbd0 at pckbd0: console keyboard, using wsdisplay0
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0

target# wsmuxctl -f /dev/wsmux1 -L
wskbd0
wskbd1

When I run the command wsconsctl -w map+="keycode 20 = q Q slash" the
kernel gets confused and changes the maplen of ukbd0 (sc_maplen=232) to
be equal to that of pckbd0(sc_maplen=222), which effectively removes
from ukbd0 device, keys with keycode greater than 222:

keycode 224 = Cmd1 Control_L
keycode 225 = Shift_L
keycode 226 = Cmd2 Alt_L
keycode 227 = Meta_L
keycode 228 = Control_R
keycode 229 = Shift_R
keycode 230 = Mode_switch Multi_key
keycode 231 = Meta_R

What makes the keyboard useless.

I created the file /usr/share/wscons/keymaps/ukbd.br.abnt2 to be used to
map the usb keyboard ABNT2 that explicitly adds the keys with encoding
greater than 222:

target# cat /usr/share/wscons/keymaps/ukbd.br.abnt2
keycode 30 = 1 exclam onesuperior
keycode 31 = 2 at twosuperior
keycode 32 = 3 numbersign threesuperior
keycode 33 = 4 dollar sterling
keycode 34 = 5 percent cent
keycode 35 = 6 dead_diaeresis notsign
keycode 46 = equal plus section
keycode 20 = q Q slash
keycode 26 = w W question
keycode 8 = e E degree
keycode 47 = dead_acute dead_grave
keycode 48 = bracketleft braceleft ordfeminine
keycode 51 = ccedilla Ccedilla
keycode 52 = dead_tilde dead_circumflex
keycode 53 = apostrophe quotedbl
keycode 49 = bracketright braceright masculine
keycode 56 = semicolon colon
keycode 50 = backslash bar
keycode 99 = KP_Delete KP_Separator
keycode 135 = slash question degree
keycode 133 = KP_Decimal
keycode 224 = Cmd1 Control_L
keycode 225 = Shift_L
keycode 226 = Cmd2 Alt_L
keycode 227 = Meta_L
keycode 228 = Control_R
keycode 229 = Shift_R
keycode 230 = Mode_switch Multi_key
keycode 231 = Meta_R

I can confirm that with this file I have a fully functional USB
Brazilian ABNT2 keyboard.

It would be nice if this file is made available for use by another
Brazilian users

From my point of view this PR can be closed

Best regards
Vicente


On 23/06/2015 14:30, gnats...@netbsd.org wrote:
> Thank you very much for your problem report.
> It has the internal identification `bin/49998'.
> The individual assigned to look at your
> report is: bin-bug-people.
>
>> Category: bin
>> Responsible: bin-bug-people
>> Synopsis: wsconsctl does not modify keyboard encoding correctly
>> Arrival-Date: Tue Jun 23 17:30:00 +0000 2015



--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-...@muc.de
0 new messages