« 2014年8月 | トップページ | 2014年10月 »

2014年9月

2014年9月25日 (木)

AutoHotkeyを使いはじめる(Thu Dec 05, 2013)

AutoHotkeyを使いはじめる(Thu Dec 05, 2013)

Time-stamp: "Sat Dec 14 12:34:06 JST 2013"

私は、日本語入力のかな漢字変換としてSKKを使っている。ところで、かな 漢字変換の変換キーには、スペースキーを使うのが普通である。日本語キー ボードには「変換」キーがあるけれど、おそらく誰でもスペースキーを使 う。もともと英語圏からやってきたパソコンのキーボードに「変換」キーな んて無かったであろう。そのせいか、せっかくある「変換」キーが無視され ているようである。

英文を打つにはスペースキーの出番が多い。英文は、単語間をスペース(空 白)で区切る、いわゆる分かち書きにする。日本語文は、ひらがな、カタカ ナ、漢字と文字種が多いので分かち書きの必要がない。文字種の違いが単語 区切りになる。もし、ひらがなだけで書かれると読みにくい。たいてい、知 らず識らずのうちに空白区切りを入れる。アルファベット26文字で書く英文 が、スペースを単語区切りにするのと同じである。

日本語をパソコンに入力する際にスペースキーは殆ど使われない。それなの に最も押しやすい位置にスペースキーはある。モッタイナイ。そこでかな漢 字変換の変換キーとしてスペースキーを使うようになった(らしい)。

日本ではかな漢字変換の「変換キー」としても使われる場合が多い(スペー ス変換)。この操作が主流となったのはPC-9801シリーズと一太郎のATOKと される。背景としては、日本語では文章中には通常はスペースを多用しない が、変換キーは多用する、更にはPC-9801シリーズのスペースキーは幅が広 く使用しやすく、逆に「XFER」(変換キー)や「NFER」(無変換キー)は使 用しにくかった(初期のキーボードでは「NFER」が無い[1]、幅が狭い、 キーの用途が広く知られていない)事が挙げられる。なお一太郎と競合した 松は、当初は「XFER」で変換し、スペースは変換時の区切りの指示に使用し たが、しかしスペース変換への支持層の増大から途中からスペースバーによ る変換もサポートした。このスペース変換は「親指で変換しやすい」という 操作性では親指シフトとも似ている。(引用終わり)

日本語をローマ字入力するとき、アルファベットの大文字、つまりシフト キーとアルファベットキーの同時押しをすることはない。小文字のローマ字 で入力すればかな文字列になる。大文字で入力しても同じかな文字列になる けれど、わざわざシフトキーを使うことはない。

ローマ字入力のSKKは、ローマ字入力でシフトキーを使うことがないことを 利用する。漢字変換したい、かな文字列を入力するローマ字の最初の文字を 大文字で入力する。そして最後の文字を入力したら漢字変換を指示するス ペースキーを押す。

SKKは次のように使う。「花が咲く」をローマ字入力で「hanagasaku」と打 ち込むと「はながさく」と表示される。ひらがなは、小文字のローマ字で打 ち込むだけでよい。他のかな漢字変換のように確定操作は必要ない。

大文字のローマ字から打ち始めると様子が変わる。「Hanagasaku」と打ち込 むと画面には「▽はながさく_」(アンダーバーはカーソル位置を表す)と表 示される。冒頭の▽は、かな漢字変換しようとする漢字の読み(ひらがな)の 始まり位置を表す。この後で、かな漢字変換を呼び出すためにスペースキー を押す。そうすると▽とスペースキーを押したカーソル位置までの間にある ひらなが文字列を読みとする漢字文字列を変換辞書から探そうとする。変換 候補が変換辞書から見つかると、▽が塗り潰された▼に変わり候補の漢字が 表示される。

残念ながら「はながさく」を読みとする漢字文字列は変換辞書にない。候補 が見つからないときは単漢字入力かつ単語登録に移行する。単語登録のため の小窓(入力欄)が開き「はながさく _」と表示される。カーソルが本文から 小窓のアンダーバーの位置に移動して入力待ちになる。(emacsやvi/vimでは 編集画面の一番下の行に小窓に相当する入力欄(ミニバッファ)が出来る)

(注)「はながさく」の漢字変換候補として「花が咲く」を単語登録すること はできる。しかし、それは無駄である。どうしてかというと、ローマ字入力 で「Hanagasaku」と読みの全部を打ち込んだときだけに「花が咲く」が変換 候補になる。「Hanagasa」に対して「花笠」は変換候補になるけれど、「花 が咲く」は変換候補にならない。どうしても登録したいなら「は」とか「はな」 の変換候補として「花が咲く」を登録するとよい。(注終わり)

