Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Hardware => Téma založeno: Martin Šácha 04 Května 2010, 19:00:34
-
Zdravím, připojil jsem dálkový ovladač přes lirc - viz
sachy@lucid:~$ irw
000000037ff07be6 00 Stop mceusb
000000037ff07be8 00 Record mceusb
000000037ff07bea 00 Rewind mceusb
000000037ff07be0 00 Down mceusb
000000037ff07bdd 00 OK mceusb
000000037ff07bdd 01 OK mceusb
000000037ff07bf1 00 Mute mceusb
000000037ff07bf1 01 Mute mceusb
...a tak dal...
zjevně se všechny tlačítky rozpoznaly dobře. A ted kardinální otázka: Jak tlačítkům přiřadit význam?
Díky všem...
-
Značím si :)
-
Ha, řešit by to mohl deamon irexec (z balíku LIRC), který by měl umět přiřadit tlačítku (zachycenému na irw) nějaký příkaz... ale z nastavení nejsem vůbec moudrej ???
-
Vy jste moc nehledali ;)
Třeba http://www.root.cz/clanky/lirc-dalkove-ovladani-pro-vas-linux/ (http://www.root.cz/clanky/lirc-dalkove-ovladani-pro-vas-linux/)
Já ovládám dálkou z postele i Operu :)
-
Díky, jsem schopen pustit firefox :D Dílčí problém: jak se dostanu k příkazům klv. zkratek které lze nastavit systém->předvolby->klávesové zkratky? Například zvýšení a snížení hlasitosti, přesun na jinou plochu, spuštění spořiče,...?
EDIT: Tak, vyřešeno, už jenom detaily jako je ovládání VLC...
EDIT2: vyřešeno, VLC s lirc lze spustit takto:
vlc --control lirc
-
VLC je fajn, ale na multimédia je s dálkou daleko pohodlnější XBMC, nebo BOXEE, protože ty jsou na to přímo dělané.
-
nepochybně, ale já jsem na intru a když se povečerech koukáme na filmy tak to vychovatelum strašně vadí...takže jsem potřeboval způsob jak kompa ,,vypnout" (čti mute+vypnutí monitoru) rychle z postele. Kabel od myši/klávesky by byl trochu nápadnej :D
-
nepochybně, ale já jsem na intru a když se povečerech koukáme na filmy tak to vychovatelum strašně vadí...takže jsem potřeboval způsob jak kompa ,,vypnout" (čti mute+vypnutí monitoru) rychle z postele. Kabel od myši/klávesky by byl trochu nápadnej :D
Předpokládám, že už to máš na jeden stisk i s pauzou :)
-
Aktuální stav .lircrc:
begin
prog = irexec
remote = *
button = Down
repeat = 0
config = firefox
end
begin
prog = irexec
remote = *
button = VolDown
repeat = 0
config = amixer set PCM 5%-
end
begin
prog = irexec
remote = *
button = VolUp
repeat = 0
config = amixer set PCM 5%+
end
begin
prog = irexec
remote = *
button = Mute
repeat = 0
config = amixer set Master toggle
end
#switch on/off display
begin
prog = irexec
remote = *
button = Red
repeat = 0
config = DISPLAY=:0 xset dpms force off
end
begin
prog = irexec
remote = *
button = Green
repeat = 0
config = DISPLAY=:0 xset dpms force on
end
begin
prog = irexec
remote = *
button = Home
repeat = 0
config = DISPLAY=:0 xset dpms force off; amixer set Master toggle &
end
begin vlc
begin
prog = vlc
remote = *
button = OK
repeat = 0
config = key-play-pause
end
end vlc
Bohužel, poslední dva příkazy se mi zatím do jednoho integrovat nepodařilo...
-
V nejhorším mu tu pauzu můžeš poslat klávesovou zkratkou pomocí xvkbd, esi vlc nemá command line pauzu :) Kdyžtak se na to později kouknu.
Můžeš taky zkusit použít killall -STOP vlc a killall -CONT vlc
Na jednom tlačítku můžeš mít dvakrát config, pak se cyklicky střídají.
-
Zastavení pomocí killall -STOP vlc funguje, po rozjezdu se ale trhá asi 10s zvuk, možná nějaká cache nebo něco takového...
VLC má parametr pro pauzu/hrani, "--key-play-pause" a "--global-key-play-pause", viz "vlc --help" (asi v polovině výpisu)
-
Zastavení pomocí killall -STOP vlc funguje, po rozjezdu se ale trhá asi 10s zvuk, možná nějaká cache nebo něco takového...
VLC má parametr pro pauzu/hrani, "--key-play-pause" a "--global-key-play-pause", viz "vlc --help" (asi v polovině výpisu)
Tím definuješ klávesové zkratky. Mimochodem já pauzovat vlc nepotřebuju ;)
Můžeš použít:
xvkbd -xsendevent -text "\ "
Pokud je okno vlc aktivní, pošle mu to klávesu Space, na které je standardně play/pause.
Pokud xvkbd nemáš nainstaluj :)
-
Zastavení pomocí killall -STOP vlc funguje, po rozjezdu se ale trhá asi 10s zvuk, možná nějaká cache nebo něco takového...
VLC má parametr pro pauzu/hrani, "--key-play-pause" a "--global-key-play-pause", viz "vlc --help" (asi v polovině výpisu)
Tím definuješ klávesové zkratky. Mimochodem já pauzovat vlc nepotřebuju ;)
Můžeš použít:
xvkbd -xsendevent -text "\ "
Pokud je okno vlc aktivní, pošle mu to klávesu Space, na které je standardně play/pause.
Pokud xvkbd nemáš nainstaluj :)
Tvůj příspěvek před editem tak vyzníval ;)
Funguje to parádně, díky moc, K+ :)
-
Tvůj příspěvek před editem tak vyzníval ;)
Funguje to parádně, díky moc, K+ :)
Nevyzníval jinak než teď, jediné, co jsem udělal bylo, že jsem sloučil své dva po sobě jdoucí příspěvky do jednoho, jsem strašně pořádnej ;)
-
Díky, jsem schopen pustit firefox :D Dílčí problém: jak se dostanu k příkazům klv. zkratek které lze nastavit systém->předvolby->klávesové zkratky? Například zvýšení a snížení hlasitosti, přesun na jinou plochu, spuštění spořiče,...?
Muzu se zeptat jake je reseni ? To same chci resit pro mys a nechce se mi to resit globalnimi klavesovymi zkratkami. Proste exostuji prikazy jako sniz/zvys hlasitost globalne/aplikace nebo v browseru o stranku dopredu/dozadu, docela by me to zajimalo.
Diky K
-
Bohužel mám kompa s nastavaním na intru, takže v neděli večer ti to postnu ;)
-
Díky, jsem schopen pustit firefox :D Dílčí problém: jak se dostanu k příkazům klv. zkratek které lze nastavit systém->předvolby->klávesové zkratky? Například zvýšení a snížení hlasitosti, přesun na jinou plochu, spuštění spořiče,...?
Muzu se zeptat jake je reseni ? To same chci resit pro mys a nechce se mi to resit globalnimi klavesovymi zkratkami. Proste exostuji prikazy jako sniz/zvys hlasitost globalne/aplikace nebo v browseru o stranku dopredu/dozadu, docela by me to zajimalo.
Diky K
Ten zvuk jsem na úrovni pulseaudia nevyřešil, nenašel jsem podporu ani na D-BUS, ale celkovou hlasitost jednotlivých výstupů lze jednoduše ovládat přes amixer.
Browserům se nejjednodušeji dají posílat klávesové zkratky přes xvkbd. Mezičlánkem, který čte tlačítka myši a spouští příkazy je xbindkeys
-
To sice vim, ale kdyz si otevru systém->předvolby->klávesové zkratky tak tam mam spoustu "prikazu" jako X86AudioMute X86AudioLowerVolume .... X86WWW
Ja svoji mysku ovladam pomoci programu btnx ktery v Karmicu najednou zase chodi prestoze predtim dve verze zpatky prestal fungovat a tam je take moznost nastavit tlacitku konkretni prikaz (vol+/vol-/NextPage) a NEBO klavesovou kzratku.
Proste mam obavz ze kdyz budu imitovat stisky klaves, tak mi to v ruznych programech bude delat gulas.
-
To sice vim, ale kdyz si otevru systém->předvolby->klávesové zkratky tak tam mam spoustu "prikazu" jako X86AudioMute X86AudioLowerVolume .... X86WWW
Ja svoji mysku ovladam pomoci programu btnx ktery v Karmicu najednou zase chodi prestoze predtim dve verze zpatky prestal fungovat a tam je take moznost nastavit tlacitku konkretni prikaz (vol+/vol-/NextPage) a NEBO klavesovou kzratku.
Proste mam obavz ze kdyz budu imitovat stisky klaves, tak mi to v ruznych programech bude delat gulas.
Pokud natvrdo pošleš stisk tlačítka, záleží samozřejmě na programu, jak ho interpretuje. Můžeš ho ale poslat třeba jen konkrétnímu oknu. Nicméně třeba pro zmiňované vpřed/vzad funguje, nejen ve všech běžných prohlížečích, včetně chromia, které třeba oproti zvyklostem nereaguje na Backspace, je ALT+šipka vlevo/vpravo. Funguje to i v Nautilu. Používám na své myši.
Napiš čeho konkrétně chceš docílit.
-
Ceho chci docilit ... proste mam ten pocit ze existuje neco jako "systemove povely" tedy neco jako vzvys hlasitost, nebo "o krok vzad" bez toho aby se to resilo kombinacemi klaves. Dobre mozna se mylim. Ale jestli ne, tak hledam seznam tehle povelu. Jako priklad uvadim to nastaveni klavesovych zkratek a btnx. Uz jsem se onehdy kvuli tomu prohrabaval dokumentaci Xorgu, sec zatim bez uspechu.
Jinak rad bych dosahnul treba toho abych mohl zmenit ze na mojo Logitech VX Revolution je natvrdo nastaveno na bocnich tlacitcich stranka dozadidopredu a i kdyz jsem si to v bntx predefinoval tak to stale dela co nema.
Ale utikame od tematu, predne me zajimalo jak tyhle "povely" zadavat, kde se berou a jak je priradit k dalkovemu ovladani.
-
Ok. Ty "příkazy" v nastavení kláves nejsou příkazy, pouze názvy multimediálních tlačítek podle kódování XF86. Aplikace desktopového prostředí mezi sebou komunikují pomocí sběrnice D-Bus, takto se s nimi dá omezeně komunikovat i z Bashe. Kdysi jsem se to snažil objasnit tady (http://gdhnotes.blogspot.com/2009/10/ovladani-aplikaci-pres-d-bus.html). I když, teď jak na ten svůj článek koukám, úvod by zasloužil revizi :)
-
No prima, diky za objasneni a kde prosim najdu seznam tech "tlacitek" ? Mozna je to to co hledam, tedy aby system dostal zpravu ze jsem stisknul tlacitko play/pause a ne klasevovou kombinaci ctrl+alt+del :) Ale kouknu se jeste sam, takze hledat neco jako keys xf86 standart ?
EDIT : to se to hleda kdyz clovek vi co ma hledat : http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols (http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols)
-
No prima, diky za objasneni a kde prosim najdu seznam tech "tlacitek" ? Mozna je to to co hledam, tedy aby system dostal zpravu ze jsem stisknul tlacitko play/pause a ne klasevovou kombinaci ctrl+alt+del :) Ale kouknu se jeste sam, takze hledat neco jako keys xf86 standart ?
EDIT : to se to hleda kdyz clovek vi co ma hledat : http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols (http://wiki.linuxquestions.org/wiki/XF86_keyboard_symbols)
Kdysi jsem narazil při pokusu posílat tahle tlačítka na nějaký problém. Zkusím se na to zas kouknout. Je to už dlouho.
-
Kazdopadne diky, K+ ted jeste to nejak skloubit s tim dalkovym ovladanim,.
-
Kazdopadne diky, K+ ted jeste to nejak skloubit s tim dalkovym ovladanim,.
Tak karlitosi, je to jednodušší, než jsem čekal, vím, kde jsem tenkrát dělal chybu. Základem je samozřejmě xvkbd, kde jsem úplně nepochopil přepínač -xsendevent a opičil jeho používání po ostatních. Jenže ten způsobí zasílání kláves bez rozšíření xtest, a tím neprojde ani třeba Fx. Na základě toho jsem našel přepínač -xtest, který mi umožnil posílat i tato tlačítka. Pravdou je, že přepínač -xtest je zbytečný, protože je to výchozí metoda zasílání kláves oknu od verze xvkbd 1.1. A tak lze použít naprosto triviální konstrukci příkazu, kterou můžeme posílat i libovolnou XFree86 klávesu a systém to odchytí, jako bychom ji stiskli na klávesnici. Tudíž, nejen, že se dá ovládat přehrávání, hlasitost a podobné věci, ale i jas displeje na notebooku, nebo uspání počítače.
Funguje to tak bez úprav přinejmenším od Hardyho (starší systém nemám), po Lucida.
Stačí tedy posílat názvy tlačítek podle specifikace XF86 podle tohoto vzoru:
xvkbd -text "\[XF86AudioNext]"
xvkbd -text "\[XF86AudioPlay]"
xvkbd -text "\[XF86AudioRaiseVolume]"
xvkbd -text "\[XF86Back]"
xvkbd -text "\[XF86Sleep]"
atd.
Takže díky za nakopnutí a K+ :)
Edit: tak ne všechny klávesy jsou poslouchány, XF86Sleep mi třeba zatím nefunguje.. ale ten se dá jednoduše poslat na D-Bus.
-
Tak to je super, ale pro pouzivat xvkbd neni lepsi pouzivat xbindkeys ? Ted jsem se dival na tenhle navod (http://wiki.ubuntuusers.de/xbindkeys) a prijde mi ze je to mocnejsi nastroj - lze nastavit prirazeni pro jednotlive programy a jeste notifikaci ...
Ale proc vubec pouzivat externi program, akorat mi bude bezet nejaky demon na pozadi a zrat prostredky, az budu mit cas radsi se podivam jak tohle resit primo na urovni desktopoveho prostredi. xbindkeys je sice dobry ze je nezavisly na danem okennim manazeru, ale je to proste proces navic.
Navic treba moje mys ma dve tlacitka uz systemem rozpoznana a preddefinovana, zbatek system nerozpozna, ale treba btnx je nasel i kdyz na buhvijaky pokus. Takze az budu mit cas se tim zabyvat tak nejdriv zjistim jak v systemu vubec najit to ze je zmacknute tlacitko XY. Predne je otazkou jestli bude btnx pracovat v Lucidu a za dalsi tam je urcita prodleva a nepresnost.
-
Tak to je super, ale pro pouzivat xvkbd neni lepsi pouzivat xbindkeys ? Ted jsem se dival na tenhle navod (http://wiki.ubuntuusers.de/xbindkeys) a prijde mi ze je to mocnejsi nastroj - lze nastavit prirazeni pro jednotlive programy a jeste notifikaci ...
Ale proc vubec pouzivat externi program, akorat mi bude bezet nejaky demon na pozadi a zrat prostredky, az budu mit cas radsi se podivam jak tohle resit primo na urovni desktopoveho prostredi. xbindkeys je sice dobry ze je nezavisly na danem okennim manazeru, ale je to proste proces navic.
Navic treba moje mys ma dve tlacitka uz systemem rozpoznana a preddefinovana, zbatek system nerozpozna, ale treba btnx je nasel i kdyz na buhvijaky pokus. Takze az budu mit cas se tim zabyvat tak nejdriv zjistim jak v systemu vubec najit to ze je zmacknute tlacitko XY. Predne je otazkou jestli bude btnx pracovat v Lucidu a za dalsi tam je urcita prodleva a nepresnost.
Xvkbd a xbindkeys jsou každý na něco jiného. Xbindkeys tlačítka čte a umí na základě jejich stisku spouštět přikazy. Xvkbd je virtuální klávesnice a naopak umožní posílat systému ta tlačítka. Tedy budeš potřebovat jak xbindkeys, tak xvkbd. Režie xbindkeys je defakto nulová a xvkbd se spouští pro každou událost, nemá žádného démona.
Pokud bys to chtěl řešit bez xvkbd, můžeš se podívat na acpi_fakekey, ale to musíš spouštět pod rootem.
Suma sumárum, řekl bych, že je zbytečné hledat něco jiného, protože toto funguje perfektně, režie je opravdu naprosto zanedbatelná a nikdy se mi nestalo, že bych musel čekat, než se klávesa pošle a to i na Celeronu na 1300MHz.
Edit: Ještě jsem zapoměl dodat, že místo xvkbd lze použít samozřejmě i jiné podobné programy a v tom odkazovaném návodu je to právě xte. Opět zvláštní program, který musíš doinstalovat a z xbindkeys spouštět. A je otázkou, zda umí posílat i klávesy, o které nám tu jde.
-
Díky, jsem schopen pustit firefox :D Dílčí problém: jak se dostanu k příkazům klv. zkratek které lze nastavit systém->předvolby->klávesové zkratky? Například zvýšení a snížení hlasitosti, přesun na jinou plochu, spuštění spořiče,...?
Muzu se zeptat jake je reseni ? To same chci resit pro mys a nechce se mi to resit globalnimi klavesovymi zkratkami. Proste exostuji prikazy jako sniz/zvys hlasitost globalne/aplikace nebo v browseru o stranku dopredu/dozadu, docela by me to zajimalo.
Diky K
Tak tady je moje verze, snad poslouží :)
begin
prog = irexec
remote = *
button = Down
repeat = 0
config = firefox
end
begin
prog = irexec
remote = *
button = VolDown
repeat = 0
config = amixer set PCM 5%-
end
begin
prog = irexec
remote = *
button = VolUp
repeat = 0
config = amixer set PCM 5%+
end
begin
prog = irexec
remote = *
button = Mute
repeat = 0
config = amixer set Master toggle
end
#switch on/off display
begin
prog = irexec
remote = *
button = Red
repeat = 0
config = DISPLAY=:0 xset dpms force off
end
begin
prog = irexec
remote = *
button = Green
repeat = 0
config = DISPLAY=:0 xset dpms force on
end
begin
prog = irexec
remote = *
button = Home
repeat = 0
config = DISPLAY=:0 xset dpms force off; amixer set Master toggle &
end
begin vlc
begin
prog = vlc
remote = *
button = OK
repeat = 0
config = key-play-pause
end
end vlc