ďťż
 
 
   Klawiatury multimedialne
 
 

Tematy

 
    
 

 

 

 

Klawiatury multimedialne





master - 15-08-2006 14:23
W artykule postaram się wyjaśnić, jak wykorzystać potencjał swojej klawiatury multimedialnej w systemie Debian Gnu/Linux.
Zakładamy, iż posiadamy klawiaturę multimedialną, czyli klawiaturę z dodatkowymi przyciskami, odpowiedzialnymi za włączenie muzyki, przeglądarki internetowej, czy klienta poczty.
Do aktywowania klawiatury w systemie będziemy potrzebować 2 pakiety: xev oraz hotkeys. Pierwszy odpowiedzialny jest za przechwytywanie kodu klawisza, drugi natomiast do umożliwienia wykorzystania danego klawisza do określonego celu. Teraz sprawdzimy, czy posiadamy owe aplikacje.
which xev Jeżeli po wydaniu polecenia wyświetli się coś na wzór:

/usr/bin/xev Oznacza to, iż pakiet jest już zainstalowany w systemie i możemy go uruchomić, najlepiej wykorzystując ścieżkę, podaną przez pakiet which.
Tak samo sprawdzamy, czy posiadamy drugi niezbędny nam pakiet

which hotkeys Jeżeli po wydaniu polecenia nie wyświetli się nic, to znaczy, że musimy zainstalować potrzebny nam pakiet:

apt-get install hotkeys Teraz, gdy posiadamy już potrzebne programy, możemy zająć się rozpoznaniem naszej klawiatury z wykorzystaniem pakietu xev. Włączamy program xew, poprzez wydanie komendy
xew lub /usr/bin/xew w terminalu i mamy włączoną aplikacje, przy widocznej konsoli wciskamy jeden z przycisków multimedialnych i skupiamy się na tym, co zostało wyświetlone przez program.

KeyPress event, serial 31, synthetic NO, window 0x4800001,
    root 0x64, subw 0x0, time 156404347, (636,-202), root:(640,313),
    state 0x0, keycode 223 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False Interesuje nas numer, który znajduje się obok keycode , to on jest kodem klawisza i to właśnie on nas interesuje. Ponieważ już wiemy, jak sprawdzić numery klawiszy, to sprawdzamy każdy klawisz, który chcemy wykorzystać, wciskając po kolei i notując wyniki. Co dalej? Trzeba zająć się plikiem konfiguracyjnym dla pakietu hotkeys, domyślnie takowe znajdują się w /usr/share/hotkeys/ . Warto wypisać wartość katalogu, może akurat posiadasz klawiaturę, do której plik już istnieje. Wykonujemy to poleceniem:
ls -1 /usr/share/hotkeys/ Niestety, jak widać lista gotowych plików jest bardzo mała, więc zabierzemy się do wykonania pliku samodzielnie. Będziemy potrzebować rozpiskę, jakiemu klawiszowi, jaki odpowiada kod, my wykonaliśmy ją wcześniej. Tworzymy plik, który będzie konfigiem dedykowanym dla naszej klawiatury i naszych upodobań, poprzez wydanie komendy
  > /usr/share/hotkeys/nazwanaszejklawiatury.def Włączamy jakiś edytor tekstu, ja używam do tego celu GNU Nano, i kopiujemy podany niżej przykładowy konfig do utworzonego przed chwilą /usr/share/hotkeys/nazwanaszejklawiatury.def , wiele edytorów automatycznie utworzy plik przy zapisywaniu zmian, tworzenie pliku jest wtedy całkowicie zbędne.

<?xml version="1.0"?>

<definition>

  <config model="Klawiatury_Tracer">Opisuję jak w prosty sposób aktywować klawisze multimedialne.

    <PrevTrack    keycode="144"/>
    <Play        keycode="162"/>
    <Stop        keycode="164"/>
    <NextTrack    keycode="153"/>

    <VolUp        keycode="176" adj="1"/>
    <VolDown      keycode="174" adj="1"/>
    <Mute        keycode="160"/>

    <WebBrowser  keycode="178"/>
    <Email        keycode="236"/>

    <userdef keycode="230" command="przeglądarka /home/user">Home</userdef>

  </config>

  <contributor>
    <name>Nasze imię</name>
    <email>Nasz adres e-mail</email>
  </contributor>

