カスタマイズ

 

 カスタマイズするには、これまでに登場した『プログラム・コード』『プログラム・コードの説明』『キー名一覧表』を参照することをお忘れなく。
 それではまず、カスタマイズ中のキモ、肝心中の肝心、“キーの入れ替え”から説明していきます。(ちなみに、本文章中ではhtmlの表示の都合で、コードの半角スペースの所に全角スペースを使っています。そのため本文章中のコードをコピペしても正しくは使えません。コードは、プログラム・コード本体のものをお使いください。)
 入れ替えるべきキーは、メインのテンキーが10個、補助的キーが26個(“おまけ”の『Tab』キーを含めると、27個)(この内数字のためのテンキーが11個)です。これらはまた、単独で働くキーが22個(同、23個)(11個の数字のためのテンキー含む)、ThisHotkeyと連動して働くキーが14個(10個のメインのテンキー含む)という内訳となっております。(数字関係のテンキーは、Num Lockキーで切り替えられるため、キーボード上のキー数の二倍にカウントされる。)

 

1401

 

 『図.1』のキーボードは私が実家で使用しているものですが、横幅が圧縮されているため、キーの配列が若干ズレています。すなわちこのキーボードでは、「↓」→「x」、「0」→「↓」と、変換されるようになっているのです(私の使っているIMEでは、漢字変換の部分確定を「↓」キーで行っているため、「↓」キーは不可欠のキーです)。
 従って、私の実家用にコードを書き直すためには、元のコードでは「x」は「→」ですから、「→」を「↓」に書き直す必要がある。同様に、「↓」の役を「0」に割り振る必要がある(元のコードで「0」が担っていた「→」の役割は、「x」の書き換えの時「→」がお役御免になっていますから、本来の「→」が取り戻しています)。――これらの内、「0(↓)」キーが単独で働くキー、「↓(x)」キーが連動して働くキーに当たります。
 まずは単独で働くキーのカスタマイズですが、これは極めて簡単です。これらは、プログラム上、一か所にしか記述されていません。
  q::
    If(numdodo = 10){
      Send, {Volume_Mute}
      numdodo = 15
      clipboard =
      clipboard = 消音をやめました
    }
    else
    {
      numdodo = 10
      clipboard =
      clipboard = 消音になります
      ;当然ながら消音にすると上記の音も消えちゃうので、ここで1500ミリ秒処理を眠らせます。眠らせる時間は下記の数字で加減してください。
      Sleep, 1500
      Send, {Volume_Mute}
    }
  return
 とか、
  z::F7
 のようにです。
 たとえばミュート切り替え機能を、『q』から『w』に変更したければ、「q::」を「w::」と書き換えればよろしい。同様にF7(カタカナ変換)機能なら、「z::」を「x::」で、『x』に変更されます。
 特殊なのは、私の実家のキーボードのように、新たな機能を加えるケースです。「↓(Down)」という機能は、それまでなかった。これは新設します。逆に、「Right」という機能が不要になった。これは削除します。
 『Numpad0::Right』が不要になり、『Numpad0::Down』が新たに必要になり新設。従ってコード上は、「Right」を「Down」と書き換えればよろしい。
 機能の削除と新設が複雑に入り組むのは、この矢印キーと「x」キーの辺りだけだと思います。他は大方、単純な付け替えだけで済むでしょう。あと一つありそうなのは(新設はなく、削除のみですが)、数字キーが省略された簡易キーボードのケースです。この場合、通常は文字入力モードで、Num Lockが押されると数字キーに変身する(んでしょうか? 私は持っていないんで、よく知りません)。ならば、『NumpadEnd::1』から『NumpadDel::.』まで無理やり作った裏バージョンの数字キーはいらないことになる。コードから削除するなり、無効にするなりしてください。
 次にThisHotkeyと連動して働くキーです。これはプログラム上二か所以上に記述されているので、少し厄介です。
 この内、子音を打つ「Right(→)(x)」「Numpad4(k)」「Numpad5(s)」「Numpad6(h)」「NumpadEnter(t)」「Numpad3(y)」と、補助キー「Numpad1(Del)」
「c(Back Space)」「vk1D(無変換)(Space)」の計9個は、二箇所に記述。母音を打つ「Space(a)」「f(i)」「d(u)」「s(e)」「a(o)」の計5個は、四箇所に記述されています。
 14個とも、まず
 Numpad3::
とか
 d::
とか
 Right::
