web-dev-qa-db-ja.com

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

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

これらを入れ替える方法はありますか?関数キーはfn修飾子を必要としませんが、他の関数(明るさなど)は必要ですか?

24
ryanlerch

追加する必要があります0または2から/sys/module/hid_Apple/parameters/fnmode

例:

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

2つの値の違いについて、いくつかの混乱があるようです。引用 buntuドキュメント

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

これはFedoraでも動作します。

28
ffledgling

キーボードとタッチパッドを機能させるために applespi ドライバーを必要とする新しいMacBook Pro(2016以降)のいずれかを使用してこのスレッドに遭遇した人のために、私ができなかったので、これを機能させる方法を次に示します。新しい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」を使用します。

3
Misha

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

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

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

3
ryanlerch

アクセスが拒否され、単に「Sudo」のプレフィックスを付けることができない場合は、次のように使用します。

Sudo nano /sys/module/hid_Apple/parameters/fnmode

それを2またはその他に変更してから、Ctrl+Xに保存します。

2
Marc

以前の説明 では、望ましいと思われるカーネルブートパラメータを使用してソリューションが提供されます(システム全体のアプリケーション、/etc/default/grubの1行だけの変更など)。

その解決策に従ってのみ、fnmode2ではなく0に設定されます。 hid_Apple/parameters/fnmode2に設定しようとしたところ、期待どおりの効果が得られました。多分論理は単に `1→"必要です Fn アクセスするために F1、 F2、 F3、...」と他のすべての値との比較

1
RJVB

@ ffledglingの答えに加えて

この設定を再起動のたびに適用するには、次のことをお勧めします(Ubuntu 18.04、20.04で正常に動作し、他のディストリビューションでも同様です)。

echo "options hid_Apple fnmode=2" | Sudo tee /etc/modprobe.d/hid_Apple.conf
0
mistapink