Форум русской поддержки ОС Fedora linux
Страниц: 1
Данным способом (как мне кажется) можно завести соответствующие клавиши на любом ноутбуке.
На примере ноутбука Sony Vaio PCG-V505AX
Комбинации клавиш ноутбука Fn+F3 Fn+F4 Fn+F5 по умолчанию в Fedora не работают.
Пакет spicctrl.i386 : Sony Vaio laptop SPIC control program не помог.
Недавно разобрался с утилитами из пакета input-utils, результат следующий:
Имеется Sony Vaio Keys на input8:
[root@localhost nick]# cat /proc/bus/input/devices ................................... ................................... I: Bus=0010 Vendor=104d Product=0000 Version=0000 N: Name="Sony Vaio Keys" P: Phys= S: Sysfs=/devices/LNXSYSTM:00/device:00/PNP0A03:00/device:0e/SNY6001:00/input/input8 U: Uniq= H: Handlers=kbd event8 B: EV=13 B: KEY=1f 3fff0000 c 0 100000 0 2 0 6000 100400 0 40300400 0 0 0 0 B: MSC=10 ...................................
Запускаем утилиту showkey и нажимаем комбинации Fn+F3 Fn+F4 Fn+F5:
[root@localhost nick]# showkey kb mode was UNICODE press any key (program terminates after 10s of last keypress)... keycode 468 press keycode 468 release keycode 469 press keycode 469 release keycode 470 press keycode 470 release
получам key-коды
468 для Fn+F3
469 для Fn+F4
470 для Fn+F5
Теперь нужна утилита input-kbd из пакета input-utils.
Пакет input-utils можно взять в репозитарии Tigro:
[root@localhost nick]# yum install input-utils
или если репозитарий не подключен:
[root@localhost nick]# rpm -Uvh http://mirror.yandex.ru/fedora/tigro/9/i386/input-utils-2005.06.22-0.1.fc9.i386.rpm
Смотрим keyboard map на event8:
[root@localhost nick]# input-kbd 8 /dev/input/event8 bustype : BUS_ISA vendor : 0x104d product : 0x0 version : 0 name : "Sony Vaio Keys" bits ev : EV_SYN EV_KEY EV_MSC map: 36 keys, size: 50/64 0x0000 = 212 # KEY_CAMERA 0x0004 = 465 # KEY_FN_ESC 0x0005 = 466 # KEY_FN_F1 0x0006 = 467 # KEY_FN_F2 0x0007 = 468 # KEY_FN_F3 0x0008 = 469 # KEY_FN_F4 0x0009 = 470 # KEY_FN_F5 0x000a = 471 # KEY_FN_F6 0x000b = 472 # KEY_FN_F7 0x000c = 473 # KEY_FN_F8 0x000d = 474 # KEY_FN_F9 0x000e = 475 # KEY_FN_F10 0x000f = 476 # KEY_FN_F11 0x0010 = 477 # KEY_FN_F12 0x0011 = 466 # KEY_FN_F1 0x0012 = 467 # KEY_FN_F2 0x0013 = 480 # KEY_FN_D 0x0014 = 481 # KEY_FN_E 0x0015 = 482 # KEY_FN_F 0x0016 = 483 # KEY_FN_S 0x0017 = 484 # KEY_FN_B 0x0018 = 237 # KEY_BLUETOOTH 0x0019 = 148 # KEY_PROG1 0x001a = 149 # KEY_PROG2 0x001b = 202 # KEY_PROG3 0x001c = 158 # KEY_BACK 0x001d = 237 # KEY_BLUETOOTH 0x001e = 237 # KEY_BLUETOOTH 0x001f = 138 # KEY_HELP 0x0020 = 464 # KEY_FN 0x0029 = 372 # KEY_ZOOM 0x002a = 289 # BTN_THUMB 0x002f = 238 # KEY_WLAN 0x0030 = 238 # KEY_WLAN 0x0031 = 418 # KEY_ZOOMIN 0x0032 = 419 # KEY_ZOOMOUT
Создаем свою конфигурацию keyboard map в файле SonyFnKeys:
[root@localhost nick]# gedit /etc/input-kbd/SonyFnKeys
копируем в него вывод и меняем key-коды 468, 469, 470 на нужные:
0x0000 = 212 # KEY_CAMERA
0x0004 = 465 # KEY_FN_ESC
0x0005 = 466 # KEY_FN_F1
0x0006 = 467 # KEY_FN_F2
0x0007 = 113 # KEY_MUTE
0x0008 = 114 # KEY_VOLUMEDOWN
0x0009 = 115 # KEY_VOLUMEUP
0x000a = 471 # KEY_FN_F6
0x000b = 472 # KEY_FN_F7
0x000c = 473 # KEY_FN_F8
0x000d = 474 # KEY_FN_F9
0x000e = 475 # KEY_FN_F10
0x000f = 476 # KEY_FN_F11
0x0010 = 477 # KEY_FN_F12
0x0011 = 466 # KEY_FN_F1
0x0012 = 467 # KEY_FN_F2
0x0013 = 480 # KEY_FN_D
0x0014 = 481 # KEY_FN_E
0x0015 = 482 # KEY_FN_F
0x0016 = 483 # KEY_FN_S
0x0017 = 484 # KEY_FN_B
0x0018 = 237 # KEY_BLUETOOTH
0x0019 = 148 # KEY_PROG1
0x001a = 149 # KEY_PROG2
0x001b = 202 # KEY_PROG3
0x001c = 158 # KEY_BACK
0x001d = 237 # KEY_BLUETOOTH
0x001e = 237 # KEY_BLUETOOTH
0x001f = 138 # KEY_HELP
0x0020 = 464 # KEY_FN
0x0029 = 372 # KEY_ZOOM
0x002a = 289 # BTN_THUMB
0x002f = 238 # KEY_WLAN
0x0030 = 238 # KEY_WLAN
0x0031 = 418 # KEY_ZOOMIN
0x0032 = 419 # KEY_ZOOMOUT
сохраняем.
Теперь меняем keyboard map для input8 на свою:
[root@localhost nick]# input-kbd -f /etc/input-kbd/SonyFnKeys 8 /dev/input/event8 map: 36 keys, size: 50/64 set: 0x0000 = 212 # KEY_CAMERA set: 0x0004 = 465 # KEY_FN_ESC set: 0x0005 = 466 # KEY_FN_F1 set: 0x0006 = 467 # KEY_FN_F2 set: 0x0007 = 113 # KEY_MUTE set: 0x0008 = 114 # KEY_VOLUMEDOWN set: 0x0009 = 115 # KEY_VOLUMEUP set: 0x000a = 471 # KEY_FN_F6 set: 0x000b = 472 # KEY_FN_F7 set: 0x000c = 473 # KEY_FN_F8 set: 0x000d = 474 # KEY_FN_F9 set: 0x000e = 475 # KEY_FN_F10 set: 0x000f = 476 # KEY_FN_F11 set: 0x0010 = 477 # KEY_FN_F12 set: 0x0011 = 466 # KEY_FN_F1 set: 0x0012 = 467 # KEY_FN_F2 set: 0x0013 = 480 # KEY_FN_D set: 0x0014 = 481 # KEY_FN_E set: 0x0015 = 482 # KEY_FN_F set: 0x0016 = 483 # KEY_FN_S set: 0x0017 = 484 # KEY_FN_B set: 0x0018 = 237 # KEY_BLUETOOTH set: 0x0019 = 148 # KEY_PROG1 set: 0x001a = 149 # KEY_PROG2 set: 0x001b = 202 # KEY_PROG3 set: 0x001c = 158 # KEY_BACK set: 0x001d = 237 # KEY_BLUETOOTH set: 0x001e = 237 # KEY_BLUETOOTH set: 0x001f = 138 # KEY_HELP set: 0x0020 = 464 # KEY_FN set: 0x0029 = 372 # KEY_ZOOM set: 0x002a = 289 # BTN_THUMB set: 0x002f = 238 # KEY_WLAN set: 0x0030 = 238 # KEY_WLAN set: 0x0031 = 418 # KEY_ZOOMIN set: 0x0031 = 418 # KEY_ZOOMOUT
Все, клавиши Fn+F3 -Mute, Fn+F4 — Volume-, Fn+F5 — Volume+ работают.
Теперь надо добавить скрипт в автозагрузку. Но так как номер event имеет свойство иногда меняться (например, в случае подключения новых устройств ввода, таких как внешние клавиатуры, мыши, тв-тюнеры с дистанционным управлением, планшеты и т.п.) лучше вычислить номер event для input-kbd програмно. Идея заимствована у Игоря Кузнецова, автора патчей для поддержки тюнеров Beholder. Добавляем в /etc/rc.d/rc.local следующую строку:
input-kbd -f /etc/input-kbd/SonyFnKeys `cat /proc/bus/input/devices | grep -4 '"Sony Vaio Keys"' | grep "H:" | awk '{ sub(/event/, "", $3); print $3}'` >/dev/null 2>&1
в данной строке выполняются следующие действия:
cat /proc/bus/input/devices — получение детального списка устройств ввода
grep -4 '"Sony Vaio Keys"' — получение из списка блока данных по данному устройству
grep "H:" — получение из блока данных строки — H: Handlers=kbd event8
awk '{ sub(/event/, "", $3); print $3}' — получение с помощью языка awk из строки H: Handlers=kbd event8 номера event, т.е. 8
> /dev/null 2>&1 — что это смотри здесь
P.S.
Интересные материалы по теме
- Нихт ферштейн: учим пингвина понимать мультимедийные клавиши
- Manage Your Laptop's Hotkeys On Fedora
- Настройка мультимедия клавиш
- HOWTO_Мультимедийные_кнопки_(клавиши)
- Изменение раскладки клавиатуры
- Sony Vaio Laptop Utilities
Отредактированно nvl (2008-06-05 14:54:22)
Неактивен
Спасибо. Очень полезная информация.
Неактивен
Страниц: 1