SKKは、一文の読みの全部を入力してから一括変換することはできない。 「はな」を「花」に、そして「さく」を「咲く」にしか変換できない。SKK のかな漢字変換辞書(基本辞書)は、漢字の読みとその候補漢字を羅列したリ ストでしかない。「はながさく」をかな漢字変換する際に使う辞書の内容は 次のようである。漢字の読みの後にスラッシュで区切られた漢字候補が並 ぶ。セミコロンから次のスラッシュまでは注釈になる。

SKK-JISYO.L (SKKのラージ辞書)
;; okuri-nasi entries.
はな /花/鼻/華;-がある/端;(はじめ)「-から聞いてない」/洟;はなみず/纏
頭;祝儀/塙;はなわ?/離;動詞語幹?/
;; okuri-ari entries.
さk /咲/避/割;時間を割く/裂;(仲|紙)を裂く/
(引用終わり)

ローマ字で「Hana」と入力したら、かな漢字変換を始めるスペースキーを押 す。画面上には「▽はな_」と表示される(アンダーバーはカーソルの位置で ある)。スペースキーを押すと表示が「▼花_」に変わる。スペースを繰り返 し押すと「▼花_」→「▼華_」→「▼鼻_」→~のように変換候補が次々に 入れ替わる。希望の候補が表示された時点で「Ctrl-j」または「Enter」を 押すと変換が確定する。塗り潰し逆三角形▼が消える。なお、辞書にある候 補が尽きると単語登録に移行する。

「咲く」と変換するには「SaKu」と入力する。そうすると画面には「▽さ *k_」→「▼咲く_」と表示される。もし、「SaKi」と入力したなら「▽さ *k_」→「▼咲き_」と最初の漢字候補が表示される。スペースキーを押すご とに「▼咲く_」→「▼避く_」→「▼割く_」→~と他の候補が表示され る。希望の候補で確定させる。送り仮名のある場合は、漢字の読みの始まり の仮名のローマ字及び送り仮名の始まりの仮名のローマ字を大文字で入力す る。

漢字候補が変換辞書で見つからなかったら直ぐに単語登録になる。とくに人 名などは変換できないことが多い。自分の名前が漢字変換されないと不便で ある。登録方法を知っておくべきである。例えば、「はなたろう」を「花太 郎」に変換したいとする。「Hanatarou」と打ち込むと「▽はなたろう_」と 表示される。変換キーのスペースキーを押す。基本辞書に「はなたろう」の エントリ(登録)がない。小窓に「はなたろう _」(アンダーバーはカーソル 位置)と表示される。本文は「▽はなたろう」と表示されたままになり、 カーソルは小窓に移る。

小窓のカーソル位置に「Hana」と入力する。小窓は「はな ▽はな_」にな る。スペースキーを押すと「はな ▼花_」と候補が表示される。「Ctrl-j」 または「Enter」で確定すると「はな 花_」になる。カーソルは花の直後に ある。次に「Tarou」と入力すると「はな 花▽たろう_」になる。スペース キーで「はな 花太郎_」にする。最後に登録から抜けるためにEnterを押 す。辞書登録されると同時に登録前の本文にある「▽はなたろう」が「花太 郎_」で置き換わる。カーソルは小窓から本文に戻る。漢字変換作業自体が 単語登録作業になる。意識しないうちに辞書登録が行なわれる。

なお、小窓が「はな ▼花_」と希望の漢字になったら確定操作しないで、続 けてすぐに「Tarou」と入力してよい。次のローマ字入力を始めると漢字変 換が確定する。

登録単語はユーザー辞書に書き込まれる。登録しないで確定したものもユー ザー辞書に書き込まれる。そうすることで基本辞書の候補並びではなくて直 近に確定した候補順(ユーザー辞書の候補順)に表示する。いわゆる辞書の学 習が行なわれる。ユーザー辞書に誤登録したものを削除する手段が用意され ている。もっとも削除したものが基本辞書に登録されているなら再び候補と して表示される。基本辞書は読み出し専用であって改変されることがない。 辞書登録も辞書からの変換候補削除も気兼ねなく出来る。どんどん辞書登録 し、ヘンなものは迷うことなく削除すればよい。

SKKを使い込むと、ユーザー辞書があれば基本辞書が無くても困らないくら いになる。あるとき、基本辞書に絶対あるはずの漢字に変換できないことが あった。調べたら基本辞書の場所の指定を間違えていた。SKKが読める場所 に辞書を置いたら、ちゃんと漢字変換できるようになった。

