Üdv,
szeretnék írni egy programot, ami kifejezetten Fn+F1, F2, F3 … F12 bill. kombók leütését észleli.
Fényerőt szeretnék állítani a laptopomon, mert alapból nem megy. Ehhez akarok toolt írni, de nem tudom hogyan lehetne ezeket a billentyűket elkapni. Ötlet valaki?
- Nem más megoldást keresek, köszönöm, próbáltam sok mindent. Egyébként az áldozat egy Toshiba A300-29k
- Ezzel találkoztam: C, C++, Java (Pascal, Javascript de azt hiszem ők kevésbé relevánsak)
- Nyilván később másra is fel lehet használni a kódot most 3 dolog érdekel:
* Debian alapú Linuxra olyan program írása, amely képes erre
* Megoldjam a gondom
* Újat tanuljak a fentiek révén
Ha valaki a legcsekélyebb segítséget is nyújtja, azt megköszönöm. Google volt, de lehet, hogy vannak jobb kulcsszavak is, azt is szívesen veszem. Nem ijedek meg egy teljesen új nyelvtől, dokumentáció olvasástól stb.
- 135935 megtekintés
Hozzászólások
Az acpi_listen
-nel újat tanultam, de sajnos nem sikerült. Akkor sem írt ki semmit, amikor Fn+ESC-et nyomtam. Ez a némítás, és ez kivételesen működik, bár nem tudom, hogy ez nem-e alap.
Update: Megnéztem mit lát a xev
de az csak annyival okosabb, hogy észreveszi F12-vel a scroll lockot, meg rosszul látja az F10, F11 duót. (elvileg Fn+F11 a num lock, de ő F10-essel be, F11-essel ki kapcsolja )
------------------------
Everyone is a winner*
- A hozzászóláshoz be kell jelentkezni
Kövezzetek meg de úgy rémlik hogy az Fn+akármi billentyűket maga a bill. chipje feldolgozza és szoftveresen már csak azt látod mintha egy a kis ikonnak megfelelő bill.t nyomtak volna le. Tehát ahol nincs kis kék jel azt hiába nyomod nem fog a gép tudni róla, ahol meg van ott úgy keresd mintha egy külön fizikai gomb lenne pl egy multimédiás billentyűzeten.
--
zsebHUP-ot használok!
- A hozzászóláshoz be kell jelentkezni
Nem Fn+ akármit akarok, hanem Fn+{erre a a célra beosztott bill}-t.
http://www.wolfcomputer.hu/wolfcomputer/media/_webshop/w4e0acc8f_Resize…
Pont ilyen a kiosztásom, ezekkel a piktogramokkal. Ezeket próbáltam eddig elkapni a fentebb írt módon.
------------------------
Everyone is a winner*
- A hozzászóláshoz be kell jelentkezni
X11 alatt akarod vagy konzolon?
Nekem X11 alatt (IceWM a wm-em) az alábbi segített:
(1) a ~/.icewm/keys file-ba beleraktam ezeket a sorokat:
key "XF86MonBrightnessDown" light-down
key "XF86MonBrightnessUp" light-up
key "Alt+Ctrl+m" light-middle
(2) A light-up script pedig így néz ki (ebből a többit már könnyű kitalálni):
#!/bin/bash
set -e -u -C
DEV=/sys/class/backlight/acpi_video0
MAX=$(< $DEV/max_brightness)
CUR=$(< $DEV/brightness)
if [ "$CUR" -lt "$MAX" ]; then
echo $(( CUR + 1 )) >| $DEV/brightness
fi
Mindenesetre az alap az, hogy az X11 keyboard driver ezeket a billentyűkombinációkat már megemésztve köpi ki (XF86MonBrightnessDown, XF86MonBrightnessUp). Indítsd el az "xev" programot, és nézd meg, mit ír ki, amikor az Fn+(F1 ... F12)-t nyomogatod.
- A hozzászóláshoz be kell jelentkezni
Nekem mindegy mi kapja el, csak tudjam valahogy észrevenni.
xev-vel ezeket látom:
Fn+
- ESC:
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
És némítja a hangerőt - F1:
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
És megnyitja a Dash-t (Unity) - F2: Semmi
- F3:
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
És el is alszik - F4: Semmi
- F5: Semmi
- F6:
KeymapNotify event, serial 43, synthetic NO, window 0x0,
keys: 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
És le is veszi a fényerőt* o_O - F7
És fel is veszi a fényerőt* o_O - F8: Semmi
- F9: Semmi
- F10: ** Rosszul látja de működik. Ki-be lehet kapcsolni a betűk közé rakott numerikus részt. A bal oldali jelnek megfelelően működnek.
- F11: ** Rosszul látja de működik. Ki-be lehet kapcsolni a betűk közé rakott numerikus részt. A jobb oldali jelnek (számok) megfelelően működnek.
- F12: Scroll lock, működik
Hogy mik a piktogramok: az eggyel fentebbi hsz-ben ott a kép.
* Én lepődtem meg a legjobban, hogy ma, ahogy válaszolok a hozzászólásra, működik, pedig tegnap este még nem ment. És az azt megelőző 2 évben sem. Ekkora mákom lenne, hogy a ma reggeli kernelfrissítés oldotta meg?
** Azt látja, hogy F10-re be és F11-re ki kapcsolja a numlockot. Ha kétszer nyomok mondjuk F11-et, akkor csak az elsőt látja. Addig nem vesz innen semmit, amíg nem volt F10-es kombó.
A fényerős sikertől függetlenül még szeretném elérni a többi funkciót is. Pl. hogy Fn+F8 ki-be kapcsolja a bluetooth-t (wifire van külön kapcsoló). Fn+F9 ki-be kapcsolja a Touchpadot, Fn+F1 lockolja a gépet, Fn+F4 pedig hibernálja. Az hogy F5-re még képernyőkimenetet is állítson az lehet nagy falat egy embernek.
------------------------
Everyone is a winner*
- A hozzászóláshoz be kell jelentkezni
Szerintem is érdemes lenne inkább az Xorg beállításaiban tobzódni egy kicsit, nagyon kicsi az esély rá, hogy nem lehet úgy megcsinálni.
Ha erre programot akarnál írni, az sokkal, de sokkal több utánajárás/idő/macera szvsz.
De ha ezek ellenére is a programírásnál maradsz, akkor mindenképpen át kell nyálazni mondjuk az Xlib API-t, és aztán ennek fényében lezongorázni, mondjuk C-ben.
----------------
"Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders" +1
- A hozzászóláshoz be kell jelentkezni
Update után (amíg nem volt restart, akkor csodák csodájára ment) újra csend honol. acpi_listen
és xev
se lát semmit a fényerőállítgatásból. Mi történt, hogy kernel frissítés után élő rendszeren jó volt, aztán megint nem? Hogy lehet ezt megkeresni? Arra gondoltam egy live-cd-vel megpróbálom reprodukálni.
Szerk.:
Fényerő: Ha a gépet altatom, majd ébresztem akkor jó. Egészen restartig, akkor megint nem megy. Mit kell elolvassak, hogy ezt kibányászhassam, hogy mi történik?
Többi Fn:
Még mindig szeretném elkapni a leütött billentyűket. Se acpi_listen
, se xev
nem látja.
------------------------
Everyone is a winner*
- A hozzászóláshoz be kell jelentkezni
Úgy látom nem nagyon van ötlet. Arra valami tipp, hogy merre keressem a választ a kérdésre? Mit olvassak el?
------------------------
Everyone is a winner*
- A hozzászóláshoz be kell jelentkezni
Idézet a wikiről:
Unlike other modifier keys such as Ctrl, Shift and AltGr, the microcontroller inside the keyboard typically sends out a different keycode depending on whether the Fn key is depressed. This allows the keyboard to emulate a full-sized keyboard, so that specialised keymaps do not need to be created; the operating system can use standard keymaps designed for a full-sized keyboard. Because the operating system has no notion of the Fn key, the key can not be remapped in software, unlike all other standard keyboard keys.
In many designs, pressing F-Lock or Fn key itself does not generate a scancode. However, if it does, the key may be remapped by modifying the interrupt handler in BIOS that maps scancodes to characters, a technique that has proven successful on Lenovo laptops.[citation needed]
In addition to being mapped to standard keyboard keys like Scroll Lock and Num Lock, the Fn key combinations may also be mapped to control system interfaces to change the LCD brightness, VGA output, or speaker volume on most laptop computers.
Kicsit nézelődve mindenhol megerősítik a wikis írást, elég sokan agyaltak a dolgon, eredménytelnül.
Ubi alá van még ez a cucc, hátha mutat valamit:
http://manpages.ubuntu.com/manpages/lucid/man1/showkey.1.html
Ez azért talán érdekes lehet:
http://linux.toshiba-dme.co.jp/linux/eng/develop.htm
- A hozzászóláshoz be kell jelentkezni
Köszönöm. A showkey
ugyanazt tudta mint az eddigiek. Viszont ha van élet az e-mail címek mögött, akkor megpróbálom (A legutolsó a 2008-as Fn-es, viszont ez jó eséllyel az a toshutils, ami régebbi gépekhez való).
------------------------
Everyone is a winner*
- A hozzászóláshoz be kell jelentkezni