私の使っているキー配列(かな変換時。ほぼ左右対称配列)

初稿作成:2011/12/25(日)(Yahoo!ブログ)

最終更新:2020/3/31(火)

 

日本語をキーボードから入力するには、ローマ字入力よりもかな入力のほうが自分の試算では1.4倍ぐらい早くなるのですが、たとえばJISかな配列など複雑すぎていつまでたっても配列を覚えられません。
また新50音順配列やナラコードといった覚えやすい配列もありますが、個人的には一部使いにくい面もあります。
そこで覚えやすく使いやすいように、以下のような単純明快かつなるべく規則的なかな配列を考案してみました。
ご覧のとおり、あ行-ま行、ら行は横一列に、や行、わ行は縦一列に並ぶよう配置してあります。
あ行-ま行、ら行は一番内側にお段の字を、そこから外に向かってあ段、い段、う段、え段の字を配置しました。や行、わ行は上から下に順に並べてあります。
「を」や小さい「っ」、長音符の「ー」は単独打鍵で入力できます。


単独打鍵
| れ | る | り | ら | ろ | や | ー | わ | も | ま | み | む | め |
| え | う | い | あ | お | ゆ | を | こ | か | き | く | け |
| て | つ | ち | た | と | よ | ん | そ | さ | し | す | せ |
| ね | ぬ | に | な | の | っ | ほ | は | ひ | ふ | へ |


シフト時
|りゃ |りゅ |りゅう|りょ |りょう| ゃ | 「 | 」 |みょう|みょ|みゅー|みゅ|みゃ|
| ぇ | ぅ | ぃ | ぁ | ぉ | ゅ | 、 |きょう|きょ|きゅう|きゅ|きゃ|
|ちゃ |ちゅ |ちゅう|ちょ |ちょう| ょ | 。 |しょう|しょ|しゅう|しゅ|しゃ|
|にゃ |にゅ |にゅう|にょ |にょう| ・ |ひょう|ひょ|ひゅう|ひゅ|ひゃ|


濁音( ゙)は「スペース」、半濁音( ゚)は「無変換」に割り当てています。
「か+スペース」→が
「ひ+無変換」→ぴ
「う+スペース」→ヴ


拗音については、たとえば
「Shift-せ」→しゃ
「Shift-ほ」→ひょう
ですが、さらに
「Shift-せ+スペース」→じゃ
「Shift-ほ+無変換」→ぴょう
などとすることもできます(一定の制約あり)。


そのほかの例:
「Shift-ろ+Shift-し+Shift-さ」→りょうしゅうしょ
「Shift-こ+スペース+こ」→ぎょうこ
「Shift-ち+Shift-せ+Shift-そ+スペース」→ちゅうしゃじょう
「Shift-へ+っ+Shift-ほ+無変換」→ひゃっぴょう


ちなみに英数は単独打鍵とシフト時のみアメリカ版のDvorak配列にしています(日本版やイギリス版ではありません)。ただし1段目左端のキーは1段目右端に、2段目右端のキーは3段目右端に移動させています。4段目右端は割り当てなし。
またQのキーは単独打でqu、シフトでQuとしています。q、Qだけを出したいときはそれぞれqu、Quを出してBackspaceでuを消すのが一番てっとり早い。
Ctrl、Alt、Winと同時押しのときはQWERTY配列のままにしています。


窓使いの憂鬱」やその後継のキー配列変更ソフト(yamy、「のどか」)で実装できます。
DvorakJでは拗音に1回のキー操作で濁音符をつけるのが、できないことはないですが面倒くさそう。
AutoHotKey、keyhacなどでもできるんじゃないかと思います。

Ubuntu で 窓使いの憂鬱 を使う

初稿作成:2009/9/23(水)(Yahoo!ブログ)

最終更新:2019/9/9(月)

 

Windows で重宝している 窓使いの憂鬱Linux版が出ているので
ぜひ使ってみたいと思います。


Linux版のmayu - GitHub
https://github.com/kenhys/mayu


からダウンロードして mayu-master.zip を保存します。


Firefox だと


home/(ユーザー名)/ダウンロード


のところに保存されます。


さっそく


$ cd /home/(ユーザー名)/ダウンロード
$ unzip mayu-master.zip


と展開します。


または


$ sudo apt install git
$ git clone https://github.com/kenhys/mayu.git


としてもいいですね。この場合は /home/(ユーザー名)/ のところに mayu フォルダができているので展開の必要はありません。


mayu-master(または mayu)フォルダの中を開いて README を読んでみると


Linuxへのインストール準備
======================


