カテゴリ「親指シフト/NICOLA」の記事 (3)

2015年8月23日

 今日アップしたブログに合わせて、このページのサブタイトルを〔親指漢直(NICOLA)篇〕に変更する。練習を始めて三週間になるが、実はあまり速くなっていない。それでも、たまにG-Codeで入力すると仮名の2ストロークが重いと感じることはある。

 来月は〔親指漢直(JIS仮名)篇〕だ。ルールが単純明快なので、多分こっちのほうが僕には向いているような気がする。

2015年8月18日

 ローマ字入力の場合、仮名漢直のように“漢直読み”を混ぜて変換することはできないが、ローマ字テーブルに漢直用のエントリーを加えることならできる。当然、既存のローマ字と衝突しないように漢直の第1打を親指シフトにする必要がある。

 左右の親指シフトキーの割り当てはDvorakJでやるので具体的なキーを気にする必要はない。文字キーは英字配列に依存するので、少なくともQwerty配列用とDvorak配列用の2種類の漢直用のテーブルを作っておかねばならない。既存のローマ字テーブルをエクスポートして、それに漢直用のテーブルを追加したものをインポートするという手順になる。

 導入方法はかなり面倒になるが、Google日本語入力のローマ字テーブルで設定可能なものであれば何でもよい。例えば、AZIK・SKY配列・花配列系・月配列系などと組み合わせることも可能なはずだ。

〔単語登録〕

2015年8月16日

 打ちにくいと思うたびに“漢直読み”で登録してきた単語が200語を越えた。この程度では中途半端なので、もっと語数を増やしてから公開した方がいいような気もするが、そうすると、辞書を見て「こんなに覚えなくてはならないのか」と思ってしまう人がいるかもしれない。単語登録は自分でやってもらった方がいいのではないだろうか。

〔単語登録〕, 半端

2015年8月12日

 「おやゆび」がどうも打ちづらかったので漢直読みを辞書に登録。慣れていないせいかもしれないが、シフト打鍵が続くときは漢直の方が楽な気がする。これまで通り「おやゆび」でも変換できるので、楽だと思う方で打てばよい。

〔単語登録〕親指

2015年8月8日

 アルファベットの全角大文字を入力しようとして[SHIFT]で打つと仮名になってしまう現象が発生。ローマ字テーブルに次のようなダミー行を入れて解決したけれども、全角小文字は半角英数モードで入力した後に全角変換するしかなさそうだ。

A	A

――と思ったら、普通に打って[F9]を叩いたほうが簡単だった。

〔単語登録〕現象

2015年8月6日

 だいぶ親指シフトには慣れてきたが、変換ミスを見過ごして確定したときに、間違っている文字だけ打ち直したくてイライラする。そこで、親指シフトには使っていない[変換]キーを漢直用にしてみた。DvorakJの設定で第三の同時打鍵には'õ'を先頭に付け、ローマ字テーブルにG-Codeの定義を追加した。Qwerty配列用のテーブルの行頭に'õ'を入れるだけの簡単な作業。

 どうせなら、3ストロークの連打を短縮してしまおうと思いついて、中段の[tab]を第三の同時打鍵('õ')、上段の[変換]を第四の同時打鍵('ö')にして、[変換]との同時打鍵を3ストローク短縮入力に使うようにした。いちいち同時打鍵するのは面倒だが、一字だけ打つときにはちょうどいい感じだ。

〔単語登録〕行頭

2015年8月2日

 “「親指漢直」始めました。”に書いたように、最近また親指シフトの練習をしている。

 Perlで機械的に作った辞書には余分な漢字も入っているので、つい漢直で打ってしまう。今はその方が楽だし速いのだが、そんなことをやっていては練習にならない。そこで、漢直用の辞書を全部削除した。本当に必要な単語だけをこつこつ登録していこうと思う。

 Trulyのキーボードを使っているので、左親指は[無変換]、右親指は[space]としているが、通常のキーボードでは右親指は[変換]の方が打ちやすいだろう。そうすると真ん中の[space]が別の目的に使えることになる。ここに何かを入れるとすれば、やはり「Picasso」しかない。

 ただし、先行入力によって入力内容を変えることはできないので、単純に仮名文字列の短縮入力のような形になるだろう。Trulyの中央にある[変換]と[tab]を使って、そのうち試してみようと思う。

〔登録単語〕練習, , , 通常, 入力, 単純, 短縮,


