「特別なキーボードキー」の版間の差分
(TranslationStatus) |
|||
(4人の利用者による、間の7版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category:キーボード]] |
+ | [[Category:キーボード設定]] |
+ | [[de:Hotkeys]] |
||
[[en:Extra keyboard keys]] |
[[en:Extra keyboard keys]] |
||
[[ru:Extra keyboard keys]] |
[[ru:Extra keyboard keys]] |
||
+ | この記事では、あなたが [[キーボード入力]] の記事を読んだことを想定しています。 |
||
− | [[zh-CN:Extra Keyboard Keys]] |
||
− | {{Related articles start}} |
||
− | {{Related|Xorg での特別なキーボードキー}} |
||
− | {{Related|コンソールでの特別なキーボードキー}} |
||
− | {{Related|Xorg でのキーボード設定}} |
||
− | {{Related|コンソールでのキーボード設定}} |
||
− | {{Related|スキャンコードをキーコードにマップ}} |
||
− | {{Related|Xmodmap}} |
||
− | {{Related articles end}} |
||
− | 多くのキーボードには何らかの''特別なキー''が付いており (''ホットキー''や''マルチメディアキー''とも呼ばれる)、アプリケーションを起動したり特殊な文字を打ち込むのに使われます (標準的なキーマップには含まれていない機能)。[[udev]] は様々なキーボードに関する巨大なデータベースを持っているため、基本的なキーボードは何も設定せずとも問題なく動作します。最近発売されたばかり、または非常にレアなハードウェアを使っている場合に、マッピングを手動で調整する必要がでてきます。 |
||
+ | 多くのキーボードにはいくつかの ''特殊キー'' (''ホットキー'' とも ''マルチメディアキー'' とも呼ばれます) が存在します。それらは、アプリケーションの実行や (標準的な国際キーマップには含まれていない) 特殊文字の入力を行うことを想定しています。[[udev]] は様々なキーボードに関する巨大なデータベースを持っているため、基本的なキーボードは何も設定せずとも問題なく動作します。最近発売されたばかり、または非常にレアなハードウェアを使っている場合に、マッピングを手動で調整する必要がでてきます。 |
||
− | キーマッピングを変更する前に、そのキーがシステムでどう認識されているのか知らなくてはなりません。いくつかの段階に分かれています: |
||
+ | == ノートパソコン == |
||
− | * [[Wikipedia:ja:スキャンコード|スキャンコード]]は最下層のキー識別番号で、キーボードがコンピュータに送信する値になります。 |
||
− | * '''キーコード'''は2番目のキー識別子で、''キーコード''は機能に対応しています。 |
||
− | * '''キーシム'''は3番目のキー識別子で、''シンボル''に対応しています。キーシムは Shift キーなどの[[Wikipedia:ja:修飾キー|修飾キー]]が押されているかどうかによって変わります。 |
||
+ | === Apple MacBooks === |
||
− | ''スキャンコード''は''キーコード''にマップされており、''キーコード''は使用しているキーボードレイアウトにあわせて''キーシム''にマップされています。ほとんどのキーには''キーコード''が割り当てられているはずです。そして、''キーコード''がなくとも''スキャンコード''は存在するでしょう。''スキャンコード''が存在しないキーはカーネルによって認識されていません。ゲーミングキーボードに追加されているキーなどで''スキャンコード''がないことがあります。 |
||
+ | 必要な情報はすべて [[Apple Keyboard]] の専用記事で見られます。 |
||
− | Xorg では、特定の''キーシム'' (例: {{ic|XF86AudioPlay}}, {{ic|XF86AudioRaiseVolume}} など) をアクションにマップすることができます (例: アプリケーションの起動)。詳しくは [[Xorg での特別なキーボードキー#キーシムをアクションにマップ]] を見て下さい。 |
||
+ | === Asus M シリーズ === |
||
− | Linux コンソールでは、特定の''キーシム'' (例: {{ic|F1}} から {{ic|F246}}) を特定のアクションにマップすることができます (例: 他のコンソールへの切り替えや特定の文字列の打ち込みなど)。詳しくは[[コンソールでの特別なキーボードキー]]を見て下さい。 |
||
+ | Asus 機の光学センサーやマルチメディアキーを制御するには、次のコマンドを使用してください: |
||
− | == キーコードの確認 == |
||
+ | # echo 1 > /sys/devices/platform/asus_laptop/ls_switch |
||
− | === スキャンコード === |
||
+ | 起動時に上記コマンドを実行させるには [[systemd-tmpfiles|Systemd tmpfile]] を作成してください: |
||
− | ==== showkey を使う ==== |
||
+ | {{hc|/etc/tmpfiles.d/local.conf| |
||
− | ''スキャンコード''を取得するときは ''showkey'' ユーティリティを使うのが一般的です。''showkey'' はキーが押されるまで待機し、10秒たってもキーが押されなかった場合、終了します。''showkey'' を使用するには[[Wikipedia:ja:仮想コンソール|仮想端末]]上で実行させる必要があり、グラフィカル環境やネットワーク接続を介してログインした場合は使用できません。次のコマンドを実行してください: |
||
+ | w /sys/devices/platform/asus_laptop/ls_switch - - - - 1 |
||
+ | }} |
||
+ | {{Note|他の機種の Asus ノートパソコンでも使えることがあります。}} |
||
− | # showkey --scancodes |
||
+ | === Asus N56VJ (おそらく他のものも) === |
||
− | コマンドを実行した後にキーボードのキーを押してみて下さい。''スキャンコード''が出力されます。 |
||
+ | 特殊キーが動作しない場合、次のコマンドで asus-nb-wmi カーネルモジュールをロードしてみてください: |
||
− | ==== evtest を使う ==== |
||
+ | # modprobe asus-nb-wmi |
||
− | USB キーボードの場合、''showkey'' ではなく {{Pkg|evtest}} パッケージに入っている ''evtest'' を使う必要があります [https://ask.fedoraproject.org/en/question/46201/how-to-map-scancodes-to-keycodes/]: |
||
+ | それから xev をもう一度確認してください。acpi_osi="!Windows 2012" ブートオプションを使っている場合、xev で変な結果が表示されることがあるので、使わないようにしてください。モジュールをロードすることで問題が解決する場合、[[カーネルモジュール#systemd により自動モジュールロード]] に書かれているようにして、起動時にモジュールをロードするようにしてください。 |
||
− | # evtest /dev/input/event12 |
||
− | ... |
||
− | Event: time 1434666536.001123, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70053 |
||
− | Event: time 1434666536.001123, type 1 (EV_KEY), code 69 (KEY_NUMLOCK), value 0 |
||
− | Event: time 1434666536.001123, -------------- EV_SYN ------------ |
||
+ | === Lenovo T460p (おそらく他のものも) === |
||
− | {{ic|MSC_SCAN}} の "value" フィールドを使って下さい。上記の例の場合、NumLock のスキャンコードは 70053 でキーコードは 69 です。 |
||
+ | 始めの状態では {{ic|/dev/input}} インターフェイスからでもバックライトキー (F5, F6) が使えません。解決するには、[[バックライト#カーネルコマンドラインオプション]] の指示に従ってください。 |
||
− | ==== dmesg を使う ==== |
||
+ | == ゲーミングキーボード == |
||
− | {{Note|この方法では全てのキーの''スキャンコード''を確認することはできません。未知のキーだけを確認できます。}} |
||
+ | ゲーミングキーボードに搭載されている特殊な機能が Linux でおかしな挙動を引き起こすことがあります。 |
||
− | 調べたいキーを押して {{ic|dmesg}} コマンドの出力を確認することでキーの''スキャンコード''を取得できます。例えば、以下のように表示された場合: |
||
+ | === Cooler Master CM Storm QuickFire TK === |
||
− | Unknown key pressed (translated set 2, code 0xa0 on isa0060/serio0 |
||
+ | このキーボードの N キーロールオーバーと Win-Lock キーが Linux で問題を起こします。 |
||
− | 必要な''スキャンコード''は {{ic|0xa0}} です。 |
||
+ | N キーロールオーバーは[https://bbs.archlinux.org/viewtopic.php?id=170877 ファンクションキーに問題を引き起こす]場合があります。N キーロールオーバーを無効化するには、FN ロックキー (右 Ctrl の横にあるキー) を押し続けてライトが点いたら、Escape を押しながら 6 を押すことで 6 キーロールオーバーに切り替わります。FN ロックキーを押すと Fn ロックが無効になります。 |
||
− | === キーコード === |
||
+ | Win-Lock キーは Super (Windows) キーを完全に無効化します。FN ロックキーと F12 を同時に押すことで Win-Lock のオンオフを切り替えられます。 |
||
− | {{Warning|Linux コンソールと Xorg で''キーコード''は異なっています。適切なツールを使って確認するようにしてください。}} |
||
− | + | === Corsair K シリーズキーボード === |
|
+ | このキーボードにはキーボードの右上 NumLock と CapsLock の間に、Super (Windows) キーを無効化する winlock ボタンがあります。CKB ドライバーを利用すると、winlock 機構を完全に無効化できます。しかし既定では、winlock ボタンをもう一度押すと Super (Windows) キーが有効になります。 |
||
− | [[Wikipedia:ja:仮想コンソール|仮想端末]]の''キーコード''は ''showkey'' ユーティリティを使って確認できます。''showkey'' はキーが押されるのを待機して、10秒間何もないと終了します。10秒間放置する以外に終了する方法はありません。''showkey'' は仮想端末から実行する必要があります。グラフィカル環境から実行してはいけません。次のコマンドを実行して何かキーボードのキーを押して見て下さい: |
||
+ | このキーボードシリーズには、Super (Windows) キーを無効化する winlock ボタンがあります。このボタンは右上 NumLock と CapsLock の間にあります。CKB を使用することで、winlock 機構を完全に無効化できます。しかし、デフォルトの状態では、winlock ボタンをもう一度押すと、Super (Windows) キーが有効になります。 |
||
− | # showkey --keycodes |
||
+ | === Logitech G シリーズ G710 と 710+ === |
||
− | ''キーコード''が画面に出力されるはずです。 |
||
+ | このキーボード上には6個のプログラマブル G キーが1列に並んでいます。Logitech の意図したとおりに使用するには、{{aur|sidewinderd}} をインストールして {{ic|sidewinderd.service}} を[[起動]]する必要があります。 |
||
− | ==== Xorg ==== |
||
+ | === Logitech G613 === |
||
− | [[Xorg]] によって使用される''キーコード''は ''xev'' という名前のユーティリティで判別できます ({{Pkg|xorg-xev}} パッケージに入っています)。もちろん ''xev'' を使用するには、コンソールではなくグラフィカル環境から実行する必要があります。 |
||
+ | このキーボード上には6個のプログラマブル G キーが1列に並んでいます。Logitech の意図したとおりに使用するには、{{Pkg|solaar}} をインストールする必要があります。''solaar'' を使って、G キーの機能を流用したり、リマップしたりできるようになります。 |
||
− | 次のコマンドで ''xev'' を起動して肝心の部分だけを表示できます: |
||
+ | == 非標準的なキーボード == |
||
− | $ xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }' |
||
+ | === Royal Kludge RK61 とおそらく他の Apple キーボード === |
||
− | 出力例: |
||
+ | 一部の Apple キーボード (Royal Kludge RK61 を含む) では、ファンクション {{ic|F1}}–{{ic|F12}} キーが mac のメディアキーにデフォルトで割り当てられています。{{ic|Fn Lock}} が使用できない場合、デフォルトの Apple キーボードの挙動を変更しない限り、この挙動しか利用できません。これを改善するには、キーボードが Apple キーボードとして認識されていることを以下のコマンドで確認してください: |
||
− | 38 a |
||
− | 55 v |
||
− | 54 c |
||
− | 50 Shift_L |
||
− | 133 Super_L |
||
− | 135 Menu |
||
+ | # lsusb | grep "Apple.*Keyboard" |
||
− | キーを押してもターミナルに何も表示されない場合、キーに''スキャンコード''が設定されていないか''スキャンコード''が''キーコード''にマッピングされていない、あるいは他のプロセスがキーの押下をキャプチャしています。X サーバーを使用しているプロセスがキーの押下を取得してしまっているようなときは、新しい X セッションから ''xev'' を実行してみてください: |
||
+ | Apple キーボードが見つかった場合、[[Apple Keyboard#ファンクションキーが動作しない]] に進んでください。 |
||
− | $ xinit /usr/bin/xterm -- :1 |
||
+ | == 参照 == |
||
− | == スキャンコードをキーコードにマッピング == |
||
+ | * [[LQWiki:Configuring keyboards#Enabling Keyboard Multimedia Keys]] |
||
− | 次の記事を参照してください: [[スキャンコードをキーコードにマップ]]。 |
||
− | |||
− | == キーコードをキーシムにマッピング == |
||
− | |||
− | === コンソール === |
||
− | |||
− | 次の記事を参照してください: [[コンソールでの特別なキーボードキー]]。 |
||
− | |||
− | === Xorg === |
||
− | |||
− | 次の記事を参照してください: [[xmodmap]]。 |
||
− | |||
− | == ノートパソコン == |
||
− | |||
− | === Asus M シリーズ === |
||
− | |||
− | Asus マシンの光学センサーやマルチメディアキーを制御するには、次のコマンドを実行してください: |
||
− | |||
− | # echo 1 > /sys/devices/platform/asus_laptop/ls_switch |
||
− | |||
− | 起動時に上記コマンドを実行させるには [[Systemd#一時ファイル|Systemd tmpfile]] を作成: |
||
− | {{hc|/etc/tmpfiles.d/local.conf| |
||
− | w /sys/devices/platform/asus_laptop/ls_switch - - - - 1 |
||
− | }} |
||
− | |||
− | {{Note|他の機種の Asus ノートパソコンでも使えることがあります。}} |
||
− | |||
− | === Asus N56VJ === |
||
− | |||
− | 特殊キーが動作しない場合、次のコマンドで {{ic|asus-nb-wmi}} カーネルモジュールをロードしてみてください: |
||
− | # modprobe asus-nb-wmi |
||
− | |||
− | それから xev をもう一度確認してください。{{ic|1=acpi_osi="!Windows 2012"}} ブートオプションを使っている場合、xev で変な結果が表示されることがあるので、使わないようにしてください。モジュールをロードすることで問題が解決する場合、[[カーネルモジュール]]の記事に書かれているようにして、起動時にモジュールをロードするようにしてください。 |
||
− | |||
− | == 参照 == |
||
+ | {{TranslationStatus|Extra keyboard keys|2022-09-20|747563}} |
||
− | * [http://wiki.linuxquestions.org/wiki/Configuring_keyboards#Enabling_Keyboard_Multimedia_Keys Enabling Keyboard Multimedia Keys] - guide on LinuxQuestions wiki |
||
− | * [http://www.gentoo-wiki.info/HOWTO_Use_Multimedia_Keys Multimedia Keys] on [http://www.gentoo-wiki.info/ Gentoo Wiki Archives] |
2022年9月20日 (火) 16:50時点における版
この記事では、あなたが キーボード入力 の記事を読んだことを想定しています。
多くのキーボードにはいくつかの 特殊キー (ホットキー とも マルチメディアキー とも呼ばれます) が存在します。それらは、アプリケーションの実行や (標準的な国際キーマップには含まれていない) 特殊文字の入力を行うことを想定しています。udev は様々なキーボードに関する巨大なデータベースを持っているため、基本的なキーボードは何も設定せずとも問題なく動作します。最近発売されたばかり、または非常にレアなハードウェアを使っている場合に、マッピングを手動で調整する必要がでてきます。
目次
ノートパソコン
Apple MacBooks
必要な情報はすべて Apple Keyboard の専用記事で見られます。
Asus M シリーズ
Asus 機の光学センサーやマルチメディアキーを制御するには、次のコマンドを使用してください:
# echo 1 > /sys/devices/platform/asus_laptop/ls_switch
起動時に上記コマンドを実行させるには Systemd tmpfile を作成してください:
/etc/tmpfiles.d/local.conf
w /sys/devices/platform/asus_laptop/ls_switch - - - - 1
Asus N56VJ (おそらく他のものも)
特殊キーが動作しない場合、次のコマンドで asus-nb-wmi カーネルモジュールをロードしてみてください:
# modprobe asus-nb-wmi
それから xev をもう一度確認してください。acpi_osi="!Windows 2012" ブートオプションを使っている場合、xev で変な結果が表示されることがあるので、使わないようにしてください。モジュールをロードすることで問題が解決する場合、カーネルモジュール#systemd により自動モジュールロード に書かれているようにして、起動時にモジュールをロードするようにしてください。
Lenovo T460p (おそらく他のものも)
始めの状態では /dev/input
インターフェイスからでもバックライトキー (F5, F6) が使えません。解決するには、バックライト#カーネルコマンドラインオプション の指示に従ってください。
ゲーミングキーボード
ゲーミングキーボードに搭載されている特殊な機能が Linux でおかしな挙動を引き起こすことがあります。
Cooler Master CM Storm QuickFire TK
このキーボードの N キーロールオーバーと Win-Lock キーが Linux で問題を起こします。
N キーロールオーバーはファンクションキーに問題を引き起こす場合があります。N キーロールオーバーを無効化するには、FN ロックキー (右 Ctrl の横にあるキー) を押し続けてライトが点いたら、Escape を押しながら 6 を押すことで 6 キーロールオーバーに切り替わります。FN ロックキーを押すと Fn ロックが無効になります。
Win-Lock キーは Super (Windows) キーを完全に無効化します。FN ロックキーと F12 を同時に押すことで Win-Lock のオンオフを切り替えられます。
Corsair K シリーズキーボード
このキーボードにはキーボードの右上 NumLock と CapsLock の間に、Super (Windows) キーを無効化する winlock ボタンがあります。CKB ドライバーを利用すると、winlock 機構を完全に無効化できます。しかし既定では、winlock ボタンをもう一度押すと Super (Windows) キーが有効になります。
このキーボードシリーズには、Super (Windows) キーを無効化する winlock ボタンがあります。このボタンは右上 NumLock と CapsLock の間にあります。CKB を使用することで、winlock 機構を完全に無効化できます。しかし、デフォルトの状態では、winlock ボタンをもう一度押すと、Super (Windows) キーが有効になります。
Logitech G シリーズ G710 と 710+
このキーボード上には6個のプログラマブル G キーが1列に並んでいます。Logitech の意図したとおりに使用するには、sidewinderdAUR をインストールして sidewinderd.service
を起動する必要があります。
Logitech G613
このキーボード上には6個のプログラマブル G キーが1列に並んでいます。Logitech の意図したとおりに使用するには、solaar をインストールする必要があります。solaar を使って、G キーの機能を流用したり、リマップしたりできるようになります。
非標準的なキーボード
Royal Kludge RK61 とおそらく他の Apple キーボード
一部の Apple キーボード (Royal Kludge RK61 を含む) では、ファンクション F1
–F12
キーが mac のメディアキーにデフォルトで割り当てられています。Fn Lock
が使用できない場合、デフォルトの Apple キーボードの挙動を変更しない限り、この挙動しか利用できません。これを改善するには、キーボードが Apple キーボードとして認識されていることを以下のコマンドで確認してください:
# lsusb | grep "Apple.*Keyboard"
Apple キーボードが見つかった場合、Apple Keyboard#ファンクションキーが動作しない に進んでください。