* g++
* libusb-1.0
* libudev
* boost
libboost と libboost-regex が必要です。


とあります。


Synaptic パッケージ・マネージャ をインストールし、
Synaptic パッケージ・マネージャ で


g++、libusb-1.0-0-dev、libudev-dev、libboost1.62-dev、libboost-regex1.62-dev


あたりをインストールします。

端末 で


$ sudo apt update
$ sudo apt install g++
$ sudo apt install libboost-iostreams-dev
$ sudo apt install libudev-dev
$ sudo apt install libusb-1.0-0-dev


などとやってもだいたいインストールできます。


なお、環境によっては make もインストールする必要があるので


$ sudo apt install make


とやってインストールします。


窓使いの憂鬱 自体のインストールは


コマンドライン上で mayu のソースディレクトリに移動し、


とあるのでまず


$ cd /home/(ユーザー名)/ダウンロード/mayu-master


(展開直後なら $ cd mayu-master で十分です。
git clone を使った場合は $ cd mayu とします)


あとは指示どおりに


$ ./configure
$ make
$ sudo make install


を実行します。


しかし


$ ./configure


のときに


checking whether the Boost::Regex library is available... yes
configure: error: Could not link against !


などとエラーが表示され、うまくいかないときは


$ ./configure --with-boost-libdir=/usr/lib/i386-linux-gnu/


または


$ ./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu/


とします。


また


$ make


のときに


msgstream.h:86:5: エラー: ‘setp’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
msgstream.h:86:5: 備考: declarations in dependent base ‘std::basic_streambuf<char>’ are not found by unqualified lookup
msgstream.h:86:5: 備考: use ‘this->setp’ instead


などとエラーが表示され、うまくいかないときは
mayu-0.12.1 フォルダの msgstream.h ファイルをエディタで開き
その中に3箇所ある


setp



this->setp


と書き換えて msgstream.h を保存し、もう一度


$ make
$ sudo make install


とすればうまくいくようです(この問題は GitHub のものでは修正されています)。


さらに


$ make


のときに


vkeytable.cpp:343:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘u_int8 {aka unsigned char}’ inside {} [-Wnarrowing]
Make: ターゲット 'mayu-vkeytable.o' のレシピで失敗しました


などとエラーが表示され、うまくいかないときは


mayu-master(または mayu)フォルダの vkeytable.cpp ファイルをエディタで開き
17行目にある