[ 日記の目次 | 前の回 | 次の回 | G-Code (目次) | m(as)m's home position ]

これまでの経緯

親指シフトのローマ字入力化

 そのようなわけで、仮名モードでは「。」と「.」の区別ができないようなので、ローマ字入力で打ち分けてはどうかと考えた。

 いつも使っている「DvorakJ(※1)に入っていた“NICOLA配列(無変換、SPACE).txt”も試してみたが、やはりどうも句読点がうまくいかない。(詳しいことはよく分からないが、句読点などのキーは、WindowsかIMEの内部で他のキーとは異なる扱いになっているような気がする)

 そこで、IMEのローマ字テーブルを白紙に戻して以下のエントリーを入れて試してみた。(このとき、Microsoft IMEには、入力に'a'~'z'以外を入れられないなどの制限があることが分かった。以下は全てGoogle日本語入力で試した結果だ)

(表1)Google日本語入力の「ローマ字テーブル」の例

入力出力
q
p
@
z
,
.
/

 このように設定しておけば、IMEの側で余計なことをされなくなるようだ。このやり方で、全打鍵パターンをローマ字として区別できるようにすればいいはずだ。

 試行錯誤の結果、以下のような設定内容になった。

〔前略〕

/* 文字キーを単独で入力 */
[
1|2|3|4|5|6|7|8|9|0|{-}|{^}|{\}|
q|w|e|r|t|y|u|i|o|p|{@}|{[}|
a|s|d|f|g|h|j|k|l|;|{:}|{]}|
z|x|c|v|b|n|m|,|.|/|ô{\}|
]


/* [無変換] + 文字キー */
-muhenkan[
ò1|ò2|ò3|ò4|ò5|ò6|ò7|ò8|ò9|ò0|ò{-}|ò{^}|ò{\}|
òq|òw|òe|òr|òt|òy|òu|òi|òo|òp|ò{@}|ò{[}|
òa|òs|òd|òf|òg|òh|òj|òk|òl|ò;|ò{:}|ò{]}|
òz|òx|òc|òv|òb|òn|òm|ò,|ò.|ò/|òô{\}|
{無変換}|
]


/* [space] + 文字キー */
-space[
ó1|ó2|ó3|ó4|ó5|ó6|ó7|ó8|ó9|ó0|ó{-}|ó{^}|ó{\}|
óq|ów|óe|ór|ót|óy|óu|ói|óo|óp|ó{@}|ó{[}|
óa|ós|ód|óf|óg|óh|ój|ók|ól|ó;|ó{:}|ó{]}|
óz|óx|óc|óv|ób|ón|óm|ó,|ó.|ó/|óô{\}|
{space}|
]

〔後略〕

 これを「日本語入力用配列」に入れて選択すると、同時打鍵したアルファベットの前に「ò」や「ó」がつく。この同時打鍵込みの情報をIMEに伝えることができるので、それぞれの文字列と文字の対応をローマ字テーブルで設定すればよい。

 次に、Google日本語入力用のローマ字テーブルを作る。

〔前略〕

1	1
2	2
3	3
4	4
5	5
6	6
7	7
8	8
9	9
0	0
-	-
^	^
\	¥
q	。
w	か
e	た
r	こ
t	さ
y	ら
u	ち
i	く
o	つ
p	,
@	、
[	゛
a	う
s	し
d	て
f	け
g	せ
h	は
j	と
k	き
l	い
;	ん
:	:
]	〃
z	.
x	ひ
c	す
v	ふ
b	へ
n	め
m	そ
,	ね
.	ほ
/	・
ô\	\
#
# 先頭の'ò'で右親指との同時打鍵を表す
#
ò1	?
ò2	/
ò3	~
ò4	「
ò5	」
〔中略〕
òn	ぷ
òm	ぞ
ò,	ぺ
ò.	ぼ
ò/	ゎ
òô\	_
#
# 先頭の'ó'で右親指との同時打鍵を表す
#
ó1	!
ó2	”
ó3	#
ó4	$
ó5	%
〔中略〕
ón	ぬ
óm	ゆ
ó,	む
ó.	わ
ó/	ぉ
óô\	●

 これを、Google日本語入力のローマ字テーブルにインポートする。(「ツール」アイコン→「プロパティ」→「一般」タブ→「キー設定」→「ローマ字テーブル」→「編集」→「編集」→「インポート...」)

 そして、「基本設定」の3項目を以下のように設定する。

(表2)Google日本語入力の「基本設定」
ローマ字入力・かな入力ローマ字入力
句読点,.
記号「」・

 これで、普通に(親指シフトで打って仮名漢字変換で)入力できる状態になった。

 今回はNICOLA-J用のローマ字テーブルを作ったが、他の仮名配列やローマ字入力にも応用できる。例えば、JIS仮名やAZIKなどの拡張、TRONカナ配列やM式などのエミュレーションにも使えるだろう。

 ここまでの内容は、大きな変更をすることはなさそうなので、“親指ローマ字化セット”として公開する。(興味のある方はダウンロードしてお試しください)

 このまま親指シフトだけを使っていただいても差支えはないけれども、一度、軽い気持ちで漢直も試してみてほしい。このやり方ならば、打鍵表にぎっしり並んだ漢字を見て挫折するような心配はない。

親指シフトの漢直化

 さて、いよいよ漢直化だ。漢直化といっても、何も難しいことはない。適当なユーザー辞書を作って単語登録していくだけのことだ。

(表3)単語登録例(修正前)
読み単語品詞
いいせ6か漢字名詞
く.7。直接名詞
んひめて入力名詞サ変

 ところが、「7。」と打つと「7.」に化けてしまう。普通は、数字の直後の「。」が「.」になるの便利なのだが、漢直のストロークの中の「。」が変わるのは困る。

 数字の後の「。」を「.」にするオプションがあれば無効にできるのだが、見当たらなかったので、漢直の「。」を全部クロスシフトの「ゐ」に変更した。少し面倒になるが違う漢字になるよりはいい。ついでに3ストロークの最初の2連打を同側シフトにしてみた。

(表4)単語登録例(修正後)
読み単語品詞
ょせ6か漢字名詞
く.7ゐ直接名詞
んひめて入力名詞サ変

 これで入力してみた結果は以下のとおり。

(表5)入力例
  変換前後の文字 備考
変換前
(親指シフト)
かんじ ちょくせつ にゅうりょく できます。 20文字
+9シフト
=29キー
変換前
(親指漢直)
ょせ6か く.7ゐ んひめて できます。 18文字
+5シフト
=23キー
変換後 漢字 直接 入力 できます。 12文字
=6漢字
+5仮名
+1記号

 「打鍵数」や「ストローク数」という用語には曖昧な点があるので、入力に使った文字キーとシフトキーの合計を入れてみた。(これなら誰が数えても同じになるだろう)

「親指漢直」用ユーザー辞書の作り方

 以下の例では「ユーザー辞書」にそのまま登録しているが、通常のユーザー辞書とは別に「漢直読み」用の辞書を作っておいた方がいい。(「ツール」アイコン→「辞書ツール」→「管理」→「辞書を作成...」)

  1. 漢直で打ちたい単語をコピーして「漢索窓」(※2)にペーストをダブルクリックまたは右クリックする(以下は「入力」を例にする)
    図1:「漢索窓」で「入力」の打ち方を表示 (赤:1打目、緑:2打目)

  2. 単語を選択した状態で、Google日本語入力の「ツール」から「単語登録」を開く
    図2:「入力」を単語登録(修正前)

  3. 「漢索窓」に表示されている打ち方を見ながら「よみ」と「品詞」を修正して「OK」をクリック
    図3:「入力」を単語登録(修正後)

 こんな感じで、少しづつ漢字を登録していけば、親指シフト入力がさらに楽になるだろうと思う。

これからの予定

 実は、手作業で登録するのは面倒なので、Perlの一括処理で作ったデータをユーザー辞書にインポートして試している。

 これは「仮名漢直」のためにつくったPerlスクリプトで、基本語彙の入った著作権フリーの辞書テキストの「読み」を「漢字読み」に差し替えるというものだ。むやみに「漢直読み」で変換されるのを抑えるために、IMEに合わせて置換した「品詞」も出力するようにしてある。

 ただ、この辞書は単純に機械的な処理で作ったので、改善すべき点がいくつもある。

  1. 通常の「読み」と一致する「漢直読み」の単語があると、変な漢字に変換されてしまう
  2. 通常の「読み」よりも「漢直読み」の方が長くなる単語が入っているのは無駄だ
  3. 同音異字の単語の「漢直読み」が登録されているとは限らない

 1. と 2. は機械的に処理できそうだが、3. は使いながら手動で登録していく方がいいかもしれない。

 親指シフトと漢直が併用できることは分かったので、今後はなるべく親指シフトで入力しながら、辞書の内容を調整していこうと思う。


(※1)

  • 「DvarakJ」は、キー配列を自由にカスタマイズできるWindows用のキー配列変更ソフト。
  • Dvorak配列以外の多様な配列に対応していて、日本語入力用の設定の中には親指シフト用のものがいくつか入っている。

(※2)

  • 「漢索窓」は、漢字の打ち方を図示する補助ソフト。Windows用の漢直入力ソフト「漢直Win」に同梱されている。
  • 「漢直Win」の設定ファイル‘kanchoku.ini”を共用しているが、「漢索窓」だけを単体で使うこともできる。
  • T-code用の“t.tbl”、TUT-code用の“tut.tbl”など各種漢直用の設定テーブルが入っている。
  • 説明ではG-Codeを使っているけれども、どの漢直でも同じやり方でユーザー辞書への登録ができる。

20年前の宿題

 この難問にぶつかったのは、かれこれ20年ほど前の漢直オフの席上だったように記憶している。まだパソコン通信の時代で、Windows 95が出るか出ないかという頃の話だから、NIFTY-Serveのキーボード会議室(FKEYBORD)だったかもしれない。

 親指シフトを使っているライターの方からの「漢直をやってみたいが仮名が2ストロークになるのは困る。何とかならないか」という要望を聞いて、何とかならないだろうかと考えてみた。しかし、「仮名は親指シフトで漢字は2ストローク直接入力」というのは、ちょっと無理な話だ。普通に考えれば、親指シフトモードと漢直モードを切り換えるとか、漢直の打鍵を何か別のキーでシフトするとかしなければならないだろう。

 それを実際に試したのは、1999年の12月。キー入力をフックしてIMEの未変換文字列に文字を送り込む「漢ナビ」という自作ソフトを改造して、仮名を(無変換/変換で)親指シフト入力し、スペースとの同時打鍵を漢直の第1打鍵とするように設定していた。

12月 1日

 発作的に親指シフトの練習を始めてから一ヶ月あまりが過ぎた。今では仮名の入力にはG-Codeを使わず、親指シフト+漢直+仮名漢で入力できるようになっている。漢字の打鍵は少し重くなったが、予想していたほど気にならない。たまに親指シフト抜きのG-Codeを使ったときに、漢字を直接入力しようとして、ついうっかりスペースを同時打鍵してしまうほどだ。

「G-Code」日記(第41回)

 しかし、その半年後には、こんなことを書いているので、あまり使いやすくなくて、やめてしまったようだ。

 以前、親指シフトとG-Codeの組み合わせを試したことがある。仮名の入力を楽にしようと思ったからだ。親指シフトは普通通りに(無変換/変換キーを親指シフトキーとして)打鍵し、漢字はG-Codeで(第1打鍵をスペースと同時打鍵して)直接入力する。確かに仮名の入力は楽になったが、漢字の入力が少し重くなることと、G-Codeで仮名と記号を割り当てた中段・上段の左右交互打鍵が遊んでしまうのが難点だった。

「G-Code」で速記を (2000-06-12)〕

 おそらく親指シフトユーザーにとっては、漢直の第1打を親指でシフトするぐらいは何でもないことだろう。ところが、それまで漢直のリズムに慣れていた僕には、その違いが大きかったのだと思う。

仮名漢直という抜け道

 先日、「そこで仮名漢直ですよ。」を書いたときには、もちろんこの宿題のことが念頭にあった。最初は親指シフトでも試してみようとしたけれども、いくつか難点があったのでJIS仮名を使って実験してみたのだ。

 2文字以上続く漢字(熟語)のストロークを仮名表記にすると、既存の「読み」と衝突することはめったにない。仮名漢直は、その「読み」を使ってユーザー辞書に登録することで仮名入力と漢直を併用する方法だ。だから、読みの中に句読点が入っていると期待通りに変換されないおそれがある。

 「読み」の中に句読点やカンマ・ピリオドが入っていても正常に変換できるかどうかを試してみたところ、結果は以下のようになった。

IME 辞書への登録 入力時の打ち分け 変換時の扱い
Google日本語入力
(1.13.1641.0)
二者択一(※1) 制限あり(※2)
Microsoft IME
(10.1.7601.0)
二者択一(※1) 制限あり(※2)
ATOK 2015
(試用版)
不可 (不可)

(※1) 「。」か「.」、「、」か「,」のどちらか一方しか使えない
(※2) 「単漢字」、「独立語」、「短縮よみ」等の特定の品詞でしか変換できない

 登録できても打ち分けられないか、打ち分けられても登録できないかのどちらかしかない。これは困った。

 しかし、Google日本語入力のローマ字に漢直を入れる場合は、オプションで(句読点「,.」、記号「[]/」などと)設定しておけば、ローマ字テーブルで設定した通りに句読点や記号が打ち分けられる。それなら、親指シフトの仮名配列をローマ字入力として設定してやればうまくいくのではないかと思い付いた。

 宿題の面白い答えがひとつ見えてきた。この続きはまた後で。

カレンダー

<   2016年12月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最近のツイート

最近のコメント

このページについて

このページには、過去に書かれたブログ記事のうち、カテゴリ「親指シフト/NICOLA」に属しているものが含まれています。

最近の記事はメインページで、過去の記事はアーカイブで閲覧できます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。
Powered by Movable Type 4.261