やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Raspbian stretch 9.0 2018-11-13 Desktop で任意のホットキー(ショートカットキー)を設定する

 ターミナル表示すらデフォルトで未設定なので。

対象環境

$ uname -a
Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l GNU/Linux

手順

  1. ~/.config/openbox/lxde-pi-rc.xmlテキストエディタで開く
sudo pluma ~/.config/openbox/lxde-pi-rc.xml

 以下のような内容を追記したい。(コマンドが不明のため作れないものがいくつかある)

概要 キー コマンド
ターミナル表示 C-A-t lxterminal
タスクマネージャ表示 C-A-Delete lxtask
シャットダウン C-A-S-Escape sudo shutdown -r now
画面ロック C-A-l ``
デスクトップ表示 C-A-d ``
メモ作成 C-A-m mkdir -p /tmp/work/memo; pluma /tmp/work/memo/date +%Y%m%d%H%M%S.md;(失敗した)
リポジトリ作成 C-A-r ``
  <keyboard>
        ...
        <!-- changed 2019-02-16 start -->
    <!--
    <keybind key="Print">
      <action name="Execute">
        <command>scrot</command>
      </action>
    </keybind>
    -->
        <keybind key="Print">
          <action name="Execute">
            <command>SS</command>
          </action>
        </keybind>
        <!-- changed 2019-02-16 end -->
        <!-- appended 2019-02-16 start -->
        <keybind key="C-Print">
          <action name="Execute">
            <command>scrot</command>
          </action>
        </keybind>
        <keybind key="C-A-t">
          <action name="Execute">
            <command>lxterminal</command>
          </action>
        </keybind>
        <keybind key="C-A-e">
          <action name="Execute">
            <command>pcmanfm /tmp/work</command>
          </action>
        </keybind>
        <keybind key="C-A-Delete">
          <action name="Execute">
            <command>lxtask</command>
          </action>
        </keybind>
        <keybind key="C-A-S-Escape">
          <action name="Execute">
            <command>sudo shutdown -r now</command>
          </action>
        </keybind>
        <keybind key="C-A-m">
          <action name="Execute">
            <command>mkdir -p /tmp/work/memo; pluma /tmp/work/memo/`date +%Y%m%d%H%M%S`.md;</command>
          </action>
        </keybind>
  </keyboard>

キー名

修飾キー

key 意味
S Shiftキー
C Ctrlキー
A Altキー
W スーパーキー(Windowsキー等)
M メタキー
H ハイパーキー(何かに縛られている場合)

それ以外

 http://openbox.org/wiki/Help:Bindings#Keys を参考にして調べる。

  1. ターミナルを起動する
  2. xevコマンドを実行する(イベントログ出力)
  3. 調べたいキーを打つ
  4. 出力されたログを調べる
$ xev

 Delキー押下したときのイベントログが以下。

...
KeyPress event, serial 45, synthetic NO, window 0x2a00001,
    root 0x25d, subw 0x0, time 14398337, (340,-75), root:(341,822),
    state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
    XLookupString gives 1 bytes: (7f) ""
    XmbLookupString gives 1 bytes: (7f) ""
    XFilterEvent returns: False
...

 上記のうち以下行にあるDeleteがキー名である。

state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,

 何もしなくてもログが追記されるのでログをテキストエディタにコピペして「key」で検索すると早く探せる。

所感

 本当は「Shutdown options」ダイアログを表示したいのだが、コマンド名がわからない。