{ -1, _T(#name) }



{ (u_int8)-1, _T(#name) }


と書き換えて vkeytable.cpp を保存し、もう一度


$ make
$ sudo make install


とすればうまくいくようです。


また


compiler_specific_func.cpp:55:1: fatal error: opening dependency file .deps/mayu-compiler_specific_func.Tpo: 許可がありません


などとエラーが表示され、うまくいかないときは


$ sudo make
$ sudo make install


とすればうまくいくようです。


設定ファイルは


ホームディレクトリに .mayu という名前のファイルを作成して、設定を記述して下さい。


とあるので作成します。


ホームディレクトリというのは /home/(ユーザ名) というディレクトリのことです。
Ubuntu ではホーム・フォルダともいいます。


.mayu はデフォルトでは隠しフォルダ扱いですので
ホームディレクトリ /home/(ユーザ名) の


表示


から


隠しフォルダを表示する


をクリックして表示されるようにします。


私は .mayu のほかにもいくつか設定ファイルを作って include しているので
ホームディレクトリ /home/(ユーザ名) か
データディレクトリ /usr/local/share/mayu にも作成した設定ファイルをおきます。
なおデータディレクトリの編集には管理者権限が必要ですので


端末から


$ sudo nautilus


として


立ち上がったウィンドウ上でファイルを編集します。
終了時はさっきの端末に戻って Ctrl+C (Ctrlを押しながらC)とします。


- 日本語のキー名はサポートしません。


とありますので


半角/全角 は HankakuZenkaku
変換 は Henkan
無変換 は Muhenkan


等と置き換えます。


また漢字、かな以外の全角文字も使えないようなので


↑ ↓ ← →


もそれぞれ


Up Down Left Right


と書き換えます。全角スペースも半角スペースに置き換えます。


Ubuntu の入力方式は MS-IME ではないので
モディファイヤのうち KL-、IC-、IL- は使えないというか
記述しても無視されるようです。
そのため英数配列と日本語配列の切り替えをどうしたらいいかと思っていたのですが
いちおうこんな風にしてみました。


key HankakuZenkaku = HankakuZenkaku &Toggle(Lock0)
(なお Windows 版 yamy では
key D-*HankakuZenkaku = D-*HankakuZenkaku &Toggle(Lock0)
とします)


key L0- =
(日本語配列のキー割り当て)


key ~L0- =
(英数配列のキー割り当て)


しかしこれだけではソフトウェアのフォーカスが変わったときに不具合が出ることがあります。
例えばプログラムA で日本語入力しそのままプログラムB に移ると
窓使いの憂鬱日本語配列なのにプログラムB は英数入力するモードになっていたりします。
ここで 半角/全角キー を押して 窓使いの憂鬱 を英数配列に変えても
同時にプログラムB が日本語入力モードに変わってしまうのでやはりうまくいきません。


そこで windowsキー (superキー)を使って


key *L0- =
mod !!windows
key W- LeftWindows = &Toggle(Lock0)
key W- RightWindows = &Toggle(Lock0)


とします。
これでさきほどのようにソフトウェアと 窓使いの憂鬱 とで変換モードが異なる場合に windowsキーを押すと
窓使いの憂鬱 の変換モードだけを調整できます。


ちなみにここで windowsキー はいわゆる
OneShotモディファイヤ(単独押しのときと他のキーとの同時押しのときとで機能を変える) になっています。
まあ windowsキーはもともと Windows でも OneShotモディファイヤではあるのですが
(単独押しのときは スタートメニュー が開く。
同時押しのときは別の動作が定義されているが スタートメニュー は開かない)。


この問題は グローバルインプットメソッドの設定 によってほぼ解決できました。
やりかたは、iBusの場合、


iBusの設定 を起動して


詳細 タブ


を押し


すべてのアプリケーション間で同じインプットメソッドを共有する


チェックボックスにチェックを入れます。


Fcitxの場合は


入力メソッドの設定 を起動して


全体の設定 タブ を押し


プログラム
ウィンドウ間で状態を共有



すべて


にします。


(それでもたまにずれることがありますが、その場合は上述の方法で解消させるか、
もっと簡単に
文字入力フォームのない場所にフォーカスを移して 半角/全角キー を押してもいいですね。
他のソフトウェアには影響が出ず 窓使いの憂鬱 だけ変換モードが変わります)


窓使いの憂鬱 の起動は端末で


$ sudo mayu


で行います。


同じ端末で


Ctrl C


とすれば終了です。


Ubuntu のバージョンが上がってアップデートしたら
窓使いの憂鬱の起動の際にエラーが出てしまうときは


g++、libboost-iostreams-dev、libudev-dev、libusb-1.0-0-dev

g++、libboost1.62-dev、libboost-regex1.62-dev、libudev-dev、libusb-1.0-0-dev をインストールして


$ cd /home/(ユーザー名)/ダウンロード/mayu-master
(git clone した場合は $ cd /home/(ユーザー名)/mayu)
$ ./configure
$ make
$ sudo make install


でまた起動できるようになりました。


いちいち tar.gz ファイルを展開して
mayu フォルダの msgstream.h ファイルを編集するのはめんどくさいので
(と言ってもたいした手間でもないですが...)
msgstream.h ファイルを編集した mayu-0.12.1 フォルダをコピーしておいて
それを適当な場所に入れて使おうと思ったら
実行可能ファイルじゃなくなってしまい
$ ./configure
ができないことがあるみたいなので
そういう場合は


$ chmod 755 configure


とやってから


$ ./configure
$ make
$ sudo make install


とするとうまくいくようです。


なお、インストールした


g++、libboost-iostreams-dev、libudev-dev、libusb-1.0-0-dev


は、窓使いの憂鬱 のインストール時に必要なだけで、
実行時には libboost-regex 以外いらないようなので、
他で使わないのなら、記憶容量の節約のために削除してしまって
libboost-regex のみ再インストールするだけでもいいかもしれません。
そのようにしたい場合は、たとえばこんなふうに


$ sudo apt-get --purge remove g++
$ sudo apt-get --purge remove libboost-iostreams-dev
$ sudo apt-get --purge remove libudev-dev
$ sudo apt-get --purge remove libusb-1.0-0-dev
$ sudo apt-get --purge remove make
$ sudo apt-get autoremove
$ sudo apt-get install libboost-regex
(または
$ sudo apt-get install libboost-regex-dev
)


などとやるといいと思います。

Ubuntu のシステムに関わるファイルを管理者権限で編集する

初稿作成:2009/9/18(金)(Yahoo!ブログ)

最終更新:2019/9/9(月)

 

端末で
$ sudo nautilus
とやって
出現するウィンドウ上で編集するのが一番早いです。
編集作業中に端末によく分からない文がたくさん出てきますが
特に気にしなくても何とかなるようです。