LINUX.ORG.RU

Как изменить функциональную клавишу?

 , ,


0

0

На fn+f5 висит включение/отключение wi-fi . хочется вместо вафли повесить туда блютуз . вроде кнопкой управляет модуль thinkpad_acpi , так как при его отключении кнопка перестает работать. Thinkpad x220, gentoo, linux-3.4.2-gentoo-r1, kde .

В общем, где какой конфиг редактировать чтобы достигнуть желаемого?



Последнее исправление: rvest (всего исправлений: 1)

В общем, где какой конфиг редактировать чтобы достигнуть желаемого?

Ищи в /etc/acpi/*

Deleted
()
Ответ на: комментарий от Deleted

Ищи в /etc/acpi/*

там только обрабатываются события вкл.выкл питания

rvest
() автор топика

В общем, где какой конфиг редактировать чтобы достигнуть желаемого?

Не совсем конфиг, но где-то здесь: /usr/src/linux/drivers/platform/x86/thinkpad_acpi.c. Скорее всего, даже получится, если там сделано аналогично ideapad'у.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

thinkpad_acpi.c

всё что нашел по «wireless» http://pastebin.com/8hZB3EqF

про хоткей там только:

/* Call to get the WLSW state from the firmware */
static int hotkey_get_wlsw(void);

/* Call to query WLSW state and update all rfkill switches */
static bool tpacpi_rfk_check_hwblock_state(void)
{
	int res = hotkey_get_wlsw();
	int hw_blocked;

	/* When unknown or unsupported, we have to assume it is unblocked */
	if (res < 0)
		return false;

	hw_blocked = (res == TPACPI_RFK_RADIO_OFF);
	tpacpi_rfk_update_hwblock_state(hw_blocked);

	return hw_blocked;
}
но как то непохоже на то, что выдает acpi_listen
button/wlan WLAN 00000080 00000000 K

rvest
() автор топика
Ответ на: комментарий от rvest

про хоткей там только:

Это похоже на hard block. Не знаю, как в thinkpad, но в ideapad Fn+F5 переключает soft block. Думаю, здесь надо смотреть в функцию hotkey_init() — там в tpacpi_keymaps клавише Fn+F5 поставлен в соответствие keycode KEY_WLAN (2 раза!). Возможно, если его заменить на KEY_BLUETOOTH, то будет переключаться soft block rfkill'а bluetooth'а. Также, возможно, если заменить на KEY_FN_F5, то можно будет повесить собственное действие на клавишу (возможно, в этом случае понадобиться изменить keycode с помощью udev).

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

меня устроило бы просто отключить переключение вай фая, а уж потом повесить блютуз скриптом и средствами кде. возможно ли удалить эту часть кода и пересобрать ядро? (только чтоб не отвалилось чего нибудь)

rvest
() автор топика
Ответ на: комментарий от rvest

возможно ли удалить эту часть кода и пересобрать ядро? (только чтоб не отвалилось чего нибудь)

Если удалить ту часть кода, то как минимум отвалятся все хоткеи полностью, т.е. средствами KDE скрипт будет не на что вешать.

Попробуйте сначала применить этот патч. По идее, с ним должно всё заработать само: при нажатии кнопки будет выключаться bluetooth и не выключаться wi-fi. Если произойдёт что-то другое, напишите, что именно, надо будет разбираться дальше.

Если с первым патчем ничего в итоге не получится, тогда попробуйте этот. С ним кнопка Fn+F5 будет генерировать код KEY_FN_F5, но сразу иксы его видеть не будут (он больше 256), поэтому, чтобы повесить на хоткей скрипт в KDE, придётся ещё и поправить /lib/udev/rules.d/95-keymap.rules. Но это более костыльное решение для выключалки bluetooth — оно больше пригодится, если надо повесить на хоткей что-то совсем постороннее.

gentoo_root ★★★★★
()

Пакет acpi-support установи. В дереве его нет, только в оверлее sunrise.

Lighting ★★★★★
()
Ответ на: комментарий от gentoo_root

Не знаю, как в thinkpad, но в ideapad Fn+F5 переключает soft block.

на thinkpad также переключается soft block, hard block в bios.

dhampire ★★★
()

Через udev (копай в сторону USE-флага keymap) сменить кнопочку, после чего через acpi ей управлять.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.