ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【Raspberry Pi】キーボードショートカットを設定する

 Raspberry Piを色々いじっていて、主にスクショなどをやるのに一々コマンドを叩くのが面倒だったのでキーボードショートカットを設定したくなってきました。

 調べると、設定ファイルに記述すれば任意のキーボードショートカットを追加できることがわかったのでその備忘録です。

 参考資料に上げたページ様の内容そのままですが、一応記事にした次第です。詳しい内容は参考資料を見ていただければと思います。

 では始めます。


・キーボードショートカットの設定方法
 ラズパイの場合、キーボードショートカットを設定するには「/etc/xdg/openbox/lxde-pi-rc.xml」というファイルを修正します。

 LXTerminalを立ち上げ、以下のようにsudoつきで設定ファイルをエディタで開きます。

$ sudo mousepad /etc/xdg/openbox/lxde-pi-rc.xml

 ファイルを開くと警告文が表示されますが、気にせずに252行目辺りにある「Keybindings for running applications」とコメントされているところに移動します。
f:id:rikoubou:20200727142827p:plain

 この部分にキーボードショートカットを設定していきます。

 デフォルトで以下の記述がすでに設定されているかと思います。

    <keybind key="Print">
      <action name="Execute">
        <command>scrot</command>
      </action>
    </keybind>

 これを少し解説すると、「keybind key」がキーの設定でここでは「Print」キーを押した時のショートカットになります。「action name="Execute"」は「command」タブに書かれたコマンドを起動させるという意味です。「command」タブには「scrot」とだけ書かれているので、このショートカットは「Printキーを押すと、scrotコマンドを起動させる」ように設定してあることになります。

 書き方がわかったので、フォーカスのあるものだけスクショするショートカット(scrot -u)とマウスで指定した四角の範囲だけスクショするショートカット(scrot -s)を設定していきます。

 ちなみに自分は以下のように「Alt + Print」キーでフォーカスのスクショ、「Ctrl + Shift + Print」キーでマウスで指定した四角の範囲だけスクショに設定しました。

    <!-- Keybindings for running applications -->
    <keybind key="Print">
      <action name="Execute">
        <command>scrot</command>
        <!-- Print key all screen shot-->
      </action>
    </keybind>
    <keybind key="A-Print">
      <action name="Execute">
        <command>scrot -u</command>
        <!-- Alt+Print key forcus screen shot-->
      </action>
    </keybind>
    <keybind key="C-S-Print">
      <action name="Execute">
        <command>scrot -s</command>
        <!-- Ctrl+Shift+Print key square screen shot-->
      </action>
    </keybind>

 記述できたら上書き保存し、ラズパイを再起動させます。再起動すると変更が反映されています。


 以上がRaspberry Piにキーボードショートカットを設定する方法です。

 今回はスクショだけでしたが、任意に色々と設定できるようなのでWindowsMacなどと合わせたいといったときには便利だと思います。


・参考資料