ローマ字入力のSKKではシフトキーを多用する。ところでシフトキーは左右 に一つずつある。左手の担当するアルファベットキーを打つときは、右手小 指で右シフトキーを使う。片手の指二本を使ってアルファベットキーとシフ トキーを同時に押すことはしない。上手に左右のシフトキーを使い分けるの が正しいタッチタイピングである。

英文なら一文の最初の文字を大文字にするだけである。しかし、SKKのロー マ字入力ではしょっちゅう(かな漢字変換のとき)シフトキーが必要になる。 アルファベットを打つ手指の反対の小指が瞬時に動くようでなければならな い。押しにくい位置のシフトキーを小指で押しながらアルファベットキーを 押すと、どうしてもモタついてしまう。

スラスラ言葉が浮かぶのに入力の手指が追い付かないならじれったい。ここ を漢字にしようかなと思考が止まるときに手指の動きがモタついても、それ ほどじれったくはない。SKKを使う以上は仕方ないとあきらめる。

SKKで入力するとき、ここを漢字にしたいと思ったらその場所で漢字変換し なければならない。他のかな漢字変換のように、一文の最後までのかな文字 列を入力してから一括変換することはできない。

その場で漢字変換することは、漢字混じり文を手書きするときと同じであ る。とりあえずひらがなで書き下したあとで、消しゴムを使いながらひらが なを漢字に置き換えるなんてことはしない。漢字が思い出せないときは止む を得ずひらがなで書くこともある。憶えている漢字ならその場で直に書く。 パソコン入力のかな漢字変換は、手書きでは有り得ない手順で漢字化してい るのである。

SKKを使って不自由なく日本語が書ける(打ち込める)ようになってからSandS を知る。二つのSはshiftとspaceに由来する。スペースキーを押しながら文 字キーが押されたときはスペースキーと文字キーが同時押しされたと見る。 スペースキーが単独で押されたときはスペースキーと判断する。そのための 待ち時間がある。他のキーが同時押しされなかったらスペースを出力する。

SKK使いにとってSandSはトーッテモ便利である。シフトキーに小指を伸ばさ なくて済む。ホームポジションに親指以外の四指を置いておればスペース キーの位置を探すことはない。親指は、いつもホームポジションのスペース キーにある。さらに左右どっちの親指で押そうかと迷うことがない。不思議 なことに、意識しなくても自然にアルファベットキーを押す手とは反対の手 の親指を使っている。

SandSを使うために最初に使ったキーボードカスタマイズツールは「猫まね き」だった。

猫まねきは、パソコンをwindows me機からwindows7機に乗り換えた時点で使 えなくなった。windowsのセキュリティ強化のためらしい。SandSがないと不 自由なので「DvorakJ」を使い始める。

DvorakJで快調にいってたけれど、パスワード管理ソフトKeePass-1.26でID やパスワードを自動入力しようとしてコケた。自動入力でログイン画面に入 力されたIDやパスワードのアルファベット大文字が小文字になってしまう。 自動入力でログインできない。原因が分からない。仕方なく、キーパスを KeePass-2.24に変更したらトラブルが解消した。

以前に何かの入力でアルファベットの大文字が入力できないことがあったこ とを思い出す。そのときDvorakJを停止したら解消したとの記録がある。そ こでDvorakJを停止してKeePass-1.26の自動入力を試す。アッサリ正常にロ グインできる。そこでDvorakJの元祖らしいAutoHotkeyに換えてみる。

SandSが出来るようにするため、今までにもAutoHotkeyを検討している。し かし、「猫まねき」やDvorakJに比べてAutoHotkeyは敷居が高いツールであ る。そのために近付けなかった。手軽なもので済ませてきた。「猫まねき」 やDvorakJは、インストールすればすぐ使える。設定ダイアログのラジオボ タンの入り切りくらいの簡単な操作でよい。それに対してAutoHotkeyは、 ツールをインストールしただけではSandSを実現できない。

AutoHotkeyでやりたいことをプログラム(スクリプトと呼ばれるテキスト ファイル)に書かなければならない。スクリプトは色々なものがネット上に 公開されている。それをメモ帳にコピペしてファイル保存すればよい。 AutoHotkeyとスクリプトはそれぞれ個別に用意しなければならない。

どうやったら動かせるのか分からないAutoHotkeyをインストールするのは気 が引ける。ネット経由でダウンロードしたスクリプトがちゃんと動くのかの 不安もある。ツールとスクリプトを揃えたとしても、ちゃんと動く確証はな い。思案投げ首でネットを探していて次の記事を見つける。

