Что я хочу сделать, это установить клавишу Fn в качестве переключателя (так же, как и заглавные буквы).

Я думал, что это возможно через реестр, но у меня недостаточно знаний, чтобы это исправить. (Можно также перевернуть, чтобы, удерживая его, я мог использовать клавиши F1 - F12 ).

1 ответ1

2

Боюсь, это вполне возможно. Обычно клавиша Fn - это не то, что передается операционной системе, а, скорее, реализовано в прошивке клавиатуры.

Возьмите мой ноутбук, например. Fn+F3 отключен. Если я (в Debian, но те же принципы применимы и к Windows) запускаю showkey --scancodes , чтобы посмотреть, что делает моя клавиатура, я не получу вывод, если я нажму и отпущу Fn. Если я нажимаю и отпускаю F3, я получаю ^[OR0x3d 0xbd , а если я делаю Fn+F3, я получаю совершенно отличную последовательность 0xe0 0x20 0xe0 0xa0 . Сравните это с ситуацией с ctl: press-and-release:

0x9c 
0x1d 
0x9d 

И Ctl + F3 получает:

0x1d 
^[[1;5R0x3d 
0xbd 0x9d

Как видите, Fn не передается в ОС; это напрямую меняет то, что видит ОС.

Так мало, чтобы сменить микропрограмму микропрограммы клавиатуры, и, если у него уже нет клавиши Fn-Lock, как прокомментировал Майкл Франк, превращение Fn в переключатель не будет возможным.

Опция инверсии , однако, выполнима. В BIOS может быть опция для этого, но если нет, вам нужно выяснить, какие окна считают коды сканирования клавиш F1-F12 и результат Fn+[те]. Для каждого ключа вы должны поменять местами его скан-код fn+key с неизмененным. Это то, что можно сделать в Windows с помощью regedit, хотя, возможно, есть более простые инструменты, а в Linux - с соответствующими инструментами, возможно, с текстовым редактором и setxkbmap. К сожалению, я не могу помочь вам с этим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .