blechmusikの日記

キー・カスタマイズ・ソフトウェア "DvorakJ" の覚え書きをはじめとして様々なことを書いています。

直接入力用配列と日本語入力用配列のオプションを柔軟に設定できるようにした

-option というオプションを設定しているときには、複数のキー・ストロークをまとめて設定できるようにした。まず、"|" により文字列を左右に分割する。その左側に置き換えする対象の文字*1を記述し、右側には置き換え後の文字を記述する。このオプション内部の設定では、該当する設定項目があればその設定項目をも置き換えるようにした。
例として、月配列(2-263式)の新しい設定ファイルを以下に示す。-option 内で "[d]"には"-20"を、"[k]"には"-25"を割り当てる。その上で、各オプションとして "[d]" と "[k]" を記述する。このように、-option で割り当てられた文字列が各オプション内にあるときは、割り当てた文字列へと置き換える。ここでは、"[d]"を"-20"とし、"[k]"を"-25"とする。

順に打鍵する配列

/*
 * 月配列(2-263式)
 * http://jisx6004.client.jp/tsuki.html
 */

-option[
    [d] | -20
    [k] | -25
]

/* 単打 */
[
1|2|3|4|5|6|7|8|9|0|  |  |  |
そ|こ|し|て|ょ|つ|ん|い|の|り|ち|  |
は|か|  |と|た|く|う|  |゛|き|れ|  |
す|け|に|な|さ|っ|る|、|。|゜|・|
]

[d][
  |  |  |  |  |  |  |  |  |  |  |  |  |
  |  |  |  |  |ぬ|え|み|や|ぇ|「|  |
  |  |  |  |  |ま|お|も|わ|ゆ|」|  |
  |  |  |  |  |む|ろ|ね|ー|ぉ|
]

[k][
  |  |  |  |  |  |  |  |  |  |  |  |  |
ぁ|ひ|ほ|ふ|め|  |  |  |  |  |  |  |
ぃ|を|ら|あ|よ|  |  |  |  |  |  |  |
ぅ|へ|せ|ゅ|ゃ|  |  |  |  |  |  |
]

つぎに、DvorakJP の設定ファイルを示そう。"{p}"に"-13"を割り当てるなどする。そして、"Hグループ"に"{p}"などを割り当てる。この"{p}"は"-13"のことだから、実際には、"Hグループ"に"-13"などを割り当てる、ということだ。"3打目の拗音拡張と撥音拡張"についても、"Hグループ"と同様の方法で文字列を割り当てる。結果として、以前と比べると、DvorakJP の設定ファイルの内容を大幅にまとめることができた。

順に打鍵する配列

/* 
 * DvorakJP
 * http://www7.plala.or.jp/dvorakjp/
 */

-option[
    /* 上段 */
        {p} | -13
        {y} | -14

        {f} | -15
        {g} | -16
        {c} | -17
        {r} | -18
        {l} | -19

    /* 中段 */
        {d} | -23
        {h} | -24
        {t} | -25
        {n} | -26
        {s} | -27

    /* 下段 */
        {q} | -2D
        {j} | -2E
        {k} | -2F
        {x} | -30

        {b} | -31
        {m} | -32
        {w} | -33
        {v} | -34
        {z} | -35

    /* 「 H 」キーをコンビネーションキーとして使う */
        Hグループ | {p}, {r}, {l}
        Hグループ | {n}, {s}
        Hグループ | {q}, {j}, {x}, {w}, {v}, {z}

    /* 「 N 」キーをコンビネーションキーとして使う */
        Nグループ | {f}, {g}
        Nグループ | {d}, {h}, {t}
        Nグループ | {b}, {m}

    /* 3打目の拗音拡張と撥音拡張 */
        3打目の拗音拡張と撥音拡張 | {p}{h}, {r}{h}, {l}{h}
        3打目の拗音拡張と撥音拡張 | {n}{h}, {s}{h}
        3打目の拗音拡張と撥音拡張 | {q}{h}, {j}{h}, {x}{h}, {w}{h}, {v}{h}, {z}{h}

        3打目の拗音拡張と撥音拡張 | {f}{n}, {g}{n}, {c}{n}
        3打目の拗音拡張と撥音拡張 | {d}{n}, {h}{n}, {t}{n}
        3打目の拗音拡張と撥音拡張 | {b}{n}, {m}{n}

    /* C キーを使用する 3 打以上の拗音拡張と撥音拡張 */
        C関連 | {c}{y}, {c}{h}
        C関連 | {c}{c}{y}, {c}{c}{h}, {c}{c}{n}
]

/* 単打 */
[
1|2|3|4|5|6|7|8|9|0|「|」|  |
’|、|。|p |y |f |g |  |r |l |・|=|
a |o |e |u |i |d |h |t |n |s |ー|`|
;|q |j |k |x |b |m |w |v |z |¥|
]


{y}, 3打目の拗音拡張と撥音拡張, C関連 [
   |   |   |   |   |  |  |  |  |  |  |  |  |
ai |ou |ei |   |   |  |  |  |  |  |  |  |
   |   |   |   |   |  |  |  |  |  |  |  |
ann|onn|enn|unn|inn|  |  |  |  |  |  |
]

Hグループ[
   |   |   |   |   |  |  |  |  |  |  |  |  |
ai |ou |ei |   |   |  |  |  |  |  |  |  |
   |   |   |   |   |  |y |  |  |  |  |  |
ann|onn|enn|unn|inn|  |  |  |  |  |  |
]

Nグループ[
   |   |   |   |   |  |  |  |  |  |  |  |  |
ai |ou |ei |   |   |  |  |  |  |  |  |  |
   |   |   |   |   |  |  |  |y |  |  |  |
ann|onn|enn|unn|inn|  |  |  |  |  |  |
]

/* c */
{c}[
    |    |    |    |    |  |  |  |  |  |  |  |  |
kai |kou |kei |    |ky  |  |  |  |  |  |  |  |
ka  |ko  |ke  |ku  |ki  |  |ch|  |ky|  |  |  |
kann|konn|kenn|kunn|kinn|  |  |  |  |  |  |
]

{c}{c}[
     |     |     |     |     |  |   |  |   |  |  |  |  |
kkai |kkou |kkei |     |kky  |  |   |  |   |  |  |  |
kka  |kko  |kke  |kku  |kki  |  |cch|  |kky|  |  |  |
kkann|kkonn|kkenn|kkunn|kkinn|  |   |  |   |  |  |
]

この設定方法をきちんと説明するには、それなりに長い文章を書くことになるだろうか。ヘルプページにこの機能の解説を記述しよう。

*1:☆や♡などの記号でもよい。