Billentyű meghajtó írás

Fórumok

Hali Mindenki !

Én egy sajátos billentyűzési protokollt szeretnék megvalósítani, ehhez a /dev/input/eventX valamelyik pontjára szeretnék felcsatlakozni, és a megvalósított protokoll eredményét, tehát mondjuk konkrét utf-8 karaktereket (is) kiadni, hogy a konzolon és a grafikus felületen is rendes működést eredményezzen.

Azt tudom, hogy lehet több billentyűzettel, billentyűzetenként külön layoutot beállítani, pl magyar, angol és orosz billentyűzetet. Ezt a lehetőséget szeretném megtartani, és mellette működtetni a sajátomat.

A raw inputot tudom, hogy kell kezelni (input.h), de azt nem, hogy lehet rávenni az alap billentyűzet kezelőt, hogy az általam kiválasztottat ne kezelje, és azt sem tudom, hogy az eredményt milyen formátumban és hova kell kiadni.

Gyakorlatilag így több párhuzamos billentyűzetem lenne. Konkrétan egy magyar és egy angol billentyűzetem van, a magyar maradna magyar teljesen változatlan bevitellel, az angol meg lenne a speciális.

Konkrétabban: az iso9995 ihletett meg, abból kiindulva kidolgoztam egy attól némileg eltérő beviteli protokollt, amivel a teljes latin, a teljes cirill, a két sémi, a görög, a devanagari, a kínai és a japán karakterek bevihetők. Mint amatőr gyorsbillentyű. Szóval, a felfelé csatlakozás szabványa, protokollja, helye, módja ami érdekel, maga a billentyűzés megvalósítása csak ujjgyakorlat. Böngészőben már megcsináltam, ott jól működik, de szeretném rendszer-billentyűzetként használni.

http://www.thelinuxdaily.com/2010/05/grab-raw-keyboard-input-from-event…
http://www.world-keyboard.com/
https://en.wikipedia.org/wiki/ISO/IEC_9995

Ebben kérek valami tanácsot.

Hozzászólások

A sajátos billentyűzési protokoll == pl. rádióamatőr gyorsbillentyű?

Komolyabban: Egy nem szabványos make/break kimenetű eszközt szeretnél csatlakoztatni?

Az elgondolásod teljesen téves. Egy billentyű(szekvencia) megnyomása után akár 6-8 szűrőn (egyszerűség kedvéért ezeknek az akármiknaek a neve legyen most szűrő) haladhat keresztül az input. Ezt kapja meg a program (bármi is legyen az). A program által "kiírt" bötű teljesen más csatornán közlekedik, és akár 6 (de másik) szűrőn is átmehet, amíg a képernyőt (akármit) eléri.
Ezeket a dolgokat először tisztázni kellene, és csak utána derül ki, hogy mit kell tenni.

xkb.

Mármint szerintem neked ez kell, amit irsz ahhoz nem érdemes szerintem lemenni az xkb alá (dev/input/... szintre), nem kell saját feldolgozót irni, helyette elég kalandos lesz az xkb beállitása is :).

Ha leirod mit szeretnél megvalósitani, akkor ahhoz én épp elég friss élményekből (és traumákból) épitkezve tudok segiteni. Csak a példa kedvéért: xkb-ben megoldottam, hogy a caps lock, alt gr és windows billentyű teljesértékű módositó legyen, majdnem minden billentyűnek legyen velük egyedileg beállitott kimenete (pl. caps lock + k = kurzor le), és ezek shift-el, alt-al és ctrl-al is kombinálhatók legyenek (shifttel külön kimenetük van, alt és ctrl továbbitásra kerül a programnak). Vannak dedikált inditógombok (pl. fn billentyű), nagyon sok speciális karaktert kikapcsoltam (sose használt matek jeleket), dolgozok az angol és magyar layout programozói szemszögből előnyös keresztezésén (ékezetes betűk ÉS pár speciális karakter is elérhető legyen egyszerűen).

Amiben még tudok segiteni az az, hogy ez az egész hordozható legyen (egy fájlban), és egyszerűen váltani lehessen két layout között, amiket te irtál (be tudod emelni a saját beállitásod rendszer szintű layout-nak is, csak legtöbbször nincs előnye). Illetve nemrég oldottam meg, hogy wine-ban is jól legyen kezelve minden :).

(Javaslom xkb kapcsán előbb kérdezz, mint keresgélj, rosszul és töredezetten dokumentált az egész.)