とか記述されています。これを、前述の私の実家のキーボードの例ならば、「→」を「↓」に変えるのですから、『Right::』を『Down::』と書き直せばよろしい。
 そしてそのあとに、『x ="Right"』とか、『x ="Numpad3"』とか、『x ="d"』とかという記述が、子音と補助キーの9個では一か所ずつ、母音キーの5個では三か所ずつ、出てきます。これらを、前述の例ならば、『x ="Right"』を『x ="Down"』とすべて書き直す。
 コードは単純なテキスト文で書かれていますから、検索・置換機能を使えば簡単に書き換えられます。この時、『x ="f"』を『x ="g"』に置き換えるのなら、「f→g」で変換すればいいのだな、などと考えちゃいけません。「f」だけなら、他にもアチコチに出てきます。他の文字や数字も同じです。『q::』とか『Right::』とかの『::』の付いた形、あるいは『x ="Numpad3"』のような『x =""』の付いた形(間に入った半角スペースもおろそかにしてはいけません)のままで、検索してください。間違っても、横着はしないように。――これは、他の箇所も同じですが、それでもプログラムの仕方なんぞサッパリ分からんという方は、近くの分かる人に聞いてください。決して難しいもんじゃありません。何しろド素人の私が作ったものですから。

 以上が比較的単純な、しかしシステム上のキモである、キーボード上の“キーの入れ替え”の話でした。ここから先は、コード内の深い層の構造の話に入っていきます。
 まずコード上“左手キーの振る舞い”と書いた個所の、『あ』(『い』『う』『え』『お』も同じ)列の処理とした所の構造の話です。
 コード中、『If(ts <>"x" and ts <>"xx" and ts <>"xxx" and ts <>"c")』とか、『If(ts ="x")』『If(ts ="xx")』『If(ts ="xxx")』『If(ts ="c")』とかなっているのは、未確定の子音が、「無いか何か入っているか」あるいは「x」か「xx」か「xxx」か「c」となっているか、で処理を場合分けしているわけです。

1402 たとえば『If(x ="Space")~If(ts ="x")』なら、「ん」と表出されます。『図.2』は左手用の出力一覧メモですが、「x」1つに「a」で、「ん」となっていますよね。
 さて、この機能一覧を、いかにカスタマイズするかです。なぜカスタマイズが必要なのかといえば、たとえば「俺は既成の『あ、い、う、え、お』の配置が気に入らん。『え、お、い、あ、う』にしたい」などという場合が考えられるからです。そうしますと、それに連動して、各列に連なる機能も一緒に移動してしまいます。結果、「ん」が「x +“薬指”」だと、いかにも押しにくい、「ん」を「x +“親指”」に戻したい、などという要望が出るわけです。
 たとえば「?」と「L」を入れ替えるというケースを考えてみましょう。
 「?」は、
    If(x ="f"){
      If(ts ="xxx"){
        Send, ?
        ts99 = questo
        ts999:=hotstrclp(ts99)
        ts9 = ?
      }
    }
ですよね。
 「L」は、
    If(x ="s"){
      If(ts ="x"){
        Send, l
        ts9 =
        ts99 = lllll
        ts999:=hotstrclp(ts99)
      }
    }
です。
 この、
        Send, ?
        ts99 = questo
        ts999:=hotstrclp(ts99)
        ts9 = ?
と、
        Send, l
        ts9 =
        ts99 = lllll
        ts999:=hotstrclp(ts99)