</definition> W pliku zamieniamy kody klawiszy na odpowiadające naszej klawiaturze.

Tutaj opis poszczególnych oznaczeń:
PrevTrack - klawisz przełączający do poprzedniego utworu
Play - klawisz włączający utwór będący aktualnie na playliście lub też zatrzymuje aktualnie słuchany utwór z zachowaniem miejsca zatrzymania
Stop - klawisz wyłączający słuchanie aktualnie utworu
PrevTrack - klawisz przełączający do następnego utworu
VolUp - klawisz pogłaśniający, adj="1" oznacza zmianę o 1 stopień
VolDown - klawisz ściszający, adj="1" oznacza zmianę o 1 stopień
Mute - klawisz wyłączający całkowicie dźwięk
WebBrowser - uruchamia przeglądarkę sieci Web, która jest uznana za domyślną
Email - uruchamia klienta poczty, będącego uznanym za domyślny Możemy także zdeklarować wykonywanie polecenia, poprzez użycie userdef poniżej znajduje się przykład:
    <userdef keycode="230" command="przeglądarka /home/user">Home</userdef>
Po zapisaniu możemy uruchomić aplikację wraz z własnym plikiem konfiguracyjnym, w tym celu wydajemy polecenie:

hotkeys -t nazwanaszejklawiatury.def [EDIT]
=============================
Otrzymałem już kilkukrotnie informacje, iż wiele osób nie ma pakietu xev w Debianie, ani w jego domyślnych repozytoriach. Ja korzystałem zawsze ze swojej listy serwerów, dzięki temu zawsze ów pakiet posiadałem w repo (możliwe, że powodem było instalowanie przeze mnie XServera-XORG, zamiast XFREE). Aby pomóc innym, którzy tego pakietu nie posiadają, zdecydowałem się na umieszczenie tutaj odnośnika do gotowego pakietu .deb. Ten akurat pochodzi z (K)Ubuntu, zależy od libc6 (>=2.3.4.-1), libx11-6, a od niego zależy ( xev zastępuje go): xbase-clients(<6.8.2-38)
Download:
xev_1%3a1.0.1-0ubuntu1_i386.deb
=============================
[/EDIT]

Uruchamianie hotkeys w LXDE dodane przez xsenyx

Bez zbędnego tworzenia jakiś skryptów czy czegoś innego. Wystarczy edytować plik
gedit /etc/xdg/lxsession/LXDE/autostart i dodać wpis
  @hotkeys -t <twoja_klawiaturka>



DaViDeX - 25-08-2006 11:17
cześć. robię wszystko wg Twoich wskazówek. kody klawiszy mam takie same jak w Twoim przykładowym pliku(widać producenci troszkę dbają o kompatybilność). działają mi wszystkie klawisze multimedialne, oprócz mute --volume i +volume. trochę pogrzebałem i doszedłem do "wniosków": http://debian.linux.pl/viewtopic.php?t=235 . Pokazuje się OSD, ale nic się nie dzieje. co to może być? podejrzewam, że hotkeys próbuje zmieniać kanał master, zamiast pcm. szukałem opcji, która by to zmieniała, ale nic nie zanalzłem. proszę o pomoc.



Liseeeek - 04-07-2007 22:52
Uwaga ludziska!!!!

Pakiet sie nazywa xev nie xew, bo tutaj koles popelnij pare bledow raz pisze tak a raz inaczej ;]

//Edit
nastepny blad!
przy uruchamianiu hotkey'a
piszemy:
hotkeys -t moja_klawa bez rozszerzenie ".def" na koncu

//Edit2
Jak ktos ma amaroka to:
vim /etc/hotkeys.conf i dodajemy:
PrevTrack=amarok -r
Play=amarok --play-pause
Stop=amarok --stop
Pause=amarok --pause
NextTrack=amarok -f PozdrawiaaaaaaaM



