2014-10-13[月] linux Mint(Ubuntu)で 窓使いの憂鬱 を使いダイアモンドカーソル

linux でも win や mac 同様にダイヤモンドカーソルを使いたいので、キーバインディングソフトの「私家版 窓使いの憂鬱 for linux & Mac (Darwin) 対応版」 を使用させてもらってる。

といってもlinux入PCはディスプレイ繋げず置物化していて、(格安)noteの設定のために数ヶ月ぶりに立ち上げてみればダイヤモンドカーソルが効かなくなっていて... なんぞ設定変わった?

と、ま、そんなこともあり、linux Mint 17(Ubuntu 14.04系) で窓使いの憂鬱をダイヤモンドカーソルで使用するためのメモ.

ざっくり やったことは

  • IME で CapsLock/英数(EISU)キー を使用しない用にする
  • 窓使いの憂鬱 for linux & Mac のダウンロード
  • ソースをコンパイルして インストール
  • 自動起動用スクリプトの設定
  • ダイヤモンドカーソルな定義をした ~/.mayu ファイルの作成
  • 再起動

な感じ。

IME の設定

キー配置的に CAPSLOCK/英数キー をダイヤモンドカーソルする拡張キーにしたい。

IME で 英数キー が使われていると不味いので、IME の設定(プロパティ)で英数キーを使ったものをすべて削除か別のキーに割り当て直しておく。

例えば Mozc なら

"(スタート)メニュー"→"設定"→"Mozcの設定"→"一般"→"キー設定の選択"の処の"詳細"→(各種キー設定)

あたり. (複数のIME入れてるならそれぞれ対処... 面倒なので己はAnthy削除してMozcだけにしてる)

mayuのダウンロード、コンパイル、インストール

http://www42.tok2.com/home/negidakude/ から mayu-0.12.1.tar.gz をダウンロード.

適当なフォルダで展開(tar xvzf mayu-0.12.1.tar.gz)し、そのディレクトリに移動(cd mayu-0.12.1).

その中に入ってる README(or INSTALL) テキストを参考に作業...だけど2011-11年以降の環境の変化でそのままでは駄目な場合があり、ググれば幾つかのサイトで対処方法が公開されているのでそれらも参考。

まずライブラリをインストール.
sudo apt-get install g++ libboost-regex-dev libboost-dev libudev-dev libusb-1.0-0-dev

ubuntu系だし起動時から使うので
/etc/modules の最後に uinput の1行追加.
※README に書かれている update-modules はすでに廃止されたコマンドのようで無かったが、実行しなくてもよさげ(?)

./configure は こちら等にあるようにエラーでるので
./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu/
にして実行(x64用. 32bitなら別のディレクトリ)

make するとエラー出るので先のサイトに書かれてるように msgstream.h の setp を this->setp に置換(3箇所)してから
make
そして
sudo make install

自動起動

こちら で公開されてる定番のスクリプトを使わせてもらう。
サイトにあるスクリプト部分をコピペして(自分のユーザー名に書換える部分は書換えておいて) /etc/init.d/mayu にセーブ、実行可能に変更.
...なんだが、どうもubuntuの変更か何かの影響でエラーで動かなくなった模様。

ググると対処されてる方がおられて、こちらの頁.
そこに書かれてるスクリプトをコピペすれば...だけどタブ消えてたりちょっと面倒そうだったので、必要な変更箇所だけ抜き出して、元のスクリプトに反映.
具体的には元のmayuスクリプトの最初の1行を

#!/bin/bash
# Start/stop the mayu daemon.
#
### BEGIN INIT INFO
# Provides: mayu
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mayu
# Description: Enable service provided by root
#
### END INIT INFO

に置き換えた.

/etc/init.d/mayu ができたら ([追記] update-rc.dの指定違い等修正)

sudo /sbin/insserv -v mayu

あるいは

sudo update-rc.d mayu start 17 2 3 4 5 . stop 17 0 1 6 .

で自動起動されるように設定.
(どうも update-rc.d の引数無視されてデフォルト設定か BEGIN INIT INFO の内容か何かで設定されるようにみえる)

ダイヤモンドカーソルな定義ファイル

ダイヤモンドカーソル、てか、vz系の操作を元に 設定してみたキー (ここでの ^ はCapsLock/英数キーの意)

^E^X^S^D(上下左右) ^A^F(単語移動) ^R^C(頁移動) ^H(BackSpace) ^G(Delete)
^QF(検索) ^QA(置換) ^QS(行頭) ^QD(行末) ^QR ^QC(ファイル先頭/末移動)
^T(HOME) ^V(END) ※vzと違うけど楽にHOME/ENDしたく
^TAB(CapsLock/英数) ※念の為

書いてみた定義ファイルの内容は以下

include "linux109.mayu"

keymap2 Q2
key *r = C-HOME
key *c = C-END
key *s = HOME
key *d = END
key *f = C-F
key *a = C-H

keymap Global
mod mod0 = !Eisuu
key M0-e = Up
key M0-s = Left
key M0-d = Right
key M0-x = Down
key M0-r = PageUp
key M0-c = PageDown
key M0-h = BackSpace
key M0-g = Delete
key M0-a = C-Left
key M0-f = C-Right
key M0-t = Home
key M0-v = End
key M0-q = &Prefix(Q2)
key M0-TAB = Eisuu

こいつを ~/.mayu でセーブ.

"置換"(^QA)はソフトによって結構キー違うものなので定義しないほうが無難かもだが、GEditが MS(VS)系を踏襲した CTRL-H だったのでそれを設定してる.

HOME,ENDの扱いはmacよりWinと同様のことが多そうなので そのあたりは素直に設定。なのでmacと違い^t ^v の必要性ないけれど自分が使うかもで用意(いらなければ削除)。^TABでの英数(CapsLock)キー動作は...自分で使うことはほぼ無さそうだけど念の為用意.


ひと通り設定がすんだら、再起動、問題なければ CapsLock/英数キーでダイヤモンドカーソルできるはず.