Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-05-05 21:20:17

  enether - wiecznie niewyspany

enether
wiecznie niewyspany
Zarejestrowany: 2012-05-01

[Solved] fluxbox, thinkpad i klawisz funkcyjny

Witajcie ;)

Z nudów dopieszczam sobie fluxboxa, środowisko awaryjne do używanego ostatnio nader często G3 z GS.
Jak na doskonale przemyślany i wykonany WM przystało, flux działa pięknie. Klawisze funkcyjne działają out of the box, poza lekką modyfikacją bindingów klawiszy głośności.

Jednakże klawisze takie jak wywołanie blokowania ekranu (Fn + F2) czy wyłączenie tabletu wymagają dorobienia własnego bindingu i tu mam mały problem. Nie potrafię zmusić fluxa do obsługi klawisza Fn.

xev podaje mi o nim takie dane:

Kod:

KeyPress event, serial 31, synthetic NO, window 0x1c00001,
    root 0xb2, subw 0x0, time 16375477, (1013,-165), root:(1014,302),
    state 0x10, keycode 151 (keysym 0x1008ff2b, XF86WakeUp), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 31, synthetic NO, window 0x1c00001,
    root 0xb2, subw 0x0, time 16375489, (1013,-165), root:(1014,302),
    state 0x10, keycode 151 (keysym 0x1008ff2b, XF86WakeUp), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Jednakże ani podanie keycodu 151 ani XF86WakeUp nie pomaga.

Przykładowy wpis z użyciem tego klawisza wygląda tak:

Kod:

XF86WakeUp F2 :Exec gnome-screensaver-command --lock

Sprzęt to Lenovo ThinkPad T61

Z góry dzięki.

Ostatnio edytowany przez enether (2012-05-05 22:39:11)

Offline

 

#2  2012-05-05 22:16:29

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: [Solved] fluxbox, thinkpad i klawisz funkcyjny

Klawisz funkcyjny działa na poziomie sprzętu i jego wciśnięcie nigdy nie dochodzi do oprogramowania (w tym wypadku — X, a dalej do Fluxboksa). Czy samo wciśnięcie klawisza funkcyjnego przy aktywnym okienku xev powoduje jakąś reakcję? Nie powinno.

Dopiero klawisz funkcyjny wciśnięty z jakimś innym klawiszem powoduje wysłanie do programu (X, Fluxboksa) odpowiedniego kodu klawisza. Jak rozumiem, ten fragment z xev który wkleiłeś pojawia się po wciśnięciu zarówno klawisza funkcyjnego, jak i F2. Jeśli mam rację, to wpis z ~/.fluxbox/keys, który podałeś, zostałby wywołany przy jednoczesnym wciśnięciu klawisza funkcyjnego i F2 (razem produkują XF86WakeUp) oraz F2 — co jest niemożliwe, przynajmniej nie bez zmodyfikowania układu klawiatury.

Słowem — podpisanie akcji pod samo XF86WakeUp powinno działać. Dopisz sobie tam najpierw jakiegoś xterma czy coś innego, żeby zobaczyć, czy mam rację.

Offline

 

#3  2012-05-05 22:38:37

  enether - wiecznie niewyspany

enether
wiecznie niewyspany
Zarejestrowany: 2012-05-01

Re: [Solved] fluxbox, thinkpad i klawisz funkcyjny

Bingo, miałeś rację. Nie sprawdzałem co w xev'ie dają kombinacje, badałem tylko kod podstawowego klawisza. I tak, wywołany pojedynczo działa.

Kombinacje okazuje sie mają własne oznaczenia, w wypadku Fn + F2 jest to XF86ScreenSaver

Teraz pójdzie z górki. Dzięki za pomoc ;)

Offline

 

#4  2012-05-05 23:03:57

  leszcz137 - Użytkownik

leszcz137
Użytkownik
Zarejestrowany: 2012-05-05

Re: [Solved] fluxbox, thinkpad i klawisz funkcyjny

Szanowny kolego :)
  Po pierwsze primo: klawisze volup, voldown, mute w  t61  nie działają na poziomie biosu - nie generują zdarzeń acpi. Są obsługiwane na poziomie softowym.
  Możesz wywalić sobie pliki: /etc/acpi/events/thinkpad-volume-* oraz /etc/acpi/events/thinkpad-mute, a także /etc/acpi/vol* i /etc/acpi/mutebtn.sh

Co z tym zrobić?

Kod:

mkdir -p /usr/local/share/kbd/keymaps
vim /usr/local/share/kbd/keymaps/personal.map
loadkeys /usr/local/share/kbd/keymaps/personal.map

reszta w google:p
albo pytaj:)

Po drugie primo Fn+F2 działa (że tego nie widzisz to inna sprawa), Skrobnij sobie odpowiedni skrypt w  /etc/acpi/ i będzie spoko

Po trzecie primo - wiem co znaczy primo:)

PS:
Minio to czym piszesz to proteza a nie działające klawisze funkcyjne. We wszystkich ibm/thinkpadach klawisze funkcyjne są obsługiwane na poziomie acpi a a nie aplikacji. Miedzy innymi dlatego jest zgrzyt z klawiszami głośności bo to jedyne klawisze, które nie są obsługiwane na poziomie acpi (pierwszy taki model thinkpada jaki miałem w rękach)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)