Linux上のAppleキーボードで、fn修飾キーなしでファンクションキーを機能させるにはどうすればよいですか?


18

LinuxではAppleの有線キーボードを使用しています。デフォルトでは、機能キー(F1、F2、F3など)を使用するには、fnキーを押す必要があります。fnキーがない場合、これらのキーは画面の明るさ、音量、ミュージックトラックコントロールなどの機能を制御します。

これらを入れ替える方法はあるので、ファンクションキーはfn修飾子を必要としませんが、他の機能(輝度など)は必要ですか?

回答:


23

0または2に追加する必要があり/sys/module/hid_apple/parameters/fnmodeます。

すなわち:

echo 2 > /sys/module/hid_apple/parameters/fnmode

2つの値の違いが何であるかに関して、多少の混乱があるようです。Ubuntuドキュメントを引用:

  1. 0 =無効: 'fn'キーを無効にします。「fn」+「F8」を押すと、「F8」を押すだけのように動作します
  2. 1 = fkeyslast:ファンクションキーは最後のキーとして使用されます。「F8」キーを押すと、特別なキーとして機能します。「fn」+「F8」を押すと、F8のように動作します。
  3. 2 = fkeysfirst:ファンクションキーが最初のキーとして使用されます。「F8」キーを押すと、F8のように動作します。「fn」+「F8」を押すと、特別なキー(再生/一時停止)として機能します。

これはFedoraでも機能することに注意してください。


それのfnmode =ノーアンダースコア
Yauhen Yakimovich

どうもありがとう!!!
シヴァム

3

rootがファイルの値を/sys/module/hid_apple/parameters/fnmodeから1に変更すると、この修飾子の動作を変更するのは非常に簡単であることがわかりました0。例えば:

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

一部の古いバージョンのLinuxでは、このファイルはにありました/sys/module/apple/parameters/fnmode。また、再起動してもこの変更は持続しません。


2

アクセスが拒否され、単に「sudo」をプレフィックスすることができなかった人のために:

sudo nano /sys/module/hid_apple/parameters/fnmode

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
nhed

2

キーボードとタッチパッドを動作させるためにapplespiドライバーを必要とする新しいMacBook Pro(2016以降)の1つを使用してこのスレッドにつまずいた人のために、これを説明する他のスレッドが見つからなかったため、ここでこの動作を行う方法を示します新しいMac。

私の知る限り、ドライバーはhid_appleモジュールの役割を効果的に置き換えているため、編集するファイルはわずかに異なります。

最初に、hid_appleドライバーではなくapplespiドライバーを使用していることを確認するには、これらのコマンドのどれが(ターミナルを使用して)何を返すかを確認します。どちらを使用しても、現在使用しているドライバーがわかります。

# If this returns "applespi", you are using applespi
ls /sys/module | grep applespi

# If this returns "hid_apple", you are using hid_apple
ls /sys/module | grep hid_apple

設定を一時的にテストするには(再起動後に設定がリセットされます):

echo 2 | sudo tee -a /sys/module/applespi/parameters/fnmode

変更を永続的に適用するには(再起動を保持):

# Add the option for the fn key
echo options applespi fnmode=2 | sudo tee -a /etc/modprobe.d/applespi.conf
# Update initramfs bootfile
sudo update-initramfs -u -k all
# Reboot to test (optional)
sudo reboot

hid_appleモジュールを使用する古いMacBook Proの場合、コマンドで「applespi」ではなく「hid_apple」を使用します。


1

古い議論溶液が好ましい(システム全体のアプリケーション、わずか線の変形であるかもしれないカーネルブートパラメータで与えられている/etc/default/grub、など)。

そのソリューションによると、のみでfnmode2なくに設定されます0。私はちょうど設定しようhid_apple/parameters/fnmode2、そしてそれが所望の効果をあまり持っています。たぶんロジックは、単に`1→「必要があるFnアクセスにF1F2F3、...」他のすべての値対?


こんにちはRJVB、unix.SEへようこそ。書式を改善するために回答を編集しました。ソースを見て、いくつかのトリックを学んでください。
博士14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.