差分表示


#freeze
*&date(Y-n-j[lL],2014/10/13); linux Mint(Ubuntu)で 窓使いの憂鬱 を使いダイアモンドカーソル

linux でも [[win や mac:雑記/2013-09-22]] 同様にダイヤモンドカーソルを使いたいので、キーバインディングソフトの[[「私家版 窓使いの憂鬱 for linux & Mac (Darwin) 対応版」>http://www42.tok2.com/home/negidakude/]] を使用させてもらってる。

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


と、ま、そんなこともあり、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 は [[こちら>http://blogs.yahoo.co.jp/koankouanjp/7354126.html]]等にあるようにエラーでるので~
./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu/ ~
にして実行(x64用. 32bitなら別のディレクトリ)

make するとエラー出るので[[先のサイト>http://blogs.yahoo.co.jp/koankouanjp/7354126.html]]に書かれてるように msgstream.h の setp を this->setp に置換(3箇所)してから~
make~
そして~
sudo make install ~


*** 自動起動

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

ググると対処されてる方がおられて、[[こちら>http://heavy.sblog.jp/index.php?e=1499]]の頁.~
そこに書かれてるスクリプトをコピペすれば...だけどタブ消えてたりちょっと面倒そうだったので、必要な変更箇所だけ抜き出して、元のスクリプトに反映.~
具体的には元の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 の内容で設定されるようにみえる)
(どうも 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/英数キーでダイヤモンドカーソルできるはず.