There is a lot of patching in maiko to handle new keyboards as they became available.
Sometimes by introducing yet another layer
Just to get an “order of magnitude” handle on how much code to read and understand:
cd maiko
grep -ri keyboard src inc
--
https://LarryMasinter.net https://interlisp.org
On Feb 21, 2022, at 2:49 PM, Larry Masinter <L...@acm.org> wrote:
There is a lot of patching in maiko to handle new keyboards as they became available.Sometimes by introducing yet another layerJust to get an “order of magnitude” handle on how much code to read and understand:cd maikogrep -ri keyboard src inc
<image001.png>
--
You received this message because you are subscribed to the Google Groups "Medley Interlisp core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lispcore+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lispcore/002a01d82775%244b1628f0%24e1427ad0%24%40acm.org.
Maiko traffics in X11 *key codes* not *key syms* -- see https://tronche.com/gui/x/xlib/input/keyboard-encoding.html but the code gets the key syms associated with each key code to guide the construction of its own X11 key code to Lisp key number (i.e., bit number in the 112 bit (= 7x16) key bits)
From "xev" with US keyboard:KeyRelease event, serial 34, synthetic NO, window 0x600001,root 0x1a1, subw 0x0, time 516050454, (142,86), root:(142,109),state 0x0, keycode 58 (keysym 0x60, grave), same_screen YES,XLookupString gives 1 bytes: (60) "`"XFilterEvent returns: False
and with the German keyboard:KeyRelease event, serial 34, synthetic NO, window 0x600001,root 0x1a1, subw 0x0, time 516123922, (114,136), root:(114,159),state 0x0, keycode 58 (keysym 0x3c, less), same_screen YES,XLookupString gives 1 bytes: (3c) "<"XFilterEvent returns: False