Я использую проводную клавиатуру Apple в Linux. По умолчанию функциональные клавиши (F1, F2, F3 и т. Д.) Требуют fn
нажатия клавиши для их работы. Без fn
клавиши эти клавиши управляют такими функциями, как яркость экрана, громкость и управление музыкальной дорожкой.
Есть ли способ поменять их местами, поэтому функциональные клавиши не требуют fn
модификатора, а другие функции (яркость и т. Д.) Делают?
linux
keyboard
keyboard-layout
apple
ryanlerch
источник
источник
Я понял, что довольно просто изменить поведение этого модификатора, поскольку root меняет значение в файле
/sys/module/hid_apple/parameters/fnmode
с1
на0
. Например:# echo 0> / sys / module / hid_apple / parameters / fnmode
Обратите внимание, что в некоторых старых версиях linux этот файл находился в
/sys/module/apple/parameters/fnmode
. Кроме того, это изменение не будет сохраняться при перезагрузке.источник
Для тех, кто получает отказ в доступе и не может просто использовать префикс «sudo»:
Измените его
2
или что-то еще, а затемCtrl+X
сохранить.источник
echo 2| sudo tee /sys/module/hid_apple/parameters/fnmode
, но все эти решения являются временными .... Один из способов сделать постоянным (вsystemd
средах, таких как Fedora, например):echo "w /sys/module/hid_apple/parameters/fnmode - - - - 2" | sudo tee /etc/tmpfiles.d/rev_fn_key.conf
Для любого, кто сталкивается с этой темой, используя один из более новых MacBook Pro (2016 и более поздние версии), которому для работы клавиатуры и тачпада нужен драйвер applepi , вот как это сделать, поскольку я не смог найти другую ветку, объясняющую это для более новые Mac.
Насколько я понимаю, драйвер эффективно заменяет роль модуля hid_apple, поэтому файлы для редактирования немного отличаются.
Во-первых, чтобы убедиться, что вы используете драйвер applepi, а не драйвер hid_apple, проверьте, какая из этих команд (используя терминал) что-то возвращает. В зависимости от того, что вы скажете, какой драйвер вы используете в данный момент:
Для временного тестирования настроек (настройки будут сброшены после перезагрузки):
Чтобы применить изменения навсегда (сохраните с перезагрузками):
Для старых MacBook Pro, использующих модуль hid_apple, используйте «hid_apple», а не «applepi» в командах.
источник
В более раннем обсуждении решение было дано с параметром загрузки ядра, который мог бы быть предпочтительным (общесистемное приложение, изменение только строки в
/etc/default/grub
и т. Д.).Только в соответствии с этим решением,
fnmode
устанавливается на2
вместо0
. Я просто попытался установитьhid_apple/parameters/fnmode
на2
, и это также имеет желаемый эффект. Может быть , логика просто `1 →«требуют Fnдоступа F1, F2, F3, ...»против всех других ценностей?источник