ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

ポインティングデバイスのないKING JIM ポメラDM200でX Windowのマウス操作をする方法

      2017/08/11

Dm200 mouse keyboard keynav0000

先日紹介のDebian Linux on KING JIM ポメラDM200(以下DM200)。

Debian Linuxが動き、X Windowが動くとポインティングデバイスの必要性は高まります。

dm200-mouse-keyboard-keynav0005

しかし、DM200にはポインティングデバイスが付いていません(※)。

※DM200はUSBホストへの対応も可能でUSBマウスは接続できるということですが、給電ができず、電源供給が可能なUSBハブが必要とのことで未試用。

文章作成、プログラミングが主たる使い道である僕の場合は、X Window下であってもポインティングデバイスなしでほとんど問題なく使えます。

Pomera dm200 linux ruby python 00034

最初はコンソール中心に使おうと思っていたのですが、X Windowは便利で、Linux側ではX Windowを常用するようになりました。

遅いとはいえグラフィカルなWebブラウザが使え、クリップボードが使え、クリップボード履歴ツールが使え、デスクトップ通知が使え、パネル(タスクバー)に暗号通貨の価格などが表示でき、キーボードショートカットでソフトウェアが起動できたり、特定の機能を呼び出せたりとメリットが大きいのです。

ただ、キーボードのことを考えていないソフトウェアや、キーボードではリンクのクリックが困難なWebページと遭遇して困ることはままあるもので、困難を解決する代替操作手段の必要を感じます。

そこで、キーボードをマウス代わりに使えるkeynavというソフトウェアを使ってみました。

keynavはキーボードだけでマウスのポインタを移動したり、マウスボタンをクリックできるようにするソフトウェアです。

keynavのインストール

まずはインストール。

$ sudo apt-get install keynav -y

僕がカスタマイズしたkeynavの設定ファイルもダウンロードします。これも必須です

なぜならkeynavのデフォルトの操作系はかなり独特だからです。僕が熟考しつつカスタマイズした設定ファイルは、デフォルトのものより違和感なく使えるかと思います。

cd /home/dm200/
$ wget http://hitoriblog.com/.keynavrc

続いて、X Window起動時の自動起動を設定。

Alt + F2でアプリケーションファインダーを起動。「xfce4-session-settings」と打ち込み、「セッションと起動」を起動します。

Alt + Aで「追加(A)」ボタンを押し、「アプリケーションの追加」のウインドウが表示されたら、「名前」に「keynav」、「コマンド」に「keynav &」と入力して、Alt + Oで「OK(O)」ボタンを押して閉じ、さらにAlt + Oで「セッションと起動」を閉じます。

dm200-mouse-keyboard-keynav0002

「Alt + F1 > ログアウト」でログアウトし、再度startxでX Windowを起動すれば以下のキーボードショートカットが有効になっているはずです。

機能 操作
起動 Ctrl + ;
終了 Q

カスタマイズ

keynavはHOMEディレクトリに置いたファイル、.keynavrcを読み込んで動作を変えます。

ここで自分の好きなように機能の割り当てを変更できます。

ひな型は以下の場所にあり、それをHOMEディレクトリにコピーし、「.keynavrc」という名前にリネームしつつ使いますが、前述の通りデフォルトの操作はかなり独特なので、探求する目的でもない限りやらない方がいいでしょう。

/usr/share/doc/keynav/keynavrc

僕がカスタマイズした.keynavrcの操作一覧は以下の通りです(抜粋)。

表にしたら分かりやすいかと思ったのですが、何だかよく分かりませんね(笑)。

  • j、k、i、mの十字+斜めのダイヤモンドカーソル系の8方向マウスカーソル移動
  • カーソルキーによる4方向マウスカーソル移動
  • Ctrl+P、Ctrl+NなどのEmacs系4方向マウスカーソル移動

上記の3系統の操作が同時にできるようになっているため、表にまとめた際に煩雑に見えるのです。

それぞれにShiftやCtrlを伴わせた場合にマウスカーソルの移動スピードが変わるようにもなっているため、表の見た目的に分かりづらくなっていますが、実際に操作をしたら複雑さは感じないでしょう。