dracorp - 05-07-2007 08:57
Warto dodać, że np. w przypadku mojego laptopa HP Presario 2500 do obsługi przycisków one-touch i "innych niebieskich" potrzebny był pakiet omnibook (którego brak w repo) i zabawa z setkeycodes w /etc/rc.local. np. setkeycodes e070 130 showkey (nie sprawdzwać pod Xami) i dumpkeys w tym przypadku są bardzo przydatne.
Jak już mamy odpowiedni keycodes to w ~/.xmodmap możemy dopisać np. !
keycode 236 = XF86Mail
keycode 140 = XF86Search itd
Potem już np. gnome rozpoznaje dane klawisze jako zaznaczone powyżej w Skrótach Klawiaturowych.
Nazwy symboliczne są w /usr/share/X11/XKeysymDB



Kaka' - 05-07-2007 10:46
To ja podam adres konkurencyjnego poradnika mojego autorstwa, może tam będzie mniej błędów :P

http://kaka.ovh.org/howto/hotkeys



Maciorra - 09-07-2007 14:45
Do obslugi klawiszy specjalnych w laptopach swietnie nadaje sie programik xbindkeys. Przykladowa konfiguracje opisalem o tu => klicken Sie bitte:)



dracorp - 10-07-2007 09:36
Tylko że to kolejne programy działające w tle, dlaczego nie używać czegoś co już jest w systemie (pomijając sterowniki bez których klawisze są nie widoczne).



matiit - 15-07-2007 16:41
dracorp,
Tylko że to kolejne programy działające w tle, dlaczego nie używać czegoś co już jest w systemie tzn?



frantic - 15-09-2007 14:49
zrobilem sobie configa sam z czego jestem dumny :mrgreen:
ale jednej rzeczy nie umiem sam zrobic mianowicie:
jak dodac to do autostartu (gnome) ?
probowalem
hotkeys -t /usr/share/hotkeys/logitech-cfo ale nie dziala :-(



ari - 16-09-2007 11:33
A jak zrobić aby nie wyskakiwał ten obrazek przy uruchamianiu hotkeys ?



dracorp - 17-09-2007 07:54

ale jednej rzeczy nie umiem sam zrobic mianowicie:
jak dodac to do autostartu (gnome) ?
probowalem
hotkeys -t /usr/share/hotkeys/logitech-cfo
ale nie dziala :-( http://gentoo-wiki.com/HOWTO_Autostart_Programs
Może pomoże



frantic - 17-09-2007 21:24
tam jest ogolnie jak sie daje programy do autostartu a zeby wystartowac hotkeys musisz przejsc do
/usr/share/hotkeys a nastepnie wystartowac program
czyli w moim przypadku
hotkeys -t logitech-cfo niestety jak juz pisalem
hotkeys -t /usr/share/hotkeys/logitech-cfo a jakiegos powodu nie dziala :->



Stawi - 18-09-2007 10:26
Troche obciachowo na forum o linuxie sie przyznac, ale... mam klawiature M$ Natural Ergonomic Keyboard 4000. Czy ktos moze tez ma i udalo mu sie zmusic tego "zooma" do pracy? `xev` nie zwraca keycode ani nic.. tak samo z dodatkowymi buttonami do szybkiego uruchamiania.

Juz pomijam idiotyzm producenta (a moze sie nie da inaczej?) ze dodatkowe przyciski przy klawiaturze numerycznej (znak rownosci, nawiasy okragle, backspace) nie dzialaja jako "te same" a wysylaja zupelnie inne keycode.. Jak na moj gust to jest troszke nie istotne czy wcisnolem backspace tego czy tamtego a efekt taki ze dziala tylko pod Windowsach... no ale to juz inna sprawa ;)



dracorp - 18-09-2007 11:18
Jak ci xev nie zwraca żadnych wartości najprawdopodobniej będziesz musiał zainstalować sterowniki do tej klawiatury. Piszę tak na własnym przykładzie, musiałem u siebie zainstalować pakiet omnibook aby używać dodatkowych przycisków z laptopa.



matiit - 18-09-2007 23:16
dracrop: nie prawda...
trzeba kliknac w ten klawisz
dmesg | tail
bedzie kod klawisza i trza go czymś przypisać :) miałem gdzieś opis ale nie moge znaleźć



dracorp - 19-09-2007 08:19
Byś się zdziwił, ale u mnie nie wyświetla bez modułu omnibook



