見出し画像

【AHK】スラヴ語汎用キーボード

※この記事の内容は古くなっています。最新版はこちらをご覧ください。
対象読者:Windows ユーザ,スラヴ語使用者


スラヴ諸語で用いられるキリル文字・ラテン文字・グラゴル文字を網羅的に入力できる AutoHotkey のスクリプトを作成しました(一応アプリもあります)。Windows の既存のキーボード上で動作させ、簡易的にロシア語キーボードなどと同じような挙動を再現します。PCに入力言語をいくつも追加したり、逐一キーボードを切り替えたりする必要がなくなります。

動作イメージ

導入手順

アプリとしてインストールする方法と、AutoHotkey をインストールして拡張子 .ahk のファイルを開く方法があります。とりあえず使ってみたいという方は前者をお試しください。後者の方法は、自分でキーの割り当てを調整したい方におすすめです(後述)。

とりあえず使ってみたい方へ

GitHub: β版Latest release

上のリンクから SlavicKeyboardSetup.exe UniSlav_v(xxx)_Installer.exe をダウンロード・実行してください。セキュリティソフトに「ランサムウェアの可能性あり」などと言われた場合は、セキュリティソフトを信用するか私を信用するか選んでください。コンパイルには Inno Setup と Ahk2Exe を使いました。

AutoHotkey をインストールする場合

  1. AutoHotkey をインストール
    入手先:AHK Downloads
    AutoHotkey は、Windows 上のキー操作をカスタマイズすることができるスクリプト言語です。別に怪しいヤツではありません。インストールするバージョンは v2 を推奨します(v1 と v2 とでは文法が大きく異なるので長年 AHK を使用している方は注意)。詳しい解説はこちら(日本語版)。

  2. GitHub から ahk-slavic-keyboard UniSlav を入手
    repo:Mijadaj/ahk-slavic-keyboard repo:Mijadaj/UniSlavでスクリプトを公開しています。「GitHub? 何それ」という方はとりあえず zip ファイルをダウンロードし、解凍してください。なお、一応過去に作成した v1 のスクリプトも v1 ブランチのなかに残しています。v1 からまだ移行していない方はそちらをお使いください(今後更新するつもりはありません)。

  3. "keyboardControl.ahk" を実行する
    "src/keyboardController.ahk" "UniSlav.ahk" を実行すれば準備完了です。必要に応じて、PC起動時にファイルを自動で開くように設定しておくと良いでしょう(方法は Google先生に教えてもらいましょう:起動時にファイルを開く方法)。


使い方

ahk-slavic-keyboard UniSlav には4種類のキーボードがあり、現代語と古典語で起動方法を分けています。現代スラヴ諸語で使用されるキリル文字・ラテン文字はそれぞれ Ctrl + 1、教会スラヴ語で使用されるキリル文字・グラゴル文字はそれぞれ Ctrl + 2 で起動します。各ショートカットキーを押すたびに、キリル文字⇆ラテン文字・グラゴル文字間でキーボードが切り替わります。

Slavic Cyrillic

起動方法:Ctrl + 1
言語
:ロシア語、ウクライナ語、ベラルーシ語、ルシン語、ブルガリア語、マケドニア語、セルビア語など。
基本配列:ЙЦУКЕН配列

Slavic Cyrillic のキー割り当て
  • 無変換 (+ Shift) で上図における各キー右下の文字を入力できます。

Slavic Latin

起動方法:Ctrl + 1
言語:ポーランド語、チェコ語、スロヴァキア語、クロアチア語、スロヴェニア語など。ミクロ文章語 (литературные микроязыки) を含む。
基本配列:QWERTY配列

Slavic Latin のキー割り当て
  • [Q] のキーには〈Ę ę〉を割り当てています。

  • 無変換 (+ Shift) で上図における各キー右下の文字を入力できます。

  • その他スラヴ語学等で用いられる補助記号付き文字は、下表のデッドキーを押した後に A, E, O, R (+ Shift) などを押すと得られます。ふつうに使用する分にはほぼ問題ないのですが、何度も繰り返しデッドキーだけを押すと少し挙動が怪しくなることがあります。今後改善するつもりです。

Early Cyrillic

起動方法:Ctrl + 2
言語:古教会スラヴ語、教会スラヴ語など。

Early Cyrillic のキー割り当て
  • 改良の余地あり。将来的には Huling の文字変換器 (筆者作成)と同程度の Unicode 文字を打てるようにしたい。正直あまり使わないのでモチベが低い。

Glagolitic

起動方法:Ctrl + 2

Glagolitic のキー割り当て
  • 大いに改良の余地あり。Huling の文字変換器 はこちらまったく使わないので修正する気が一切湧かない。

注意

[無変換] + Shift + A は何故か期待通りに動作しないため、代わりに [無変換] + Ctrl + A を使用しています。

自分用にカスタマイズする方法

ahk-slavic-keyboard を基本的に開発者 (Міја) の都合に合わせて作られているため、特にキーの割り当てに関して満足しない方もいらっしゃるのではないかと思います。そういう方は適宜 .ahk ファイルを書き換えて自分用にカスタマイズしてください。

キーの割り当てを変更するだけなら、誰でも簡単にできます。
例えばキーボードを起動するホットキー (Ctrl + 1) が気に食わないという方は、keyboardController.ahk をメモ帳などで開いて、コロンが2つ並んでいるところ ( :: ) の左側だけを書き換えてください(→詳細)。

;変更前
;^1:: (Ctrl + 1 を意味する)
;変更後
F6:: ; F6キーで現代語キーボードを起動する
{
    global
    if !currentScript {
        Run(scriptA)
        currentScript := true
        SetTimer(ToolTip,-1500)
        ToolTip("Slavic Cyrillic")
    }
    else if WinExist(scriptA) {
        WinClose(scriptA)
        Run(scriptB)
        currentScript := true
        SetTimer(ToolTip,-1500)
        ToolTip("Slavic Latin")
    }
    else if WinExist(scriptB) {
        WinClose(scriptB)
        currentScript := false
        SetTimer(ToolTip,-1500)
        ToolTip("Exiting keyboard mode...")
    }
    else {
        switchKeyboard("^1","^2")
    }
}

ご意見、ご要望等ありましたらコメント欄または GitHub の Issue にてお願いします!