を、入れ替えるだけでいいのです。「x」キーを加えた後の構造さえ理解できれば、機能の移設そのものは比較的容易にできるかと思います。
 機能の移設ができれば、機能の新設も想像がつくでしょう。これは単独キーの場合も同じですが、所定の領域に新たな機能を書き加えれば、機能の新設も出来ます。コード中では、音声を発する関数を呼び出したり、警告関数に文字数を出し入れしたりしていますが、これらをあまり気にしなければ、ユーザー独自の機能を容易に盛り込み得ると思います。工夫してみてください。

 問題は、“右手キーの振る舞い”の方です。これも、ただ5つのメインキー(「3(y)」キーも含めると、6つ)の位置を入れ替えるだけなら、極めて容易です。ですが、入れ替えると左手キーと同じで、系列のキーもみな連動して移動します。たとえば「k」と「s」は入れ替えるが「n」と「r」はそのまま、というわけにはいきません。また、「k」と「s」とを遠くに離すと、今度は「y」と「w」が入力しにくくなる。「x」を移動させようという人は、あまりいないでしょう。キー配列を入れ替えるとしても、せいぜい「k」と「s」の入れ替え、および「h」と「t」の入れ替え、ぐらいが無難だと思います。
 それでもどうしても自由に子音をカスタマイズしたいという方は、『子音変換一覧表』から作り直す必要があります。これを変更して、ルールを変え、それを元にコードを組み立て直すのです。そこまで手間をかけてもいい方には、変更したルールを実行するプログラム(『子音変換の関数』)は、(プログラム経験者には)それほど難しいものではありません。一覧表とにらめっこしながらやってください。

 最後に、それ以外の個所のカスタマイズについてです。それらについては、すでに『プログラム・コードの説明』等で一通りコメントしていて重複するものが多いと思いますが、復習の意味で一望しておきます。
 また、すでに述べている通り、プログラム・コードを無効にしたい時は、コード行の先頭に『;』を付けてください。付けたり外したりすることで、プログラムの成否を確認したり、使用環境を切り替えたり、出来るわけです。
 まずは冒頭の、文章作成に使用するソフトを選択する箇所。すでに書いた通り、私は軽快なエディターを勧めますが、ワープロソフト等お好きなものをお試しください。
 ミュートの切り替えでは、消音になるまでの時間を、ミリ秒単位で変更できます。
 ああ、それから、もし発声する時のセリフが気に入らなかったら、これも勝手に書き換えてくださって結構です。他の個所でも。あるいは、余計な発声は無効にするとか。
 そして、『^』による『変換候補』の話。これはかなり重要なカスタマイズとなります。――皆さんには勿論、私が十数個の変換候補を登録しているように、自由に候補を登録していただきたいわけですが、――問題は、候補ボックスの出方の方なのです。
 XPとWin10とで、IMEが違うためか、候補ボックスを出現させた時最初に選ばれる項目が、XPでは二番目、Win10では一番目、という違いがあるようなのです。――そのため、コード上、Win10用は最後にもう一つ『Up』を付け加える事で、最初の項目が選択されるようにしています。(なぜ、『Space』を一つ削るのではなく『Up』を追加したのかといえば、候補ボックスが開いた状態にしたいためです。その方が他の候補を選びやすいですから。)
 このような次第で、IMEにより、候補項目の出方が変わってくる可能性があります。皆さんは各自自分の使用環境に合わせ、『Up』や『Space』を増減させたり等のカスタマイズを試みてください。
 また、これと連動して、登録ワードの欠番の問題も生じます。既に書きました通り、私は最初に選択された項目の次の項目を再選択する時上方の数字キーを押しますので、「22」と「33」が欠番となりました(どうやら、「22」「33」「44」「55」といった“ゾロ目”が、バッティングするみたいです)。ユーザーにより、選択したい項目の数もまちまちでしょうし、ゾロ目は避けておいた方が無難なようです。
 ズッと飛んで、左手共通処理の中の棒読みちゃん用の特殊処理です。全く棒読みちゃん専用処理ですから、他のリーダーを使う人はもちろん無効にした方がいい。――あるいは棒読みちゃん同様、ご使用のクリップボードリーダーによりいろいろ動作が違い、それがブラテンの機能を妨げることも考えられます。そういう場合は、ケースバイケースですから、問題点を書いたメールを私に送ってください。微力ながら対応させていただきます。あるいはその問題を公表し、文殊の知恵を借りたいと思います。
 またズッと飛んで、音声変換関数の最後の方、特殊文字や記号の発声の所です。発声の仕方は、「おったまげーしょん」とか、私の趣味で決めていますので、これも自由に変えてください。
 さて問題は、変換限界を警告する関数の個所です。私自身はこの機能、ついつい入力に没頭してしまうので(あまりにブラテンが心地よく、一種中毒症状になり)、非常に重宝していますが(現実に引き戻してくれるので)、ただ煩わしいだけと感じる人も多いでしょう。削除しても、無効にしても、いいんですが、下手に削除すると、実はあった方がよかったと後から気付くこともありそうですし、無効にするにしても、すべての行に『;』マークを付けたり、また外したり、というのはいかにも面倒。そこで、私が試験走行中実行している裏技を、ご披露します。――それは、『60』と書かれている箇所を、『6000』と変えることです。つまり、6000文字を超えたら、警告を告げるようにする。そんなことまずありえないでしょうから、無効にしたのと同等の効果があります。
 登録ワード入力部は、すでに詳述の通り、便利なように使って下さい。何かとバッティングするようでしたら、その番号や文字は欠番にすればよろしい。
 あと、カスタマイズする時も、コードの入れ替え時と同様、「棒読みちゃんのリーダー機能をオフにする」「オートホットキーをサスペンド・モードにする」「リロードする」を、お忘れなく。
 以上で、カスタマイズの説明を終わります。これだけの説明では到底多くの方々の必要や疑問を満たすことは出来ないでしょうが、それ以外のケースは個人面談ということで、メールで質問してください。可能な範囲で対応します。

サイトトップへ