Scanovani klavesnice

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Středa Listopad 21 02:40:20 CET 2001


On Mon, 19 Nov 2001, Richard Richter wrote:

> Dnes opet problem s trochu exotickym HW - Sun Keyboard Type 6 USB. Po
> leve strane deset klaves navic, nad tim klavesa help, nad numpadem pak
> MUTE, volume vic, min, a power on klavesa... Vsechny tyto kousky bych
> rad nejak "osedlal", ale nedari se mi to.
[...]

Vec funguje nasledujicim zpusobem:

1. bez X: driver v jadre vytaha z prislusneho I/O portu scancode, ten pak
prelozi na jednobajtovy keycode a ten pak pomoci klavesove mapy prelozi na
urcitou akci; scancody lze z userlandu pozorovat v raw modu, keycody
v mediumraw modu (viz tez kbd_mode(1))

2. XFree86: X server nastavi konzoli do raw modu a sam si preklada prijate
scancody na keycody (ne nutne tytez, co pouziva jadro), ktere pak posila
klientum (pokud se do too nemichaji nektere speciality z XKB apod.), kteri
si je pomoci dodane mapy prekladaji na keysymy

Pokud je ta klavesnice na USB, muze to byt ve spodnich vrstvach ponekud
slozitejsi.

> V Xech jsem nahodou narazil na xev, ktery u kazde z nich vypsal kod
> 135, ale scan kod zadny... (resp. 0), coz mne zarazilo. A jak rikam -

To nulove byl spis shiftstate, protoze xev zadny scancode neukazuje.
A jestli vsechny maji keycode 135, tak to bud blbe X server chape...nebo
to do nej uz blbe chodi. Doporucuji zaexperimentovat se zminovanym
kbd_mode (ale opatrne). Kdysi jsem dokonce videl specializovany programek
na testovani scancodu, ktery raw mod sam nastavil i zrusil a to, co
precetl mezi tim, nejak srozumitelne vypsal, ale bylo to uz davno na
nejakem archaickem slackwaru.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux