vonalkódolvasó - billentyűzetkiosztás

Van egy USB-s vonalkód leolvasó eszköz. Ez a számítógép felől úgy látszik, mint egy USB billentyűzet, tehát Linuxon az usbkbd modul betöltése után képes arra hogy a beolvasott számsorozat megjelenjen a képernyőn.

A probléma az, hogy ha a billentyűzetkiosztást átállítom magyarra akkor a 0 helyett a magyar billenytűzeten a 0 helyén megjelenő 'ö' betűt fogja olvasni. Azaz a leolvasó nem betűket küld át, hanem fizikai billentyűleütés eseményeket.

A kérdésem az, hogy hogy tudnám megcsinálni (Ubuntu-Gnome környezetben) azt, hogy az igazi billentyűzetemet kapcsolgathassam több kiosztás között, míg a vonalkódleolvasó (USB billentyűzet) fixen amerikai kiosztáson marad?

Még nem tudom hogy az alkalmazást milyen környezetben fogják használni, de a biztonság kedvéért jó lenne ugyanerre a problémára a Windowsos megoldást is ismernem. Tehát ha valaki a Windowsos megoldást ismeri az is érdekel :-)

Hozzászólások

Subscribe, nekem is ilyen bajom van, Én egyszerűen belőttem az USA/Hun kiosztás váltót a tálcára, és ha vonalkódot olvasok, átállítom.

Azért érdekelne a kulturált megoldás.

Petya

Csak tipp, magat a vonalkod olvasot nem tudod konfigolni? Ami a kozelemben volt, annak a kezikonyveben voltak spec vonalkodok, amivel csomo mindent lehetett allitgatni, usson entert, ne uson..blabla. Kiosztasra nem elmlekszem, de hatha lehet ilyet is.

Azért nem tökéletes megoldás, mert előre nem tudhatom (nem is akarom tudni) hogy a felhasználó éppen angol, magyar vagy akár ógörög kiosztást használ-e.

Persze ha nem sikerül tisztán megoldani akkor valami ilyesmi workaround lesz a vége.

A másik workaround ötletem hogy maga az alkalmazás a beolvasott kódban talált 'ö' betűket '0'-ra cseréli. De azért ezt nem érzem túl szépnek...

Én is ebben az irányban indulnék el. Konkrétan azokona Symbol kéziscannereken, amikkel 2+ éve szórakoztam, lehetett a billentyűzet-kiosztást állítani vonakóddal (meg persze prefixet, postfixet, minden nyavaját).
Az ilyen USB-s kütyüknél már lehet nem is vonalkóddal megy a konfiguráció, hanem valamilyen szoftverrel (ehhez lehet, hogy valamilyen "service mode"-ban kell elindítani, pl. nyomni rajta valamelyik gombot, és úgy rádugni a gépre, és akkor nem billenytűzetként mutatja magát). Javaslom a kézikönyv elolvasását. :)

Ez nem a kérdésre válasz, de a problémára megoldás lehet:

vonalkod = Replace(vonalkod,"ö","0") :) (értelem szerűen az adott prog.nyelvi megfelelője behelyettesítendő)
Mi ezt alkalmaztuk, persze ez csak akkor jó, ha te írod a programot.
Tipp: akár a textbox OnChange vagy OnKeyPress (vagy hasonló) eseményére is beállítható, így nem is látszik az "ö" betű.

Megjegyzés: érdemes a nagy Ö-t is cserélni, mert elvileg ha a caps lock be van nyomva, akkor itt is nagy Ö-t küld. (gyakorlatilag meg már nem emlékszem... :D)

Szerk: közben látom, már te is írtad.