カーソルキー、テンキー、SandSを組み込んでみました。
AHk.zip
AHkをインストールして設定ファイルを入れ替えて下さい。インストールが 嫌な人はexeファイルも入れてあるので、それを実行したら設定してある機 能が使えます。
設定用のテキストファイルもこちらに置いておきます。 (引用終わり)

なんと、AutoHotkeyの実行ファイルとスクリプトがセットで配布されてい る。これなら絶対に動くだろう。新しく物事を始めるにあたって一番大事な ことは、取っ付きで成功することである。先が見えない失敗続きほど惨めな ことはない。成功体験があればこそ次の困難に耐えられる。一度も成功して ないと気力が萎えてしまう。アキラメムードになったらどうしようもない。 先ずは成功の雰囲気にひたることが必須である。ニンゲンは、ちょっと褒め られるとすぐその気になることに似ている。よっぽど強い動機がないかぎり 失敗から始まるとメゲる。最初のちょっとした成功が困難に立ち向かえる成 長の原動力になる。

AHk.zipを解凍したみると二つのファイルahk.exe, AutoHotkey.ahkが入って いる。さっそくahk.exeをダブルクリックする。タスクバーにアイコンが現 われる。常用のテキストエディタvimのSKKで日本語入力してみる。ちゃんと SandSが動作している。escキーを押してvimをコマンドモードにする。vimエ ディタを終了するコマンド「:q」を打とうとするのだが、コロンが入力でき ない。これには慌てる(vimを使っている私にとってダイモンダイである)。

メモ帳に、コロンを入力しようとしても効かない。コロンが、カーソルより 前の文字を消すバックスペースのように働いているようだ。AHk.zipの配布 元である上記ホームページの記事やAHk.zipの付属スクリプトファイル AuoHotkey.ahkを読み返す。どうやらコロンにバックスペースがキーバイン ドされているらしい。肝腎のコロンは「無変換+s」を使うようになってい る。ナントイウコトダ!!

さしあたって必要なSandS関連の部分だけを付属のスクリプト AutoHotkey.ahkに残して他を削除する。そうすると、SandSは動くしコロン も入力できる。さっそくトラブったパスワード管理ソフトKeePass-1.26の自 動入力を試してみる。アルファベット大文字が小文字で入力される不都合は アッケナク解消された。

その後に、AutoHotkey本家の派生版と言われるAutoHotkey_La.zipをダウン ロードする。この中にはAutoHotkey.exeが一個含まれるだけである。バー ジョンはwindowsのエクスプローラ(ファイラー)のファイルのプロパティで しか分からない。プロパティから1.1.13.1と知る。

上記わっしゅばーんさんのサイトからダウンロードしたahk.exeのバージョ ンは1.1.09.03とある。こちらが少しばかり古いのかな?新たにダウンロー ドしたほうを起動する。タスクバーのアイコンを右クリックして出るメ ニューの項目が増えている。

本家からダウンロードできるのはインストーラ版だけなので試してない。派 生版サイトにはインストール版及び単体バイナリのzip版がある。

(注)パスワード管理ソフトKeePass-1.26の自動入力のトラブルからDvorakJ をやめてAutoHotkeyに移行した。AutoHotkeyは前々から知っていたけれど、 それが洋物であること、そしてスクリプトを自前で用意しなければならない ことから遠巻きに見ていた。色々なソフトがあったら、どうしても手軽なも のを選んでしまう。インストールするだけで使えるものになる。DvorakJに 換わるものを探すしているうちにAutoHotkeyに行き着く。
SandSだけはぜひとも使いたい。指がSandSに慣れてしまっている。シフト キーを使う場面でスペースキーを押してしまうエラーがしょっちゅうある。 そこでAutoHotkeyに短かいSandSのスクリプトを実行させる。そうすると KeePass-1.26の自動入力で問題が出ない。問題を回避することは出来たけれ ど、DvorakJの何が悪いのかが気になる。
そこでDvorakJの解説を読み直す。DvorakJがAutoHotkeyで動いていることに ようやく気付く。どうやらDvorakJの全部がAutoHotkeyのスクリプトであ る。DvorakJとは別物なAutoHotkeyくらいの認識だったが、実は同じもので あった。DvorakJは超ヘヴィー級なAutoHotkeyのスクリプトである。私が新 たに使い初めたAutoHotkeyのスクリプトは、SandSと数個のキー入れ換えだ け入った超ライト級である。その重さの違いで、KeePassで不都合が出たり 出なかったりするのではなかろうか。複雑なスクリプトほどバッティング (butting、衝突、干渉)が起こりやすい?(注終わり)

| | コメント (0) | トラックバック (0)

« 2014年8月 | トップページ | 2014年10月 »