かな配列から漢直を呼び出す

KanchokuWS (漢直WS) では、複数キーの同時押しに漢直配列(複数キーの順次打鍵)の呼び出しを割り当てることで、 かな配列と漢直配列を同時に使用することができるようになります。

以下のような矢印記法の拡張記法を用います。

  • -X,Y>|
    | の直前までを同時打鍵として判定し、それに続くブロック内を順次打鍵として判定する

以下は「I, O」 の同時押しで漢直配列(順次打鍵)に移行する例です。

#combination
-I,O>|
{
  -S,W>恋
  -S,E>人
}
#end combination
「I, O」の同時押しで漢直配列(順次打鍵)に移行

この方式は分かりやすいのですが、「I, O」を単打のつもりでロールオーバー打ちをしただけでも「同時押し」と判定されて漢直配列に移行してしまうのが難点です。これを避けるには、次の記法を用いるとよいでしょう。

  • -X,Y>||
    || の直後のキーまでを同時打鍵として判定し、それに続くブロック内を順次打鍵として判定する

以下は「I, O」 の同時に押しながら、さらに「S」を押すことで漢直配列(順次打鍵)に移行する例です。

#combination
-I,O>||
{
  -S>{
      |  |  |  |  |  |  |  |  |  |
      |恋||  |  |  |  |  |  |  |
      |  |  |  |  |  |  |  |  |  |
      |  |  |  |  |  |  |  |  |  |
  }
}
#end combination
「I, O」を同時押ししつつ、さらに「S」を押す
次に「W」を押すと「恋」が出力される

つまり「I, O, S」の3打鍵同時押しをすることで漢直配列を呼び出すようになるわけです。この場合、「I, O」の2打鍵同時押しだけでは漢直配列は呼び出されず、「I」と「O」の単打の連続と判定されます。

また「I, O」を押しっぱなしにすることで、連続的に漢字入力を行うこともできます。上の例だと、「I, O」を押し続けながら、「S, W」と押下することで「恋」を、さらに「S, E」と押下することで「人」を入力することができます。

以下に「薙刀式v15(fix版)」から、常用漢字上位頻度300字を呼び出せるようにした定義ファイルを置いておきます。これを KanchokuWS の「tables/かな系/」配下に適当なファイル名(naginata15.kanji.tbl など)で保存して、主テーブルファイルで設定してみてください。

#define display-name "薙刀式配列v15(fix版) w/ 漢直"

;;***********************************************
;; 縦書き用の定義ファイルを読み込む
;;***********************************************
#include "naginata15fix.tbl"


;;***********************************************
;; 「I, O」と「W, E」の同時打鍵をトリガーとする漢直
;;***********************************************
;; '||''|' にするとワンショットになる

#combination
-I,O>||
{
 -F>{
    |  |  |  |  |  |  |  |  |  |
    |人||日|  |  |  |大||  ||本||子||国||上||生||自||者||間||思||気|
 }
 -D>{
    |  |  |  |  |  |  |  |  |  |
    |会||家|  |  |  |女||  ||的||入||地||後||長||代||下||部||物||田|
 }
 -S>{
    |  |  |  |  |  |  |  |  |  |
    |何||彼|  |  |  |話||  ||社||理||内||心||高||作||新||今||度||五|
 }
 -A>{
    |  |  |  |  |  |  |  |  |  |
    |戦||名|  |  |  |金||  ||意||男||通||文||感||業||政||道||取||現|
 }
 -E>{
    |  |  |  |  |  |  |  |  |  |
    |最||四|  |  |  |先||  ||不||川||相||法||聞||野||向||成||開||経|
 }
 -W>{
    |  |  |  |  |  |  |  |  |  |
    |信||以|  |  |  |語||  ||問||顔||機||次||美||食||八||水||真||界|
 }
}

-W,E>||
{
 -J>{
    |  |  |  |  |  |  |  |  |  |
    |無||要|  |  |  |海||  ||切||天||記||集||員||公||死||兵||六||決|
 }
 -K>{
    |  |  |  |  |  |  |  |  |  |
    |太||衛|  |  |  |強|使|  ||朝||島||市||様||活||題||組||白||説||能|
 }
 -L>{
    |  |  |  |  |  |  |  |  |  |
    |京||第|  |  |  |流||  ||足||在||調||品||議||着||別||音||元||特|
 }
 -$;>{
    |  |  |  |  |  |  |  |  |  |
    |義||利|  |  |  |制||  ||北||車||夜||母||助||産||件||番||付||半|
 }
 -I>{
    |  |  |  |  |  |  |  |  |  |
    |戸||空|  |  |  |有||  ||殺||運||料||返||論||際||色||歩||悪||店|
 }
 -O>{
    |  |  |  |  |  |  |  |  |  |
    |反||形|  |  |  |百||  ||勝||土||由||都||江|
  西|売||確||張||馬||待|
 }
}
#end combination

この記事が気に入ったらサポートをしてみませんか?