esc: 終了 半角/全角 F1: 左クリックドラッグ F2: 中クリックドラッグ F3: 右クリックドラッグ F4 F5 F6 F7 F8
1: 左クリック→終了 2: 中クリック→終了 3: 右クリック→終了 4: 左クリック 5: lilyterm起動 6: leafpad起動 7: sylpheed起動 8: midori起動 9: gvim起動 0: emacs起動
Q: 終了 W: 左上エリアにジャンプ E: 中央上エリアにジャンプ
Ctrl + E: 現在の段の右端に移動
R: 右上エリアにジャンプ T: 設定リロード Y U: 左上に移動(微速)
Shift + U: 左上に移動(迅速)
I: 上に移動(微速)
Shift + I: 上に移動(迅速)
O: 右上に移動(微速)
Shift + O: 右上に移動(迅速)
Ctrl + P: 上に移動(微速)
Shift + P: 上に移動(迅速)
Ctrl+A: 現在の段の左端に移動 S: 左中央エリアにジャンプ D: 中央エリアにジャンプ
Ctrl + D: 終了
F: 右中央エリアにジャンプ
Ctrl + F: 右に移動(微速)
Shift + F: 右に移動(迅速)
Ctrl + G: 終了 H J: 左に移動(微速)
Shift + J: 左に移動(迅速)
K: 右に移動(微速)
Shift + K: 右に移動(迅速)
Ctrl + L: 画面中央に移動 ;
Z X: 左下エリアにジャンプ C: 中央下エリアにジャンプ
Ctrl + C: 終了
V: 右下エリアにジャンプ Ctrl + B: 左に移動(微速)
Shift + B: 左に移動(迅速)
N: 左下に移動(微速)
Shift + N: 左下に移動(迅速)
Ctrl + N: 下に移動(微速)
Shift + N: 下に移動(迅速)
M: 下に移動(微速)
Shift + M: 下に移動(迅速)
,: 右下に移動(微速)
Shift + ,: 右下に移動(迅速)
. /

※Shift+Nの操作がコンフリクトしていて、現状ではEmacsスタイルの方を優先しています。jkimのダイヤモンドカーソルの斜め移動を優先したい場合は「conflict」というコメントを付けておきましたので、後に出現する方をコメントアウトしてください

このほか、カーソルキーにもマウスカーソルの移動が割り当ててあります。

カーソルキーの場合は速度が三段階です。

  • カーソルキー単体→低速
  • Shift + カーソルキー→中速
  • Ctrl + カーソルキー→高速

.keynavrcは可読性が高いので、直接読んでみてください。keynavは非常に柔軟性が高く、よく出来たソフトウェアです。

操作解説

僕が施したカスタマイズ版の操作に則って解説します。

モードの概念

keynavは、いわゆるモーダルなソフトウェアです。

「Ctrl + ;」でkeynavモードに入ります。「Q」で終了です。

dm200-mouse-keyboard-keynav0004

出口になる終了キーはいくつも設定してあります。

  • Q
  • Escape
  • Ctrl+G
  • Ctrl+C
  • Ctrl+D

keynavモードではキー入力がkeynavに乗っ取られている状態だと言ってもいいでしょう。

その間にマウスカーソルを移動し、最後にクリック操作をして通常モードに戻ってくるイメージです。

しかし、クリックをしても元の状態に戻ってこないこともあります。4キーの左クリック、F1〜F3のドラッグの操作がそれに相当します。

4キーの左クリックは、スクロールバーのクリックや、ダブルクリック用です。

元の状態に戻らない操作を最後にしたい場合は「Q」などで明示的にkeynavモードを終了させて通常モードに戻ります。

ジャンプキーの利用

「Ctrl + ;」でkeynavモードに入ると、マウスカーソルは常に中央から始まります。

画面端を頻繁に操作する場合は非効率なので、画面を六つのエリアに分けて、その六つのエリアにジャンプするキーを設定してあります。

それが以下です。「Ctrl + ;」でkeynavモードに入った後、この六つのキーで最寄りのエリアまでジャンプしてからjkimキーで移動するといった使い方を想定しています。

W E R
S D F
X C V

キーボードショートカットの新天地!?ランチャーとしても有望なkeynav

keynavにはモードの概念があり、keynavモードに入るためのキーボードショートカット「Ctrl + ;」しか占有しません。

keynavモードに入った後は独自の世界であるため、keynavモード内ではキーボードショートカットを割り当て放題。

ここが他のキーボードショートカットとの競合を考慮しながら割り当てる必要のあるxbindkeyとの大きな違いです。

そして、keynavには任意のコマンドを実行する機能があります。

これは僕の.keynavrcの抜粋ですが、例えば「Ctrl + ;続けて0」と操作するとEmacsが起動します。この例は非常に単純ですが、もっと複雑なコマンドラインも実行可能です。引数がそのままシェルに渡されるはずです。

### Shell Launcher

5 sh "lilyterm",end
6 sh "leafpad",end
7 sh "sylpheed",end
8 sh "midori",end
9 sh "gvim",end
0 sh "emacs",end

keynav起動の「Ctrl + ;」さえ他と競合していなければ、何でも割り当て放題なのです。これはキーボードランチャーとして非常に強力。

マウス操作だけでなく、ランチャーとしても使っていくべきソフトウェアです。

.keynavrcでの設定において、最後にendを書かなければkeynavモードから抜けないので、xdotool利用時などコマンドを連発する必要のある場合にも便利です。

keynavがあればマウス操作でほとんど困ることがなくなった

ポインティングデバイスのないDM200でのX Window。

keynavがあればよほどアナログチックな操作が必要ない限りはマウスが必要だと思うことはなくなるでしょう。

むしろ、キーボードから手を離すことなくマウス操作ができ、またVimをほうふつとさせるモードの概念がなかなか使いやすく、マウスのある環境でも使いたいと思えるほどです。

DM200でX Windowを利用しているなら、ぜひ導入すべきソフトウェアです。

キングジム デジタルメモ ポメラ DM200ブラック
キングジム(KINGJIM)
売り上げランキング: 892

 - DM200, ガジェット