From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: Date: Sat, 27 Jul 2019 11:21:19 +0200 From: cinap_lenrek@felloff.net To: 9fans@9fans.net In-Reply-To: AF69836B-E208-44B4-9CE0-6304BD7BEDCD@gmail.com MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] Trying to make 9front work on QWERTZ Topicbox-Message-UUID: 0332b0e6-eada-11e9-9d60-3106f5b1d025 on my t23, which has physical german keyboard layout, the scancode for the [<>|] key left to the [Y] key is 0x56 (86 decimal), which is not mapped with us layout. tho this is mapped in german keyboard layout: term% grep ' 86' /sys/lib/kbmap/de 0 86 '< 1 86 '> 2 86 0 3 86 '| 4 86 0 running the following on my t23 maps it. term% echo '0 0x56 ''<' > /dev/kbmap term% echo '1 0x56 ''>' > /dev/kbmap term% echo '3 0x56 ''|' > /dev/kbmap maybe your keyboard produces a different scancode? you can attach ratrace to kbdfs [scanproc] pid and look what it reads back from /dev/scancode for a ps2 keyboard. usb keyboards work differently. you can bring back that scancode debug thing with F11/F12 with the following patch which should work for both ps2 and usb keyboards. --- a/sys/src/cmd/aux/kbdfs/kbdfs.c Thu Jul 25 17:44:47 2019 +0200 +++ b/sys/src/cmd/aux/kbdfs/kbdfs.c Sat Jul 27 11:12:20 2019 +0200 @@ -43,6 +43,7 @@ int alt; int altgr; int leds; + int debug; }; struct Qtab { @@ -337,6 +338,9 @@ { Key key; + if(scan->debug) + fprint(2, "kbdputsc %#p sc %x esc1 %d esc2 %d\n", scan, c, scan->esc1, scan->esc2); + /* * e0's is the first of a 2 character sequence, e1 and e2 the first * of a 3 character sequence (on the safari) @@ -390,6 +394,13 @@ if(scan->ctl && scan->alt && key.r == Kdel) reboot(); + if(key.down){ + if(key.b == (KF|11)) + scan->debug = 1; + if(key.b == (KF|12)) + scan->debug = 0; + } + if(key.b) send(keychan, &key); after applying that change, run mk install in /sys/src/cmd/aux/kbdfs and then rebuild the kernel (as kbdfs gets included into the kernel image). -- cinap