У меня есть Thinkpad T460s с Kubuntu 20.04, и я использую клавиатуру Nacodex K680T, которая разделяет ряд номеров с функциональными клавишами, F [1- 12].
Функциональные клавиши выбираются нажатием клавиши «func» в правом нижнем углу клавиатуры.
К сожалению, я не могу использовать клавиши F [1-12], потому что каждый раз, когда я нажимаю «func» 'и клавиша в числовом ряду, она задействует горячие клавиши ноутбука: мультимедийные клавиши, яркость, громкость и т. д.
Кто-нибудь знает, как отключить горячие клавиши? Мне нужен F [1-12] больше, чем мне нужно для управления яркостью.
Обновление: у меня есть дополнительная информация - я установил screenkey
и вижу, что запускается строка func + num XF86KbdBrightnessDown
и т. Д. Надеюсь, эта информация будет полезна для тех, кто подскажет мне, как избавиться от этой проблемы.
Я попытался создать загрузочный USB-накопитель ESXi из KVM, и мне не удалось нажать F11, чтобы просмотреть подсказки, даже внутри виртуальной машины. , Таким образом, это выходит за рамки обновления веб-страницы или входа в инструменты разработчика Chrome с помощью одной клавиши. Это создает для меня серьезную проблему с удобством использования.
Я собираюсь попробовать проверить BIOS, чтобы увидеть, были ли перенаправлены клавиши, поскольку внутренняя клавиатура также не регистрирует F [1-12] - так что это приводит к мне кажется, что это настройка BIOS, которая каким-то образом изменилась (не помню, как это делалось, но никогда не знаешь ...)
О, и я пробовал комбинации [left / right] ctrl-func, alt- func, shift - func, shift- [alt / ctrl] -func - ни один из них не делает ничего, чтобы помочь.
left ctrl-func блокирует функциональные клавиши на K680T, но они не ведут себя по-другому (кроме удаления числовой строки без нажатия клавиши func).
Самое простое решение, которое я нашел для этого после:
acpi_osi =
, acpi_osi = Windows
и
acpi_osi = Linux
в GRUB_CMDLINE_LINUX_DEFAULT
в качестве основной функции
(который включил
в моем BIOS, это означает, что он обрабатывается как обычная клавиша F [1-12],
вопреки тому, что указано в справке службы поддержки Lenovo) X11 xkb
, надеясь, что я смогу выяснить, какой ключ
клавиша func
(поскольку она не регистрируется в screenkey
, но
несколько XF86
ключей, которых не было в
/ usr / share / X11 / xkb / symbols / pc
) Было, когда я наткнулся на этот баребон командный сценарий xmodmap
:
#!/bin/bash
# Script name: fix-fkeys.sh
# fix the common F keys
xmodmap -verbose -e 'keycode 232 = F1'
xmodmap -verbose -e 'keycode 233 = F2'
xmodmap -verbose -e 'keycode 128 = F3'
xmodmap -verbose -e 'keycode 212 = F4'
xmodmap -verbose -e 'keycode 237 = F5'
xmodmap -verbose -e 'keycode 238 = F6'
xmodmap -verbose -e 'keycode 173 = F7'
xmodmap -verbose -e 'keycode 172 = F8'
xmodmap -verbose -e 'keycode 171 = F9'
xmodmap -verbose -e 'keycode 121 = F10'
xmodmap -verbose -e 'keycode 122 = F11'
xmodmap -verbose -e 'keycode 123 = F12'
Ссылка: Как отключить мультимедийные клавиши целиком? 18.04 LTS
Коды клавиш xmodmap не соответствуют никаким ссылкам, которые я нашел в Интернете, или кодам, перечисленным в screenkey
, xev
или acpi_listen
Но я заметил, что вы можете распечатать текущее отображение с помощью xmodmap -pk
- поэтому я использовал:
$ xmodmap -pk | grep Brightness
, чтобы найти F1 и F2, поскольку они отсутствовали в ответе AskUbuntu, упомянутом выше, но были сопоставлены с XF86BrightnessDown
и XF86BrightnessUp
соответственно. Это указывало мне на направление обучения, это были коды 232
и 233
,
У меня такая же клавиатура. Ваш скрипт хорошо работает под X11, но не под Wayland, поэтому я потратил на это еще немного времени. Получается, что клавиатура отчитывается перед системой как клавиатура Apple даже в режиме Windows. Запустите lsusb, и вы увидите Apple в качестве поставщика.
эхо 0 | sudo tee /sys/module/hid_apple/parameters/fnmode
Эта команда изменяет поведение функциональных клавиш K680T на ожидаемое. Это, конечно же, повлияет и на настоящие клавиатуры Apple.
Вы также можете добавить что-то в modprobe.d, чтобы автоматически обрабатывать это при загрузке. Создайте файл с именем /etc/modprobe.d/50-hid_apple.conf со следующим содержимым:
options hid_apple fnmode=0
Обновите ваши initramfs и все будет готово.