Logitech G13

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

Logitech G13 は Logitech のゲーミングシリーズから出ている25個のキーが付いている「アドバンストゲームボード」です。ゲーム中にキーボードの左半分を置き換えます。メインの22キーにはラバー製のドーム型キースイッチを使用、ジョイスティック周辺の2つのボタンはマウスボタンとして使うことができ、(押し込むことができる) ジョイスティック、4つの Mode ボタン、4つのオプションボタン、メニューボタン、バックライト切り替えボタンがあります (公式サイト)。

複数のドライバーが存在しますが、今日ちゃんと動作するドライバーはひとつしかありません:

  • 公式の Logitech Gaming SoftwareWine で動かす。起動はしますが、USB デバイスと通信できないため WineHQ におけるソフトウェアのレーティングは Garbage です (ただし、古い報告なので、運が良ければ使えるかもしれません)。
  • g15daemon。バックエンド (libg15) は G13 をサポートしていることをうたっていますが、G13 には対応していません。
  • linux-g13-driver。Makefile を編集してコンパイルすることができれば、動作する可能性はあります (issue #16 を参照)。
  • ユーザースペースドライバーの g13 (g13-gitAUR) がドライバーの中で一番良く機能します。

g13

インストール

Arch User Repository から g13-gitAUR をインストールしてください。

g13d デーモンと pbm2lpbm ビットマップコンバータ、"g13" ユーザー/グループで g13d を動かす systemd サービスがインストールされます。G13 デバイスを認識するための udev のルールも設定されますが、接続・切断によるサービスの自動起動・停止はデフォルトでは無効になっています。default.

ノート:
  • systemd サービスを有効にしてホットプラグで自動的に g13d を起動・停止させるには /usr/lib/udev/rules.d/91-g13.rules の一番下の2行をアンコメントする必要があります。
  • /usr/lib/udev/rules.d/91-g13.rules の uinput 行をアンコメントして、起動時に /dev/uinput の所有者とパーミッションを設定する必要があります。

起動

ノート: バイナリの名前は g13d です。gnupg には g13 という名前のバイナリが含まれています。混同しないように注意してください。

インストールを行って再起動してから (手動あるいは systemd を使って自動的に) g13d を起動すると、"linux inside" ロゴ, "G13", GNU ロゴの画像が表示されます。

手動で実行すると標準エラーにエラーが出力されます。サービスを有効にしている場合、以下のコマンドを実行してみてください:

$ systemctl status g13

/dev/uinput doesn't grant write permissions エラーが表示される場合、あるいはバインドしたキーから何も出力がされない場合、以下のコマンドを実行することで一時的に問題を回避できます (再起動すると戻ります):

# chmod a+rw /dev/uinput
ノート: 永続的な解決方法として /usr/lib/udev/rules.d/91-g13.rules の適切な行をアンコメントすることで、起動時に /dev/uinput の所有者とパーミッションを設定されます。

設定

ノート: g13d を systemd サービスとして実行している場合、デフォルトの /tmp/g13-0 のかわりに /run/g13d/g13-0 の fifo が使われます。

g13d は2つの方法で設定できます。/run/g13d/g13-0 にコマンドを書き込むか、あるいは設定ファイルにキーバインドとコマンドを指定するかです。

g13d を手動で起動した場合、--config パラメータを使って設定ファイルを指定できます。サービスとして起動している場合、/etc/g13/default.bind ファイルが使われます。

ノート: 大抵の場合、/etc/g13/default.bind のデフォルトのキーバインドを使うのが一番簡単です。/etc/g13 ディレクトリがインストール時に作成されなかった場合、手動で作成する必要があります。
ヒント: default.bind ファイルの例は こちら にあります。

/run/g13d/g13-0 に書き込みを行うことで手動でコマンドを呼び出させることもできます:

例えば、紫色を表示するように設定するには:

$ echo "rgb 177 13 201" > /run/g13d/g13-0

g13 では複数のコマンドを一度に指定できます:

$ echo -e "rgb 177 13 201\nbind G4 KEY_W" > /run/g13d/g13-0
ヒント: g13 は # から始まる行を無視します。コマンドを記述したファイルを作成して cat file > /run/g13d/g13-0 を実行することで使うことができます。

コマンド

  • rgb <rrr> <ggg> <bbb> - バックライトの色を設定。値は0から255までの10進数です。例えば緑にするには:
rgb 0 255 0
  • bind <g13key> <actualkey> - G13 のキーをバインド。全てのキーはデフォルトでは a にバインドされます。例えば WASD の移動を設定するには:
bind G4 KEY_W
bind G10 KEY_A
bind G11 KEY_S
bind G12 KEY_D

設定する方法は下を見てください。

  • mod <n> - M1, M2, M3, MR のバックライトの状態を設定します。

<n> はビットマスクです。1 (M1), 2 (M2), 4 (M3), 8 (MR) の合計で状態を計算してください。例えば M1, M3, MR をオンにして M2 をオフにする場合 (1+4+8=13):

mod 13

キー

Keys to map to (should be self explanatory)
KEY_0 KEY_1 KEY_2 KEY_3 KEY_4 KEY_5 KEY_6 KEY_7 KEY_8 KEY_9 KEY_A KEY_APOSTROPHE KEY_B KEY_BACKSLASH KEY_BACKSPACE KEY_C KEY_CAPSLOCK KEY_COMMA KEY_D KEY_DOT KEY_DOWN KEY_E KEY_ENTER KEY_EQUAL KEY_ESC KEY_F KEY_F1 KEY_F10 KEY_F2 KEY_F3 KEY_F4 KEY_F5 KEY_F6 KEY_F7 KEY_F8 KEY_F9 KEY_G KEY_GRAVE KEY_H KEY_I KEY_J KEY_K KEY_KP0 KEY_KP1 KEY_KP2 KEY_KP3 KEY_KP4 KEY_KP5 KEY_KP6 KEY_KP7 KEY_KP8 KEY_KP9 KEY_KPASTERISK KEY_KPDOT KEY_KPMINUS KEY_KPPLUS KEY_L KEY_LEFT KEY_LEFTALT KEY_LEFTBRACE KEY_LEFTCTRL KEY_LEFTSHIFT KEY_M KEY_MINUS KEY_N KEY_NUMLOCK KEY_O KEY_P KEY_Q KEY_R KEY_RIGHT KEY_RIGHTBRACE KEY_RIGHTSHIFT KEY_S KEY_SCROLLLOCK KEY_SEMICOLON KEY_SLASH KEY_SPACE KEY_T KEY_TAB KEY_U KEY_UP KEY_V KEY_W KEY_X KEY_Y KEY_Z
Keys to map
BD DOWN G1 G10 G11 G12 G13 G14 G15 G16 G17 G18 G19 G2 G20 G21 G22 G3 G4 G5 G6 G7 G8 G9 L1 L2 L3 L4 LEFT LIGHT LIGHT_STATE M1 M2 M3 MR TOP STICK_LEFT STICK_RIGHT STICK_UP STICK_DOWN

デバイス上の物理的なキーの配置を表すと以下のようになります:

Keypad:
      ______________
     |  160x43 LCD  |
     |              |
      ‾‾‾‾‾‾‾‾‾‾‾‾‾‾
     BD L1 L2 L3 L4 LIGHT_STATE
        M1 M2 M3 MR
G1  G2  G3  G4  G5  G6  G7 
G8  G9  G10 G11 G12 G13 G14
   G15  G16 G17 G18  G19
       G10  G21  G22

Joystick:
 L            STICK_UP
 E  STICK_LEFT  TOP   STICK_RIGHT
 F           STICK_DOWN
 T
               DOWN
ヒント: As a jumping off point, you can use default.bind, which has the same bindings as the default profile when using the official software, along with a purple backlight.