Re: Trying to make 9front work on QWERTZ

[email protected]
Newsgroups gmane.os.plan9.general
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.