「特別なキーボードキー」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎参照: update TranslationStatus.)
 
(4人の利用者による、間の14版が非表示)
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]]
+
[[zh-hans:Extra keyboard keys]]
  +
この記事では、あなたが [[キーボード入力]] の記事を読んだことを想定しています。
{{Related articles start}}
 
{{Related|Xorg での特別なキーボードキー}}
 
{{Related|コンソールでの特別なキーボードキー}}
 
{{Related|Xorg でのキーボード設定}}
 
{{Related|コンソールでのキーボード設定}}
 
{{Related3|Map scancodes to keycodes|スキャンコードをキーコードにマップ}}
 
{{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 カーネルモジュールをロードしてみてください:
==== dmesg を使う ====
 
   
  +
# modprobe asus-nb-wmi
{{Note|This method does not provide ''scancodes'' for all keys, it only identifies the unknown keys.}}
 
   
  +
それから xev をもう一度確認してください。{{ic|1=acpi_osi="!Windows 2012"}} ブートオプションを使っている場合、xev で変な結果が表示されることがあるので、使わないようにしてください。モジュールをロードすることで問題が解決する場合、[[カーネルモジュール#systemd により自動モジュールロード]] に書かれているようにして、起動時にモジュールをロードするようにしてください。
You can get the ''scancode'' of a key by pressing the desired key and looking the output of {{ic|dmesg}} command. For example, if you get:
 
   
  +
=== Lenovo T460p (おそらく他のものも) ===
Unknown key pressed (translated set 2, code 0xa0 on isa0060/serio0
 
   
  +
始めの状態では {{ic|/dev/input}} インターフェイスからでもバックライトキー ({{ic|F5}}, {{ic|F6}}) が使えません。解決するには、[[バックライト#カーネルコマンドラインオプション]] の指示に従ってください。
then the ''scancode'' you need is {{ic|0xa0}}.
 
   
=== キーード ===
+
== ゲーミングキーード ==
   
  +
ゲーミングキーボードに搭載されている特殊な機能が Linux でおかしな挙動を引き起こすことがあります。
{{Warning|Note that the ''keycodes'' are different for Linux console and Xorg. Use the appropriate tool to determine the desired value.}}
 
   
  +
=== Cooler Master CM Storm QuickFire TK ===
==== コンソール ====
 
   
  +
このキーボードの N キーロールオーバーと Win-Lock キーが Linux で問題を起こします。
The ''keycodes'' for [[Wikipedia:Virtual console|virtual console]] are reported by the ''showkey'' utility. ''showkey'' waits for a key to be pressed and if none is during 10 seconds it quits, which is the only way to exit the program. To execute ''showkey'' you need to be in a virtual console, not in a graphical environment. Run the following command
 
   
  +
N キーロールオーバーは[https://bbs.archlinux.org/viewtopic.php?id=170877 ファンクションキーに問題を引き起こす]場合があります。N キーロールオーバーを無効化するには、FN ロックキー (右 Ctrl の横にあるキー) を押し続けてライトが点いたら、Escape を押しながら 6 を押すことで 6 キーロールオーバーに切り替わります。FN ロックキーを押すと Fn ロックが無効になります。
# showkey --keycodes
 
   
  +
Win-Lock キーは Super (Windows) キーを完全に無効化します。FN ロックキーと F12 を同時に押すことで Win-Lock のオンオフを切り替えられます。
and try to push keyboard keys, you should see ''keycodes'' being printed to the output.
 
   
  +
=== Corsair K シリーズキーボード ===
==== Xorg ====
 
   
  +
このキーボードにはキーボードの右上 NumLock と CapsLock の間に、Super (Windows) キーを無効化する winlock ボタンがあります。CKB ドライバーを利用すると、winlock 機構を完全に無効化できます。しかし既定では、winlock ボタンをもう一度押すと Super (Windows) キーが有効になります。
[[Xorg]] によって使用される''キーコード''は ''xev'' という名前のユーティリティで判別できます ({{Pkg|xorg-xev}} パッケージに入っています)。もちろん ''xev'' を使用するには、コンソールではなくグラフィカル環境から実行する必要があります。
 
   
  +
このキーボードシリーズには、Super (Windows) キーを無効化する winlock ボタンがあります。このボタンは右上 NumLock と CapsLock の間にあります。CKB を使用することで、winlock 機構を完全に無効化できます。しかし、デフォルトの状態では、winlock ボタンをもう一度押すと、Super (Windows) キーが有効になります。
次のコマンドで ''xev'' を起動して肝心の部分だけを表示できます:
 
   
  +
=== Logitech G シリーズ G710 と 710+ ===
$ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
 
   
  +
このキーボード上には6個のプログラマブル G キーが1列に並んでいます。Logitech の意図したとおりに使用するには、{{aur|sidewinderd}} をインストールして {{ic|sidewinderd.service}} を[[起動]]する必要があります。
出力例:
 
   
  +
=== Logitech G613 ===
38 a
 
27 r
 
54 c
 
43 h
 
153 NoSymbol
 
144 NoSymbol
 
   
  +
このキーボード上には6個のプログラマブル G キーが1列に並んでいます。Logitech の意図したとおりに使用するには、{{Pkg|solaar}} をインストールする必要があります。''solaar'' を使って、G キーの機能を流用したり、リマップしたりできるようになります。
In the example the keys {{ic|a}}, {{ic|r}}, {{ic|c}}, {{ic|h}} and two other multimedia keys were pressed. The former four keys with ''keycodes'' {{ic|38}}, {{ic|27}}, {{ic|54}} and {{ic|43}} are properly mapped, while the multimedia keys with ''keycodes'' {{ic|153}} and {{ic|144}} are not. The {{ic|NoSymbol}} indicates that no ''keysyms'' are assigned to those keys.
 
   
  +
=== Logitech MX ===
If you press a key and nothing appears in the terminal, it means that either the key does not have a ''scancode'', the ''scancode'' is not mapped to a ''keycode'', or some other process is capturing the keypress. If you suspect that a process listening to X server is capturing the keypress, you can try running xev from a clean X session:
 
   
  +
これらのキーボードには、スニッピングツールやマイクミュートなど、キーコードを生成しない特殊なキーがあります。{{Pkg|solaar}} を使用することで、これらのキーを他の機能に割り当てることができます。
$ xinit /usr/bin/xterm -- :1
 
   
== ャンコドをキーコードにマッピング ==
+
== 非標準的なキーード ==
   
  +
=== Royal Kludge RK61 とおそらく他の Apple キーボード ===
次の記事を参照してください: [[スキャンコードをキーコードにマップ]]。
 
   
  +
一部の Apple キーボード (Royal Kludge RK61 を含む) では、ファンクション {{ic|F1}}–{{ic|F12}} キーが mac のメディアキーにデフォルトで割り当てられています。{{ic|Fn Lock}} が使用できない場合、デフォルトの Apple キーボードの挙動を変更しない限り、この挙動しか利用できません。これを改善するには、キーボードが Apple キーボードとして認識されていることを以下のコマンドで確認してください:
== キーコードをキーシムにマッピング ==
 
   
  +
# lsusb | grep "Apple.*Keyboard"
=== コンソール ===
 
   
  +
Apple キーボードが見つかった場合、[[Apple Keyboard#ファンクションキーが動作しない]] に進んでください。
次の記事を参照してください: [[コンソールでの特別なキーボードキー]]。
 
   
=== Xorg ===
+
== 参照 ==
   
  +
* [[LQWiki:Configuring keyboards#Enabling Keyboard Multimedia Keys]]
次の記事を参照してください: [[xmodmap]]。
 
 
== ノートパソコン ==
 
 
=== Asus M シリーズ ===
 
 
In order to have control over the light sensor and the multimedia keys on your Asus machine, you should use the following command:
 
 
# echo 1 > /sys/devices/platform/asus_laptop/ls_switch
 
 
To have it run on boot create a [[Systemd#Temporary_files|Systemd tmpfile]]:
 
{{hc|/etc/tmpfiles.d/local.conf|
 
w /sys/devices/platform/asus_laptop/ls_switch - - - - 1
 
}}
 
 
{{Note|This may work also for other Asus notebook models.}}
 
 
=== Asus N56VJ ===
 
 
if most of your special keys don't work, try loading the asus-nb-wmi kernel module with
 
# modprobe asus-nb-wmi
 
 
then check xev again. if you combine this with the acpi_osi="!Windows 2012" boot option, you may get weird results in xev, so try not using it. If this did fix things, make sure to make the module load at boot with methods described [[Kernel modules|here]]
 
 
== 参照 ==
 
   
  +
{{TranslationStatus|Extra keyboard keys|2024-08-03|787283}}
* [http://keytouch.sourceforge.net/howto_keyboard/node4.html How to retrieve scancodes] by Marvin Raaijmakers
 
* [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]
 

2024年8月3日 (土) 18:22時点における最新版

この記事では、あなたが キーボード入力 の記事を読んだことを想定しています。

多くのキーボードにはいくつかの 特殊キー (ホットキー とも マルチメディアキー とも呼ばれます) が存在します。それらは、アプリケーションの実行や (標準的な国際キーマップには含まれていない) 特殊文字の入力を行うことを想定しています。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 ノートパソコンでも使えることがあります。

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 キーの機能を流用したり、リマップしたりできるようになります。

Logitech MX

これらのキーボードには、スニッピングツールやマイクミュートなど、キーコードを生成しない特殊なキーがあります。solaar を使用することで、これらのキーを他の機能に割り当てることができます。

非標準的なキーボード

Royal Kludge RK61 とおそらく他の Apple キーボード

一部の Apple キーボード (Royal Kludge RK61 を含む) では、ファンクション F1F12 キーが mac のメディアキーにデフォルトで割り当てられています。Fn Lock が使用できない場合、デフォルトの Apple キーボードの挙動を変更しない限り、この挙動しか利用できません。これを改善するには、キーボードが Apple キーボードとして認識されていることを以下のコマンドで確認してください:

# lsusb | grep "Apple.*Keyboard"  

Apple キーボードが見つかった場合、Apple Keyboard#ファンクションキーが動作しない に進んでください。

参照

翻訳ステータス: このページは en:Extra keyboard keys の翻訳バージョンです。最後の翻訳日は 2024-08-03 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。