grabnuti klavesnice na konzole
Pavel JANIK ml.
pjanik na aida.inet.cz
Čtvrtek Květen 22 15:23:20 CEST 1997
> Ahoj
> nevite nekdo jak se da na linuxove konzole zabavit programem nejaka
> klavesa jenom pro nej? Chtel bych pustit demonka, ktery reaguje na stisk
> napr. <Home> a <End> a je mu celkem jedno, na ktere konzoli se prave
> nachazite, a jestli mezi nimi prepinate... (neco jako XGrabKey v Xech)
Nejjednodussi je :
do tabulky mapovani klavesnice doplnit napr. nasledujici radky:
string F100 = "/usr/local/bin/spustit_nasledujici_programek\n"
a zmenit prislusny retezec u klavesy - End - napr. :
keycode 107 = F100
nebo Home:
keycode 102 = F100
Tedy neco jako:
machine:/home/user$ loadkeys
string F100 = "/usr/local/bin/spustit_nasledujici_programek\n"
keycode 107 = F100
^D
machine:/home/user$
Pokud ale nechces, aby se programek spoustel (tento zpusob vlastne jakoby
napise na klavesnici dane znaky...) budes muset pravdepodobne upravit trosku
jadro - ovladac klavesnice. Ovsem problemem popsaneho reseni je, ze
programek se spusti s uzivatelskymi pravy prave prihlaseneho uzivatele
(pokud vubec je nekdo prihlasen na konzole), pokud neni, tak zadane
uzivatelske jmeno bych tedy mit nechtel :-))))
Myslim, ze chces udelat neco jako {Ctrl, Shift, AltGr}+ScrLck. Potom bude
nejlepe se podivat do zdrojaku jadra... (REKLAMA: doporucuji pres LSD - uz
je tam i 2.1.41, zatim co ani na sunsite.mff ani na fi.muni nebyla :-)))
Ale stejne myslim, ze pokud budes na virtualni konzole, kterou si dynamicky
alokuje X-server, tak ti tvuj demonek stejne nebude fungovat...
PJ
--
############################################################################
# #
# Pavel.JANIK na inet.cz #
# arch/sparc/kernel/smp.c: #
# #
# printk("Entering SparclinuxMultiPenguin(SMP) Mode...\n"); #
# printk("Penguin %d is stuck in the bottle.\n", i); #
# #
# PGP Public Key - http://www.inet.cz/~pjanik/pgp_public_key.txt #
# Top URL - http://www.math.muni.cz/cgi-bin/LSD #
############################################################################
Další informace o konferenci Linux