Как поменять «fn» использование функциональных клавиш на Apple Keyboard в Linux

У меня яблочная тонкая клавиатура (USB), и если я хочу использовать один из функциональных клавиш как есть, мне также нужно нажать клавишу «fn». В противном случае он попытается выполнить другую функцию ключа, например, увеличение или уменьшение интенсивности отображения, изменение громкости /отключения звука и т. Д.

Кроме того, клавиша fn фактически находится в положении клавиши «insert» для обычных клавиатур. Как я могу исправить все это?

Мне очень нравится эта клавиатура, так как я делаю ее намного проще и гораздо тише. Но некоторые из тех сопоставлений, которые меня иногда меня обманывают.

Спасибо: -)

39 голосов | спросил jfmessier 7 MonEurope/Moscow2009-12-07T16:01:49+03:00Europe/Moscow12bEurope/MoscowMon, 07 Dec 2009 16:01:49 +0300 2009, 16:01:49

5 ответов


52
echo 0 > /sys/module/hid_apple/parameters/fnmode

Или, в случае возникновения разрешения:

echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode

Это не позволит вам перезагрузиться. Добавление опции - хорошая идея, поэтому изменение сохраняется после перезагрузки.

  • 0 = клавиша Fn отключена
  • 1 = клавиша Fn нажата по умолчанию
  • 2 = клавиша Fn по умолчанию

От /drivers/hid/hid-apple.c строка 42 :

  

Режим fn на клавиатурах Apple (0 = отключено, [1] = fkeyslast, 2 = fkeysfirst)

ответил Cynyr 18 SatEurope/Moscow2010-12-18T21:27:28+03:00Europe/Moscow12bEurope/MoscowSat, 18 Dec 2010 21:27:28 +0300 2010, 21:27:28
31

Ответ выше о том, какой вариант установить в /etc/modprobe.d немного устарел. К счастью, подробная документация по поддержке Apple Keyboard :

  
  1. Отредактируйте или создайте файл /etc/modprobe.d/hid_apple.conf, например:

         

    gksudo gedit /etc/modprobe.d/hid_apple.conf

  2.   
  3. Добавьте эту строку в ранее открытый файл.

         

    options hid_apple fnmode=2

  4.   
  5. Сохраните файл и выполните следующую команду, чтобы уведомить модуль hid_apple, чтобы перезагрузить его конфигурацию.

         

    sudo update-initramfs -u

  6.   
  7. Reboot
  8.   

Я бы рекомендовал sudo update-initramfs -u -k all обновить его для всех ваших ядер (как только вы уверены, что настройка работает так, как ожидалось).

Настройка fnmode под /sys по-прежнему работает одинаково:

sudo -s 'echo 2 > /sys/module/hid_apple/parameters/fnmode'

Значения в обоих методах следующие:

  
  • 0 = отключено: отключите клавишу «fn». Нажатие «fn» + «F8» будет вести себя так же, как вы только нажимаете «F8»
  •   
  • 1 = fkeyslast: функциональные клавиши используются в качестве последнего ключа. Нажатие клавиши «F8» будет действовать как специальный ключ. Нажатие «fn» + «F8» будет вести себя как F8.
  •   
  • 2 = fkeysfirst: в качестве первого ключа используются функциональные клавиши. Нажатие клавиши «F8» будет вести себя как F8. Нажатие «fn» + «F8» будет действовать как специальный ключ (воспроизведение /пауза)
  •   
ответил wuputah 18 MarpmFri, 18 Mar 2011 22:33:34 +03002011-03-18T22:33:34+03:0010 2011, 22:33:34
5

Из здесь

как мы заменим функцию клавиши Fn?

Сначала отредактируйте /etc/modprobe.d/options

  

sudo nano /etc/modprobe.d/options

и убедитесь, что у него есть строка

  

options hid pb_fnmode = 2

Затем сохраните и выйдите. Наконец, нам нужно обновить ramfs:

  

sudo update-initramfs -u -v -k uname -r

Затем просто перезагрузитесь!

ответил joe 7 MonEurope/Moscow2009-12-07T16:13:11+03:00Europe/Moscow12bEurope/MoscowMon, 07 Dec 2009 16:13:11 +0300 2009, 16:13:11
0
sudo add-apt-repository ppa:daniel.pavel/solaar
sudo apt-get update
sudo apt-get install solaar
solaar

с помощью клавиатуры mac вы получите радиокнопку toggle fn

http://i.stack.imgur.com/9omc6.png

ответил user2167582 2 32016vEurope/Moscow11bEurope/MoscowWed, 02 Nov 2016 20:23:56 +0300 2016, 20:23:56
0

Это сработало для меня на Fedora 24

  1. Создайте новый файл для запуска SystemD.

    gedit /usr/lib/systemd/system/mac-keyboard.service

    Убедитесь, что файл содержит следующие

    [Unit]
     Description=mac-keyboard
    [Service]
     Type=oneshot
     ExecStart=/bin/sh -c "echo 2 > /sys/module/hid_apple/parameters/fnmode"
     ExecStop=/bin/sh -c "echo 1 > /sys/module/hid_apple/parameters/fnmode"
     RemainAfterExit=yes
    [Install]
     WantedBy=multi-user.target
    
  2. Перезагрузите SystemD, чтобы прочитать ваш новый файл

    systemctl --system daemon-reload

  3. Запустите службу SystemD.

    systemctl start mac-keyboard.service

  4. Включить службу для запуска при загрузке.

    systemctl enable mac-keyboard.service

Ссылка: https://www.dalemacartney.com/2013/06/14/changing-the-default-function-key-behaviour-in-fedora/

ответил FDisk 10 42016vEurope/Moscow11bEurope/MoscowThu, 10 Nov 2016 15:49:14 +0300 2016, 15:49:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132