Stawi - 19-09-2007 13:33
dmesg nie wyswietla nic, nawet na te przyciski ktore xev zwraca ;) Wiec mysle ze trop bledny.. A u Ciebie moglo dzialac z tego wzgledu ze chyba mowisz o przyciskach ACPI ?



matiit - 19-09-2007 18:13
Stawi...
Chodzi o przyciski na klawiaturze (do skype)
xev nie wykrywał
do win stery były
wcisnąłem je
dmesg i sypało błędami że nie było przypisane



Stawi - 20-09-2007 09:11
No to d*pa bo u mnie cisza..



frantic - 20-09-2007 13:41
odnosnie mojego starego problemu z dodaniem do autostartu to nie wiem jak na to nie wpadlem ale wystarczy taki skrypcik
#!/bin/bash
cd /usr/share/hotkeys
hotkeys -t logitech-cfo a sam dodalem do sygny bash-user co jest w sumie prawda... :-D
oczywiscie trzeba ten skrypt dodac do autostartu ale to juz nie problem ;-)

[ Dodano: 2007-10-07, 20:02 ]
w GNOME nie było problemu z dodaniem skryptu do autostartu....

a powie mi ktoś jak to zrobić w kde ?



kmieciu - 12-11-2007 23:45

[ Dodano: 2007-10-07, 20:02 ]
w GNOME nie było problemu z dodaniem skryptu do autostartu....

a powie mi ktoś jak to zrobić w kde ?
W KDE należy wrzucić skrypt do katalogu ~/.kde/Autostart. Tylko jak wrzucałem tam skrypt ukryty to mi się nie uruchamiał :)

[ Dodano: 2007-11-12, 23:50 ]

#!/bin/bash
cd /usr/share/hotkeys
hotkeys -t logitech-cfo
Można też wywołać hotkeys bez parametru -t, ale wtedy trzeba w pliku konfiguracyjnym /etc/hotkeys.conf dodać wpis Kbd=nazwa_pliku_z_definicjami (w tym przypadku Kbd=logitech-cfo).

[ Dodano: 2007-11-12, 23:54 ]

cześć. robię wszystko wg Twoich wskazówek. kody klawiszy mam takie same jak w Twoim przykładowym pliku(widać producenci troszkę dbają o kompatybilność). działają mi wszystkie klawisze multimedialne, oprócz mute --volume i +volume. trochę pogrzebałem i doszedłem do "wniosków": http://debian.linux.pl/viewtopic.php?t=235 . Pokazuje się OSD, ale nic się nie dzieje. co to może być? podejrzewam, że hotkeys próbuje zmieniać kanał master, zamiast pcm. szukałem opcji, która by to zmieniała, ale nic nie zanalzłem. proszę o pomoc. Do wyciszenia kanału PCM służy polecenie: amixer sset PCM toggle :) Wywołane jeszcze raz przywróci głośność kanału.



Akkon - 17-01-2008 12:01
Wie ktoś jak wyłączyć ten obrazek przy uruchamianiu się hotkeys? Nie dość, że zalatuje to windowsem, to jeszcze obrazek jest wyjątkowo ohydny.


W KDE należy wrzucić skrypt do katalogu ~/.kde/Autostart. Tylko jak wrzucałem tam skrypt ukryty to mi się nie uruchamiał :) Co do autostaru w kde to należy to zrobić tak:

1. Najpierw tworzymy plik skryptu:

nano /home/user/.kde/Autostart hotkeys 2. Wklejamy do niego następujący kod:

#!/bin/bash
hotkeys -t nazwa_naszego_pliku_konfiguracyjnego Uwaga! Nazwę podajemy bez rozszerzenia .def

3. Skryptowi nadajemy odpowiednie prawa:

chmod +x hotkeys i to wszystko.



bns - 17-01-2008 17:40

Wie ktoś jak wyłączyć ten obrazek przy uruchamianiu się hotkeys? Nie dość, że zalatuje to windowsem, to jeszcze obrazek jest wyjątkowo ohydny. # mv /usr/share/hotkeys/splash.png /usr/share/hotkeys/splash.png.bak :)



Akkon - 18-01-2008 10:51
Dzięki bns, teraz wiem nie tylko jak pozbyć się obrazka startowego, ale również jak go zmienić na lepszy :-D
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis