「Apple Keyboard」の版間の差分
(同期) |
(同期) |
||
1行目: | 1行目: | ||
[[Category:キーボード]] |
[[Category:キーボード]] |
||
[[en:Apple Keyboard]] |
[[en:Apple Keyboard]] |
||
+ | {{Related articles start}} |
||
− | == 詳細 == |
||
+ | {{Related|特別なキーボードキー}} |
||
− | 背景資料については次のページを見て下さい: https://help.ubuntu.com/community/AppleKeyboard |
||
+ | {{Related articles end}} |
||
− | |||
+ | 一部の Apple 製のキーボードではキーが変わっていたり動作しなかったりすることがあります。この記事ではキーボードにあわせて適切な動作をするように設定を変更する方法を説明します。 |
||
− | {{Note|[[カーネルモジュール]]の設定ファイルを使って設定を永続的にすることができます。これを使うには、ファイルを [[mkinitcpio|mkinitcpio.conf]] の FILES に追加して起動時にカーネルモジュールが自動的にロードされるようにしてください。}} |
||
− | |||
− | {{Tip|[[sudo]] を使ってシステムディレクトリに書き込みをしたい場合、シェルのリダイレクトを使用することはできません。以下のように {{ic|tee}} を使って下さい: |
||
− | $ echo 0 | sudo tee /sys/module/hid_apple/parameters/iso_layout |
||
− | }} |
||
==Numlock が有効== |
==Numlock が有効== |
||
130行目: | 126行目: | ||
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}} のキーコードです。 |
+ | 458856 (0x070068) は {{ic|F13}} のスキャンコードで、99 は {{ic|PrintScreen}}/{{ic|SysRq}} のキーコードです。{{ic|/usr/include/linux/input.h}} からキーコードを確認できます。特定のキーのスキャンコードを確認する方法は[[特別なキーボードキー#スキャンコード]]を見てください。 |
+ | [[スキャンコードをキーコードにマップ]]も見てください。 |
||
− | 古いバージョンの Apple アルミニウムキーボードではデバイスパスが多少異なっているため、必要に応じて調整してください。コマンドを {{ic|/etc/rc.local}} に記述することで変更を永続化できます。 |
||
==Apple Keyboard を通常のキーボードと同じように扱う== |
==Apple Keyboard を通常のキーボードと同じように扱う== |
||
144行目: | 140行目: | ||
[[mkinitcpio|mkinitcpio.conf]] の FILES に {{ic|/etc/modprobe.d/hid_apple.conf}} を追加する必要があります。追加しないと Apple Keyboard を接続してコンピューターを起動した時に、F キーがデフォルトになりません。 |
[[mkinitcpio|mkinitcpio.conf]] の FILES に {{ic|/etc/modprobe.d/hid_apple.conf}} を追加する必要があります。追加しないと Apple Keyboard を接続してコンピューターを起動した時に、F キーがデフォルトになりません。 |
||
+ | |||
+ | == Alt キーと Command キーを交換 (Meta/Super) == |
||
+ | |||
+ | 一時的に動作を変えたい場合、{{ic|/sys/module/hid_apple/parameters/swap_opt_cmd}} に {{ic|1}} を書き込んでください。永続的に設定を変更したい場合 {{ic|hid_apple}} [[カーネルモジュール]]の {{ic|swap_opt_cmd}} オプションを 1 に設定してください。 |
||
+ | |||
+ | == Fn キーと左の Ctrl キーを交換 == |
||
+ | |||
+ | オリジナルの {{ic|hid-apple}} モジュールには fn キーと左 control キーを交換するオプションはありませんが、モジュールに機能を追加する [https://github.com/free5lot/hid-apple-patched パッチ] が存在します。パッチを使用するには {{AUR|hid-apple-patched-git}} パッケージを[[インストール]]してください。 |
||
+ | |||
+ | 一時的に動作を変えたい場合、{{ic|/sys/module/hid_apple/parameters/swap_fn_leftctrl}} に {{ic|1}} を書き込んでください。永続的に設定を変更したい場合、{{ic|hid_apple}} [[カーネルモジュール]]の {{ic|swap_fn_leftctrl}} オプションを 1 に設定してください。 |
||
+ | |||
+ | {{Note| |
||
+ | *{{AUR|hid-apple-patched-git}} のデフォルト設定で左 option と command キーが交換されるため [[#Alt キーと Command キーを交換 (Meta/Super)|Alt キーと Command キーを交換 (Meta/Super)]] を設定する必要はありません。 |
||
+ | *{{AUR|hid-apple-patched-git}} には ejectcd キーを Apple Keyboard に存在しない delete キーとして使用するオプションも存在します。{{ic|1=ejectcd_as_delete=1}} オプションによってデフォルトで有効になります。}} |
||
+ | |||
+ | == 参照 == |
||
+ | |||
+ | *https://help.ubuntu.com/community/AppleKeyboard |
2017年2月7日 (火) 22:28時点における版
関連記事
一部の Apple 製のキーボードではキーが変わっていたり動作しなかったりすることがあります。この記事ではキーボードにあわせて適切な動作をするように設定を変更する方法を説明します。
目次
Numlock が有効
numlock が有効になってしまうと物理キーと 7,8,9,u,i,o,j,k,l と周りのキーしか動作しなくなり数字が出力されるようになります。これを修正するには Fn
+F6
を二度押して下さい。
ファンクションキーが動作しない
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
上記の設定が無線キーボードで動作しない場合
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 からパッチはマージされています): http://pastebin.com/CvFJz3Fn
バグはすでに上流に報告済みです: https://bugzilla.kernel.org/show_bug.cgi?id=43135
< と > が § と ½ に入れ替わる
< と > が § と ½ キーに入れ替わる場合、グラフィカル環境で次のコマンドを実行してください:
$ 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 で動作するゲームでスクリーンショットを撮影するなど) が使えません。どちらの問題も 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 を通常のキーボードと同じように扱う
Apple キーボードを (Meta
の左側に Alt
がある) 標準の英語レイアウトキーボードのように使いたい場合、AUR の un-apple-keyboardAUR パッケージを使用することができます。現在はアルミニウムの USB モデルでしか動作しません。このパッケージは以下のことを行います:
/etc/modprobe.d/hid_apple.conf
ファイルを追加してデフォルトでF
キーを有効化。- keyfuzz を使って
F13-15
をPrintScreen
/SysRq
,Scroll Lock
,Pause
にマッピングする。 /etc/modprobe.d/hid_apple.conf
を使用して他のキーボードと同じようにAlt
とMeta
(Command
) の並びを入れ替える。- udev ルールを使って、キーボードを接続したときに自動的に変更を適用する。
mkinitcpio.conf の FILES に /etc/modprobe.d/hid_apple.conf
を追加する必要があります。追加しないと Apple Keyboard を接続してコンピューターを起動した時に、F キーがデフォルトになりません。
Alt キーと Command キーを交換 (Meta/Super)
一時的に動作を変えたい場合、/sys/module/hid_apple/parameters/swap_opt_cmd
に 1
を書き込んでください。永続的に設定を変更したい場合 hid_apple
カーネルモジュールの swap_opt_cmd
オプションを 1 に設定してください。
Fn キーと左の Ctrl キーを交換
オリジナルの hid-apple
モジュールには fn キーと左 control キーを交換するオプションはありませんが、モジュールに機能を追加する パッチ が存在します。パッチを使用するには hid-apple-patched-gitAUR パッケージをインストールしてください。
一時的に動作を変えたい場合、/sys/module/hid_apple/parameters/swap_fn_leftctrl
に 1
を書き込んでください。永続的に設定を変更したい場合、hid_apple
カーネルモジュールの swap_fn_leftctrl
オプションを 1 に設定してください。