「Apple Keyboard」の版間の差分
(英語版と同期. 古い記述残した.) |
|||
(2人の利用者による、間の7版が非表示) | |||
1行目: | 1行目: | ||
[[Category:キーボード]] |
[[Category:キーボード]] |
||
[[en:Apple Keyboard]] |
[[en:Apple Keyboard]] |
||
+ | {{Related articles start}} |
||
− | == 詳細 == |
||
+ | {{Related|特別なキーボードキー}} |
||
− | 背景資料については次のページを見て下さい: https://help.ubuntu.com/community/AppleKeyboard |
||
+ | {{Related articles end}} |
||
+ | 一部の Apple 製のキーボードではキーが変わっていたり動作しなかったりすることがあります。この記事ではキーボードにあわせて適切な動作をするように設定を変更する方法を説明します。 |
||
+ | ==Numlock が有効== |
||
− | {{Note|[[カーネルモジュール]]の設定ファイルを使って設定を永続的にすることができます。これを使うには、ファイルを [[mkinitcpio|mkinitcpio.conf]] の FILES に追加して起動時にカーネルモジュールが自動的にロードされるようにしてください。}} |
||
+ | Numlock が有効になってしまうと物理キーと {{ic|7}}, {{ic|8}}, {{ic|9}}, {{ic|u}}, {{ic|i}}, {{ic|o}}, {{ic|j}}, {{ic|k}}, {{ic|l}} と周りのキーしか動作しなくなり数字が出力されるようになります。これを修正するには {{ic|Fn}}+{{ic|F6}} を二度押して下さい。 |
||
− | {{Tip|[[sudo]] を使ってシステムディレクトリに書き込みをしたい場合、シェルのリダイレクトを使用することはできません。以下のように {{ic|tee}} を使って下さい: |
||
− | $ echo 0 | sudo tee /sys/module/hid_apple/parameters/iso_layout |
||
− | }} |
||
+ | もしくは、[[xmodmap]] を使って手動でキーコードを設定することで Numlock を使わないようにできます: |
||
− | ==Numlock が有効== |
||
+ | keycode 90 = KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 |
||
− | numlock が有効になってしまうと物理キーと 7,8,9,u,i,o,j,k,l と周りのキーしか動作しなくなり数字が出力されるようになります。これを修正するには {{ic|Fn}}+{{ic|F6}} を二度押して下さい。 |
||
+ | keycode 87 = KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 |
||
+ | keycode 88 = KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 |
||
+ | keycode 89 = KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 |
||
+ | keycode 83 = KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 |
||
+ | keycode 84 = KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 |
||
+ | keycode 85 = KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 |
||
+ | keycode 79 = KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 |
||
+ | keycode 80 = KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 |
||
+ | keycode 81 = KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 |
||
==ファンクションキーが動作しない== |
==ファンクションキーが動作しない== |
||
29行目: | 38行目: | ||
options hid_apple fnmode=2 |
options hid_apple fnmode=2 |
||
</nowiki>}} |
</nowiki>}} |
||
+ | |||
+ | 初期 RAM ディスクで上記の変更を適用したい場合、[[Mkinitcpio#設定|mkinitcpio]] の設定 (通常は {{ic|/etc/mkinitcpio.conf}}) で、{{ic|HOOKS}} 変数に {{ic|modconf}} を指定するか {{ic|FILES}} 変数で {{ic|/etc/modprobe.d/hid_apple.conf}} を指定してください。変更を反映するには[[Mkinitcpio#イメージ作成とアクティベーション|イメージの再生成]]が必要です。 |
||
===上記の設定が無線キーボードで動作しない場合=== |
===上記の設定が無線キーボードで動作しない場合=== |
||
34行目: | 45行目: | ||
{{ic|hid_apple/parameters}} や {{ic|hid/parameters/pb_fnmode}} が最近の Apple Bluetooth キーボードモデルとカーネル 3.4 では見つからないことがあります。 |
{{ic|hid_apple/parameters}} や {{ic|hid/parameters/pb_fnmode}} が最近の Apple Bluetooth キーボードモデルとカーネル 3.4 では見つからないことがあります。 |
||
− | まず、キーボードを確認してください。root で次を実行 ({{ic|hidd}} は |
+ | まず、キーボードを確認してください。root で次を実行 ({{ic|hidd}} は {{Pkg|bluez}} パッケージに含まれています): |
# hidd --show |
# hidd --show |
||
40行目: | 51行目: | ||
40:CA:EC:32:85:AB Apple Wireless Keyboard [05ac:0255] connected |
40:CA:EC:32:85:AB Apple Wireless Keyboard [05ac:0255] connected |
||
+ | ベンダー ID (05ac) とデバイス ID (0255) から、カーネルがキーボードをサポートしているかどうか簡単に確認できます。実際、Linux カーネル 3.4 では上記のデバイスがサポートされています。{{ic|drivers/hid/hid-ids.h}} の中に以下の行が確認できます: |
||
− | So with the vendor (05ac) and device (0255) ID it's easier to find out if the current kernel has support for it. |
||
− | Actually, the above device is listed in the linux kernel 3.4. If you check {{ic|drivers/hid/hid-ids.h}} you should see the following line: |
||
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI 0x0255 |
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI 0x0255 |
||
+ | ただしファンクションキーのサポートはありません。 |
||
− | But support for the Function Key is missing. |
||
+ | この問題を修正するには以下のパッチを使って [[abs]] からカーネルを再ビルドしてください (Linux カーネル 3.5 からパッチはマージされています): https://pastebin.com/CvFJz3Fn |
||
− | In order to fix it rebuild your kernel from [[abs]] with the following patch: |
||
− | http://pastebin.com/CvFJz3Fn |
||
+ | バグはすでに上流に報告済みです: https://bugzilla.kernel.org/show_bug.cgi?id=43135 |
||
− | This bug is already reported upstream |
||
+ | |||
− | https://bugzilla.kernel.org/show_bug.cgi?id=43135 |
||
+ | === Cmd と Alt/AltGr を入れ替える === |
||
− | and part of the vanilla kernel since 3.5 |
||
+ | |||
+ | 左の {{ic|Alt}} および {{ic|Cmd}} キーを、右の {{ic|Alt}}/{{ic|AltGr}} および {{ic|Cmd}} キーとともに、入れ替えます。 |
||
+ | |||
+ | 起動している状態で仮に入れ替える方法 (ただちに反映されます): |
||
+ | |||
+ | # echo "1" > /sys/module/hid_apple/parameters/swap_opt_cmd |
||
+ | |||
+ | 再起動後、永続的に反映される方法: |
||
+ | |||
+ | {{hc|/etc/modprobe.d/hid_apple.conf|2= |
||
+ | options hid_apple swap_opt_cmd=1 |
||
+ | }} |
||
+ | |||
+ | そのあと[[Mkinitcpio#イメージ作成とアクティベーション|イメージの再生成]]をしてください。 |
||
==< と > が § と ½ に入れ替わる== |
==< と > が § と ½ に入れ替わる== |
||
82行目: | 105行目: | ||
そして {{Ic|xmodmap ~/.Xmodmap}} を実行します。上記のコマンドも {{ic|~/.bashrc}} に記述することができます。 |
そして {{Ic|xmodmap ~/.Xmodmap}} を実行します。上記のコマンドも {{ic|~/.bashrc}} に記述することができます。 |
||
− | ==< と > が ^ と ° に入れ替わる== |
+ | ==< と > が ^ と ° (あるいは @ と #) に入れ替わる== |
+ | ドイツ語レイアウトでは、アクセント記号 ({{ic|^}}) とデグリー記号 ({{ic|°}}) が小なり記号 ({{ic|<}}) と大なり記号 ({{ic|>}}) に入れ替わっています。フランス語レイアウトでは、{{ic|@}} と {{ic|#}} が入れ替わっています。 |
||
− | With German layout, circumflex/degree symbol and 'smaller than'/'bigger than' are exchanged. |
||
− | ''' |
+ | '''新しい方法:''' |
+ | まず、新しい方法を試してみてください (root で実行する必要があります): |
||
− | First, try if the new method works for you (you have to be root) |
||
# echo 0 > /sys/module/hid_apple/parameters/iso_layout |
# echo 0 > /sys/module/hid_apple/parameters/iso_layout |
||
− | + | 変更を永続化させるには {{ic|/etc/modprobe.d/hid_apple.conf}} に以下の行を記述: |
|
options hid_apple iso_layout=0 |
options hid_apple iso_layout=0 |
||
+ | '''古い方法:''' |
||
− | '''To fix this the old way, do the following:''' |
||
$ xmodmap -e 'keycode 49 = less greater less greater bar brokenbar bar' -e 'keycode 94 = dead_circumflex degree dead_circumflex degree U2032 U2033 U2032' |
$ xmodmap -e 'keycode 49 = less greater less greater bar brokenbar bar' -e 'keycode 94 = dead_circumflex degree dead_circumflex degree U2032 U2033 U2032' |
||
+ | キーを押してみて問題ないようでしたら、以下を実行することで変更を永続化できます: |
||
− | Now try your keys. When it works, you may want the change permanently. So execute this: |
||
$ xmodmap -pke | grep " 49" >> ~/.Xmodmap |
$ xmodmap -pke | grep " 49" >> ~/.Xmodmap |
||
$ xmodmap -pke | grep " 94" >> ~/.Xmodmap |
$ xmodmap -pke | grep " 94" >> ~/.Xmodmap |
||
130行目: | 153行目: | ||
==PrintScreen と SysRq== |
==PrintScreen と SysRq== |
||
− | Apple Keyboard には {{ic|PrintScreen}}/{{ic|SysRq}} キーの代わりに {{ic|F13}} キーがあります。このため [[キーボードショートカット#カーネル|Alt+SysRq シーケンス]]と、{{ic|PrintScreen}} を使用するアプリケーションのアクション ([[Wine]] で動作するゲームでスクリーンショットを撮影するなど) が使えません |
+ | Apple Keyboard には {{ic|PrintScreen}}/{{ic|SysRq}} キーの代わりに {{ic|F13}} キーがあります。このため [[キーボードショートカット#カーネル|Alt+SysRq シーケンス]]と、{{ic|PrintScreen}} を使用するアプリケーションのアクション ([[Wine]] で動作するゲームでスクリーンショットを撮影するなど) が使えません。 |
+ | {{ic|.xinitrc}} に {{ic|setxkbmap -option "apple:alupckeys"}} を追加することで解決できます。{{ic|PrintScreen}}/{{ic|SysRq}} を {{ic|F13}} に、{{ic|Scroll lock}} を {{ic|F14}} に、{{ic|Pause}} を {{ic|F15}} にマッピングします。 |
||
− | keyfuzz をインストールしたら、次のコマンドを実行してください: |
||
+ | |||
+ | もしくは [[Arch User Repository]] から {{AUR|keyfuzz}} をインストールすることで解決できます。keyfuzz をインストールしたら、次のコマンドを実行してください: |
||
echo "458856 99" | /usr/sbin/keyfuzz -s -d /dev/input/by-id/usb-Apple__Inc_Apple_keyboard-event-kbd |
echo "458856 99" | /usr/sbin/keyfuzz -s -d /dev/input/by-id/usb-Apple__Inc_Apple_keyboard-event-kbd |
||
− | 458856 (0x070068) は {{ic|F13}} のスキャンコードで、99 は {{ic|PrintScreen}}/{{ic|SysRq}} のキーコードです。[[AUR]] の {{AUR|getscancodes}} を使って特定のキーのスキャンコードを、{{ic|/usr/include/linux/input.h}} からキーコードを確認できます。 |
||
+ | 458856 (0x0'''70068''') は {{ic|F13}} のスキャンコードで、{{ic|99}} は {{ic|PrintScreen}}/{{ic|SysRq}} のキーコードです。{{ic|/usr/include/linux/input.h}} からキーコードを確認できます。特定のキーのスキャンコードを確認する方法は[[特別なキーボードキー#スキャンコード]]を見てください。 |
||
− | 古いバージョンの Apple アルミニウムキーボードではデバイスパスが多少異なっているため、必要に応じて調整してください。コマンドを {{ic|/etc/rc.local}} に記述することで変更を永続化できます。 |
||
+ | |||
+ | [[スキャンコードをキーコードにマップ]]も見てください。 |
||
==Apple Keyboard を通常のキーボードと同じように扱う== |
==Apple Keyboard を通常のキーボードと同じように扱う== |
||
+ | 2つの方法が存在します。カスタマイズしたいことにあわせて選択してください。 |
||
− | Apple キーボードを ({{ic|Meta}} の左側に {{ic|Alt}} がある) 標準の英語レイアウトキーボードのように使いたい場合、[[AUR]] の {{AUR|un-apple-keyboard}} パッケージを使用することができます。現在はアルミニウムの USB モデルでしか動作しません。このパッケージは以下のことを行います: |
||
+ | |||
+ | === hid-apple のパッチを使う === |
||
+ | |||
+ | オリジナルの {{ic|hid-apple}} モジュールにはキーボードをカスタマイズするオプションがありません (例: {{ic|Fn}} キーと左の {{ic|Ctrl}} キーを交換したり、{{ic|Super}} キーの左側に {{ic|Alt}} キーを持ってくるなど)。モジュールに機能を追加する [https://github.com/free5lot/hid-apple-patched パッチ] が存在します。パッチは {{AUR|hid-apple-patched-git-dkms}} パッケージで[[インストール]]できます。 |
||
+ | |||
+ | カーネルモジュールのパッチに加えて、パッケージには {{ic|/etc/modprobe.d/hid_apple_pclayout.conf}} 設定ファイルも含まれており、デフォルトで以下のレイアウトが有効になります: |
||
+ | |||
+ | * 最上段のキーは通常のファンクションキーとなり、Fn キーを押したときだけメディアキーになります。[[#ファンクションキーが動作しない]]を参照。 |
||
+ | * 左下の4つのキーは {{ic|Ctrl}}, {{ic|Fn}}, {{ic|Super}}, {{ic|Alt}} となります。 |
||
+ | * {{ic|Super}} と右側の {{ic|Alt}} キーが入れ替わります。 |
||
+ | * {{ic|Ejectcd}} キーがある場合、{{ic|Delete}} キーとして認識するようになります ({{ic|1=ejectcd_as_delete=1}} オプション)。 |
||
+ | |||
+ | 設定オプションと設定ファイルについて詳しくは https://github.com/free5lot/hid-apple-patched#configuration を参照してください。 |
||
+ | |||
+ | {{Note|設定ファイルを ''initramfs'' に追加しないと起動後に自動的に機能しません。追加する方法は [[Mkinitcpio#BINARIES と FILES]] や [[Mkinitcpio#HOOKS]] (必要なフックの名前は {{ic|modconf}}) を見てください。}} |
||
+ | |||
+ | インストールしても変更はすぐにはカーネルには適用されません。システムを再起動すれば効果が反映されます。 |
||
+ | |||
+ | === un-apple-keyboard を使う === |
||
+ | |||
+ | カスタマイズは必要なく手動でモジュールをコンパイルしたり [[DKMS]] を使いたくない場合、{{AUR|un-apple-keyboard}} パッケージを使用することができます。このパッケージは以下のことを行います: |
||
+ | |||
+ | * キーボードが通常の ISO キーボードのように認識されます ({{ic|<}} と {{ic|>}} が {{ic|Left Shift}} キーの右側にあるように動作します)。 |
||
+ | * ファンクションキーはデフォルトで無効になります。ファンクションキーを使うには {{ic|Fn}} キーも押す必要があります。デフォルトでは {{ic|F1}} から {{ic|F12}} キーにこの挙動が適用されます。 |
||
+ | * {{ic|Alt}} と {{ic|Meta}} ({{ic|Command}}) を入れ替える。 |
||
+ | * {{ic|F13}} を {{ic|SYSRQ}} に、{{ic|F14}} を {{ic|Scroll Lock}} に、{{ic|F15}} を {{ic|Pause}} にマッピングする。 |
||
+ | |||
+ | 最初の3つはデフォルトのカーネルモジュール {{ic|hid-apple}} を使用して実現し、最後の1つは {{AUR|keyfuzz}} にマッピングして実現します。 |
||
+ | |||
+ | === 再起動せずに挙動を変更する === |
||
+ | {{Warning|キーボードとタッチパッド以外に入力デバイスがない場合、以下のコマンドの実行が失敗してコンピュータに入力ができなくなる可能性があるので注意してください。}} |
||
+ | |||
+ | 再起動せずにカーネルモジュールをリロードするには {{ic|# rmmod hid_apple && modprobe hid_apple}} を実行してください。 |
||
+ | |||
+ | == Magic Keyboard が接続できない == |
||
+ | |||
+ | GNOME 3 の設定の Bluetooth メニューなどのツールで Magic Keyboard をシステムに接続できない場合、[[Blueman]] をインストールして接続してみてください。それでも接続に失敗する場合、bluetoothctl と hcitool が使用できることを確認してください。 |
||
+ | == 参照 == |
||
− | *{{ic|/etc/modprobe.d/hid_apple.conf}} ファイルを追加してデフォルトで {{ic|F}} キーを有効化。 |
||
− | *keyfuzz を使って {{ic|F13-15}} を {{ic|PrintScreen}}/{{ic|SysRq}}, {{ic|Scroll Lock}}, {{ic|Pause}} にマッピングする。 |
||
− | *{{ic|/etc/modprobe.d/hid_apple.conf}} を使用して他のキーボードと同じように {{ic|Alt}} と {{ic|Meta}} ({{ic|Command}}) の並びを入れ替える。 |
||
− | *[[udev]] ルールを使って、キーボードを接続したときに自動的に変更を適用する。 |
||
+ | * https://help.ubuntu.com/community/AppleKeyboard |
||
− | [[mkinitcpio|mkinitcpio.conf]] の FILES に {{ic|/etc/modprobe.d/hid_apple.conf}} を追加する必要があります。追加しないと Apple Keyboard を接続してコンピューターを起動した時に、F キーがデフォルトになりません。 |
||
+ | * https://github.com/hlechner/xmodmap-aluminium-pt-br |
||
+ | * https://github.com/free5lot/hid-apple-patched |
2019年5月3日 (金) 15:56時点における最新版
関連記事
一部の Apple 製のキーボードではキーが変わっていたり動作しなかったりすることがあります。この記事ではキーボードにあわせて適切な動作をするように設定を変更する方法を説明します。
目次
Numlock が有効
Numlock が有効になってしまうと物理キーと 7
, 8
, 9
, u
, i
, o
, j
, k
, l
と周りのキーしか動作しなくなり数字が出力されるようになります。これを修正するには Fn
+F6
を二度押して下さい。
もしくは、xmodmap を使って手動でキーコードを設定することで Numlock を使わないようにできます:
keycode 90 = KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 keycode 87 = KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 keycode 88 = KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 keycode 89 = KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 keycode 83 = KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 keycode 84 = KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 keycode 85 = KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 keycode 79 = KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 keycode 80 = KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 keycode 81 = KP_9 KP_9 KP_9 KP_9 KP_9 KP_9
ファンクションキーが動作しない
F<num>
キーが動作しない場合、キーボードのカーネルドライバーがメディアキーを使用することをデフォルトにしているのが原因で、F<num>
キーを動作させるには Fn
キーを使う必要があります。この挙動を変更するには、ドライバーの設定を変更してください。root で以下を実行:
# echo 2 > /sys/module/hid_apple/parameters/fnmode
ファイルが存在しないと表示される場合は、カーネルが古いので代わりに以下を実行してください:
# echo 2 > /sys/module/hid/parameters/pb_fnmode
設定を永続的にするには /etc/modprobe.d/hid_apple.conf
にオプションを記述してください:
/etc/modprobe.d/hid_apple.conf
options hid_apple fnmode=2
初期 RAM ディスクで上記の変更を適用したい場合、mkinitcpio の設定 (通常は /etc/mkinitcpio.conf
) で、HOOKS
変数に modconf
を指定するか FILES
変数で /etc/modprobe.d/hid_apple.conf
を指定してください。変更を反映するにはイメージの再生成が必要です。
上記の設定が無線キーボードで動作しない場合
hid_apple/parameters
や hid/parameters/pb_fnmode
が最近の Apple Bluetooth キーボードモデルとカーネル 3.4 では見つからないことがあります。
まず、キーボードを確認してください。root で次を実行 (hidd
は bluez パッケージに含まれています):
# hidd --show
以下のような表示がされます:
40:CA:EC:32:85:AB Apple Wireless Keyboard [05ac:0255] connected
ベンダー ID (05ac) とデバイス ID (0255) から、カーネルがキーボードをサポートしているかどうか簡単に確認できます。実際、Linux カーネル 3.4 では上記のデバイスがサポートされています。drivers/hid/hid-ids.h
の中に以下の行が確認できます:
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI 0x0255
ただしファンクションキーのサポートはありません。
この問題を修正するには以下のパッチを使って abs からカーネルを再ビルドしてください (Linux カーネル 3.5 からパッチはマージされています): https://pastebin.com/CvFJz3Fn
バグはすでに上流に報告済みです: https://bugzilla.kernel.org/show_bug.cgi?id=43135
Cmd と Alt/AltGr を入れ替える
左の Alt
および Cmd
キーを、右の Alt
/AltGr
および Cmd
キーとともに、入れ替えます。
起動している状態で仮に入れ替える方法 (ただちに反映されます):
# echo "1" > /sys/module/hid_apple/parameters/swap_opt_cmd
再起動後、永続的に反映される方法:
/etc/modprobe.d/hid_apple.conf
options hid_apple swap_opt_cmd=1
そのあとイメージの再生成をしてください。
< と > が § と ½ に入れ替わる
< と > が § と ½ キーに入れ替わる場合、グラフィカル環境で次のコマンドを実行してください:
$ setxkbmap -option apple:badmap
ログイン時に自動的に設定させるようにするには ~/.bashrc
ファイルに上のコマンドを記述します。
システム全体で変更を適用させるには以下のように /etc/X11/xorg.conf.d/10-keymap.conf
を作成 (または編集) します:
Section "InputClass" Identifier "keyboard catchall" MatchIsKeyboard "true" Driver "evdev" Option "XkbOptions" "apple:badmap" EndSection
上記の方法で上手く行かない場合、以下の2行を ~/.Xmodmap
ファイルに追加してください:
keycode 49 = less greater less greater bar brokenbar keycode 94 = section degree section degree notsign notsign
("ù" と "/" が変わっている) カナダマルチリンガルレイアウトを使っている場合、以下を使って下さい:
keycode 94 = slash backslash slash backslash bar brokenbar keycode 49 = ugrave Ugrave ugrave Ugrave notsign notsign
そして xmodmap ~/.Xmodmap
を実行します。上記のコマンドも ~/.bashrc
に記述することができます。
< と > が ^ と ° (あるいは @ と #) に入れ替わる
ドイツ語レイアウトでは、アクセント記号 (^
) とデグリー記号 (°
) が小なり記号 (<
) と大なり記号 (>
) に入れ替わっています。フランス語レイアウトでは、@
と #
が入れ替わっています。
新しい方法:
まず、新しい方法を試してみてください (root で実行する必要があります):
# echo 0 > /sys/module/hid_apple/parameters/iso_layout
変更を永続化させるには /etc/modprobe.d/hid_apple.conf
に以下の行を記述:
options hid_apple iso_layout=0
古い方法:
$ xmodmap -e 'keycode 49 = less greater less greater bar brokenbar bar' -e 'keycode 94 = dead_circumflex degree dead_circumflex degree U2032 U2033 U2032'
キーを押してみて問題ないようでしたら、以下を実行することで変更を永続化できます:
$ xmodmap -pke | grep " 49" >> ~/.Xmodmap $ xmodmap -pke | grep " 94" >> ~/.Xmodmap
` と ~ キーで < と > が出力される
US レイアウトでは、バッククォートキーとチルダキーは小なりと大なりを出力します。
まず、(root で) 以下の方法が使えないか試して下さい:
# echo 0 > /sys/module/hid_apple/parameters/iso_layout
変更を永続化させるには以下の行を /etc/modprobe.d/hid_apple.conf
に追加:
options hid_apple iso_layout=0
メディアキー
デフォルトで evdev ドライバーはメディアキーについて適当なキーシムにマッピングされたキーコードを生成します。コンソールウィンドウで xev
を実行してメディアキーを押したときのコンソール出力を見ることで確認できます。
メディアキーを使用するには、適当なアクションをメディアキーに割り当てる必要があります。詳しくは Xorg での特別なキーボードキーを参照してください。
メディアキーが適当なキーコードを生成しないときは、~/.Xmodmap
ファイルを作成・編集して以下の行を記述してください:
keycode 160 = XF86AudioMute keycode 176 = XF86AudioRaiseVolume keycode 174 = XF86AudioLowerVolume keycode 144 = XF86AudioPrev keycode 162 = XF86AudioPlay keycode 153 = XF86AudioNext keycode 101 = XF86MonBrightnessDown keycode 212 = XF86MonBrightnessUp keycode 204 = XF86Eject
そして xmodmap ~/.Xmodmap
を実行してください。このコマンドを ~/.bashrc
ファイルに追加することでログイン時に自動的に実行させることができます。
PrintScreen と SysRq
Apple Keyboard には PrintScreen
/SysRq
キーの代わりに F13
キーがあります。このため Alt+SysRq シーケンスと、PrintScreen
を使用するアプリケーションのアクション (Wine で動作するゲームでスクリーンショットを撮影するなど) が使えません。
.xinitrc
に setxkbmap -option "apple:alupckeys"
を追加することで解決できます。PrintScreen
/SysRq
を F13
に、Scroll lock
を F14
に、Pause
を F15
にマッピングします。
もしくは Arch User Repository から keyfuzzAUR をインストールすることで解決できます。keyfuzz をインストールしたら、次のコマンドを実行してください:
echo "458856 99" | /usr/sbin/keyfuzz -s -d /dev/input/by-id/usb-Apple__Inc_Apple_keyboard-event-kbd
458856 (0x070068) は F13
のスキャンコードで、99
は PrintScreen
/SysRq
のキーコードです。/usr/include/linux/input.h
からキーコードを確認できます。特定のキーのスキャンコードを確認する方法は特別なキーボードキー#スキャンコードを見てください。
スキャンコードをキーコードにマップも見てください。
Apple Keyboard を通常のキーボードと同じように扱う
2つの方法が存在します。カスタマイズしたいことにあわせて選択してください。
hid-apple のパッチを使う
オリジナルの hid-apple
モジュールにはキーボードをカスタマイズするオプションがありません (例: Fn
キーと左の Ctrl
キーを交換したり、Super
キーの左側に Alt
キーを持ってくるなど)。モジュールに機能を追加する パッチ が存在します。パッチは hid-apple-patched-git-dkmsAUR パッケージでインストールできます。
カーネルモジュールのパッチに加えて、パッケージには /etc/modprobe.d/hid_apple_pclayout.conf
設定ファイルも含まれており、デフォルトで以下のレイアウトが有効になります:
- 最上段のキーは通常のファンクションキーとなり、Fn キーを押したときだけメディアキーになります。#ファンクションキーが動作しないを参照。
- 左下の4つのキーは
Ctrl
,Fn
,Super
,Alt
となります。 Super
と右側のAlt
キーが入れ替わります。Ejectcd
キーがある場合、Delete
キーとして認識するようになります (ejectcd_as_delete=1
オプション)。
設定オプションと設定ファイルについて詳しくは https://github.com/free5lot/hid-apple-patched#configuration を参照してください。
インストールしても変更はすぐにはカーネルには適用されません。システムを再起動すれば効果が反映されます。
un-apple-keyboard を使う
カスタマイズは必要なく手動でモジュールをコンパイルしたり DKMS を使いたくない場合、un-apple-keyboardAUR パッケージを使用することができます。このパッケージは以下のことを行います:
- キーボードが通常の ISO キーボードのように認識されます (
<
と>
がLeft Shift
キーの右側にあるように動作します)。 - ファンクションキーはデフォルトで無効になります。ファンクションキーを使うには
Fn
キーも押す必要があります。デフォルトではF1
からF12
キーにこの挙動が適用されます。 Alt
とMeta
(Command
) を入れ替える。F13
をSYSRQ
に、F14
をScroll Lock
に、F15
をPause
にマッピングする。
最初の3つはデフォルトのカーネルモジュール hid-apple
を使用して実現し、最後の1つは keyfuzzAUR にマッピングして実現します。
再起動せずに挙動を変更する
再起動せずにカーネルモジュールをリロードするには # rmmod hid_apple && modprobe hid_apple
を実行してください。
Magic Keyboard が接続できない
GNOME 3 の設定の Bluetooth メニューなどのツールで Magic Keyboard をシステムに接続できない場合、Blueman をインストールして接続してみてください。それでも接続に失敗する場合、bluetoothctl と hcitool が使用できることを確認してください。