親指シフトをストアアプリでも使える「親指の友 Mk-2 キーボードドライバ」をWindows 64bit環境にインストールしてみました

親指シフト

最近、ブログなどで文字を入力することが多くなって、文字入力を楽に行いたい人の間で、親指シフトで入力する人が増えているようです。


<追記>かなりいい、親指シフト刻印があり、安く、打ちやすいキーボードをリリースできそうです


(参考画像:wikipediaより)

親指シフト、親指シフトに適したキーボードについては、

日本語入力するのに、ローマ字変換なんかやめて、親指シフトで!

あなたは以下のいずれかに該当しますか? ●作家などの物書き、編集者、記者、翻訳家、プロブロガーなどの日本語入力の速さ、量、質が求められる仕事をしている方 ●パソコンでの文字入力よりもスマホ・ケータイでの文字入力のほうが心理的に楽 ●左の小指が痛い・疲れている ●腱鞘炎になったことがある …

でまとめてあります。

普通のJISキーボードやUSB親指シフトキーボード(FKB7628-801、FMV-KB232)で親指シフトを実現するために、簡単に導入させてくれるのが、

やまぶきR 親指シフトインストーラー

やまぶきR 親指シフトインストーラー(ローマ字用)の詳細情報 : Vector ソフトを探す!

普通のキーボードでも親指シフトキーボードでも親指シフト(NICOLA)を楽に導入できる(ローマ字モード用)

です。

この他にも、Japanist、DvorakJでエミュレーションできることが知られています。

ストアアプリ(ユニバーサルアプリ)にエミュレーターが不対応

しかし、最近Windows環境では、Windows 8から、ストアアプリ(ユニバーサルアプリ)が占める割合が多くなってきていて、ストアアプリ環境では文字入力の扱いが変わっているので、Japanist、やまぶきR/やまぶきは、いずれも、ストアアプリやEdgeブラウザーではうまく動かないという問題があります。ただし、エミュレーターでも、Q’s Nicolatter 8(シェアウェア)ではある程度対応しているようです。

(追記:DvorakJだとストアアプリで使えました!!)

そして、富士通さんはPC事業を分社・他社と統合するつもりのようで、現状以上のJapanistのアップデートは難しそうな状況です。

「親指の友 Mk-2 キーボードドライバ」ならストアアプリでも動作

そんな中で、すごいものを開発してくれた方がいます。

親指の友 Mk-2 キーボードドライバ」です。

ソースコード付きで改変して使用や配布ができるようなライセンスになっています。

これは、エミュレーターよりもハードウェア寄りの層で動く「キーボードドライバー」ですので、ストアアプリ(ユニバーサルアプリ)、Microsoft Edgeブラウザー、Windows 10の検索窓でも動くものです。これらを使う必要がある親指シフトユーザーにとっては貴重な選択肢です。

「キーボードドライバー」ならではの困難な点

Microsoftでは、Windowsの64bit版について、Microsoft公認の電子署名付きのドライバーでないと、インストールを難しくしました。電子署名には、Microsoftに年間数万円を支払わなければならず、「親指の友 Mk-2 キーボードドライバ」はその署名がありません(未署名ドライバー)。

しかし、Windowsをテストモードで起動するようにすれば、「親指の友 Mk-2 キーボードドライバ」もきちんとインストールできて、動きます。今回はその方法と、「親指の友 Mk-2 キーボードドライバ」の初期設定について、書きます。

なお、現状では、「親指の友 Mk-2 キーボードドライバ」は、MS-IME(かJapanist)ではないIMEとは相性が悪いようですので、Google日本語入力やATOKは使えないようです。

※私の環境ではJapanistでうまく動きませんでした。

零遅延モードという画期的な技術

零遅延モードとは、文字キーを単独打鍵した際に発生する遅延を体感上無効化する機能のことで、「親指の友 Mk-2 キーボードドライバ」ではV2.0L20から導入されました。

富士通のものを含む今までのエミュレーターなどでは、文字キーを打った後に所定の遅延の後に文字を表示させていました。文字キーを打った後にすぐ「親指キー」が押される可能性があるので、かなを確定できないからです。

例えば、「D」キーを打った時に「て」「で」「な」なのかは、所定の遅延の後でしか確定できないのです。この遅延があると、あまり気持ちよくありません。

そこで、「親指の友 Mk-2 キーボードドライバ」では、新しく零遅延モードを導入しています。

「D」キーを打った時に、とりあえず、すぐに「て」を出力して、その後すぐに「左親指キー」を検出すると、「Backspace」「な」を出力します。

このようにすることで、結果的に、「な」だけを出力しているように見せています。

この技術によって、同時判定時間を逆に長くさせて誤打を防止することもできています。

私も試してみましたが、この技術は効果が絶大のようです。作者さんによると、

http://blogs.yahoo.co.jp/development_room/38994299.html
今回のバージョンでは、文字キーを単独打鍵した際に発生する遅延を体感上無効化する機能を入れてみました(零遅延モード)。

この遅延は、親指シフトの同時打鍵ロジックの必要悪みたいなもので、「逐次打鍵(小指のシフトキーみたいな)」ではなく「同時打鍵」を実現するため、親指キーよりも文字キーが一瞬先に押されてしまったとしてもシフト操作として受け付るようになっています。

… 待ち時間を無くし、押された瞬間に結果を出力するようになります。当然このままでは誤打鍵が増えてしょうがないですね。そのため、後で親指キーが押されたりして出力済の内容と矛盾が生じた場合は、「BackSpaceのコードを出力して、既に出した文字入力を消す」というアクロバティックな動作を行うようにしました。

こう書くとギャグみたいですが効果は抜群でして、カナだろうが英字だろうが楽しい位ヌメヌメ出てくるようになります。また、この機能を入れても同時打鍵の判定ロジック自体は変わりませんので、急に誤打鍵が増えたりすることは無いと思います(まぁ、画面に出るタイミングが変わるので、リズムが狂うというのはあると思いますが)。

英字が遅延しなくなるのはアタリマエの水準に戻っただけですが、カナの遅延が無くなるのは結構感慨深いものがありました。意外と遅延が深層的なストレスになっていたのか、この機能を試すようになってから文章とかコードを書く際に考えがまとまりやすくなった気がします。

是非一度、だまされたと思って使ってみて下さい。恐らく多くの方に気に入って頂けると思います。他のエミュレータへの移植実装も歓迎です。

「親指の友 Mk-2 キーボードドライバ」をWindows 64bit環境にインストール

親指シフトをストアアプリでも安定的に使える「親指の友 Mk-2 キーボードドライバ」V2.0L20をWindows 64bit環境にインストールしてみました。なお、Windowsの32bit版であれば、キーボードドライバーを変えるだけで動かすことができます。

「親指の友 Mk-2 キーボードドライバ」をダウンロード

まず、「親指の友 Mk-2 キーボードドライバ」をダウンロードします。

http://www.geocities.jp/development_room/exe_w.htm

<追記2016/4/11>V2.0L21にバージョンアップしたようです。しかし、「実行ファイル類は前版と全く同一(バージョンも含めて)」とのことで、インストールしやすいようにcatファイルや署名用のバッチファイルが付属するようになったようです。したがって、catファイル作成の手順は不要になりました。参考のために残しておきます。

infファイルに自己署名

そして、x64フォルダにあるkbf_oya_mk2.infファイルの16行目の

;CatalogFile=kbfiltr.cat

の「;」を削除して、この行を有効化します。

catファイルを生成

WDK 8.1をダウンロードします。

https://msdn.microsoft.com/ja-jp/windows/hardware/gg454513.aspx

インストールされる”C:\Program Files (x86)\Windows Kits\8.1\bin\x86\Inf2Cat.exe”を使って、kbf_oya_mk2.infからcatファイルを生成します。

inf2cat /driver:C:\{path}\kbf_oya_mk2\x64 /os:6_3_X64,8_X64,7_X64 /uselocaltime

※{path}にはパスが入ります。

kbfiltr.catファイルができます。

自己署名

追記:あらためて下のDriver Signature Enforcement Overriderを使う手順でWindows 10で行ったところうまく署名されたドライバとして扱われませんでした。以前、Windows 8で行ったときには成功しました。Windowsの仕様が変更されたのかもしれません。必要なものをインストール後、作者さんが配布しているバッチファイルを編集して署名していただいた方がいいようです。


Driver Signature Enforcement Overrider(DSEO)で自己署名(Sign a System File)をcatファイルに対して行います。

drive-signature-enforcement-overrier

BIOSでSecure bootを無効化

PC起動時にEsc、F2、F1、Delキーなどを押すことで、BIOS設定画面を出して、Secure boot をDisabledにします。BIOSによって表現は違います。

テストモードを有効化

田+X,Aでコマンドプロンプト(管理者)を出して、

bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING ON

でテストモードを有効にして再起動します。bcdeditは、PC起動後Windows起動前に動作するブートローダーを設定するコマンドです。
これでうまくいかない場合は、Cドライブの識別名(identifier)を指定するといいと思います。

bcdedit

これで、Cドライブの識別名(identifier)を見ます。{current}とすると、

bcdedit /set {current} loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit /set {current} TESTSIGNING ON

とします。(一部の行は必須ではないかも?)

(やっと)キーボードドライバーを更新(変更)

そして、田+X,Mで、デバイスマネージャを出して、[キーボード]を展開し、[標準PS/2キーボード]などのキーボードドライバーを開き、[ドライバーの更新]で、[(下側の)コンピューターを参照してドライバーソフトウェアを検索します(R)]、[(下側の)コンピューター上のデバイスドライバーの一覧から選択します(L)]、[ディスク使用]、[参照]で、キーボードドライバーを手動で変更します(自動検索は使いません)。製造元は、「Kiyoto」です。そして、

通常のJISキーボードの場合は、[日本語 106/109 キーボード (親指の友 Mk-2)]、

USB親指シフトキーボード(FKB7628-801、FMV-KB232)の場合は、[日本語 親指シフト キーボード (親指の友 Mk-2)]、

FMV-KB613、FMV-KB211の場合は、[富士通 PS/2 親指シフト キーボード (親指の友 Mk-2)]

を指定します。そして、再起動します。

キーボード入力ができない!なら

再起動後に、キーボード入力が無効になっている場合(キーを押しても何も反応がないというかなり「?」な状況)は、うまくテストモードにできていない可能性が高いです。その場合、BIOSでSecure bootが無効になっていないなど、未署名ドライバーを動作させられる環境になっているか確認する必要があります。

マウスを使ったり、電源ボタンを長押ししたりして、再起動して、上の設定を確認する必要があります。

どうしてもうまくいかない場合

bcdedit /set ADVANCEDOPTIONS ON

で起動時に毎回起動時のオプション選択画面を表示するようにして、毎回「ドライバー署名の強制を無効にする」で起動すればインストールして使用できますが、毎回このようにして起動しなければならないです。

あるいは、富士通のOASYSキーボードドライバー(署名済み)を使う選択肢もあります。こちらの投稿にまとめてあります。ただし、ノートパソコン(のPS/2キーボード)であること、左親指キーが無変換になること、「:」をBackSpaceにできないこと、「、」の位置が「:」であることの制約があります。

テストモード Windows 10というウォーターマークを非表示に

再起動すると、デスクトップの画面右下に、「テストモード Windows 10 …」というような表示がなされます。これについては、こちらの無料ツール(Universal Watermark Disabler)で消去することができました。「Download Universal Watermark Disabler」をクリックしてダウンロードして、uwd.exeを実行し、

Universal Watermark Disabler

「Install」ポタンをクリックします。StatusがInstalledになり、もうウォーターマークは消えているはずです。

親指の友Mk-2キーボードドライバーのインストール後

この状態で親指シフト入力ができるか試してみるといいと思いますが、まだ、完全には思い通りになっていないと思います。そこで、設定をします。

このキーボードドライバーは、インストール後のふるまいを設定プログラムで変えることができます。ドライバーとともにダウンロードされているconfig_uty.exeを使います。

このプログラムの実行には.Net Framework 3.5が必要です。実行後にメッセージが出たらインストールが必要です。

kbf_oya_mk2

起動後、

●[キーボード選択]で[日本語 106/109 キーボード (親指の友 Mk-2)]などのキーボードを選択します。

●[通常時の操作]を選択

●親指キーを自分好みに合わせる。 通常、[(単独打鍵で)]では同じキー。

●[ソフトウェアリピート]タブにて、「リピートをソフトウェアで行う」のチェックを入れる

●IMEは、MS-IMEかJapanistにして(現状、Google日本語入力では使えないようです Google日本語入力では、濁音を打とうとすると清音になってしまいました ATOKでは確認していません)、「ローマ字入力」ではなく「かな入力」にする。
※(追記:2016/3/26)Japanistで使う場合はJapanistの設定でキーボードを「OASYSキーボード(実行キー付き)を選択すれば使えるという情報をいただきました。

●[適用]をクリックし、Alt+PrtScを押して、設定を反映させる(再起動不要)

なお、「な」を打とうとして、「D」、「左親指キー」の順番で打ったときに、「て、な」となるような場合は、[消去キー]が[0E: Backspace]になっているかどうか確認するといいと思います。新しく採用された零遅延モードのため、このときに、「て」「Backspace」「な」を出力することに起因しているようです。

これで、うまくいくかと思います。動いた、動かないなど、コメントいただけるとうれしいです。ちなみに、本家の掲示板はこちらです。

ソースコード付きで改変しても配布自由

また、「親指の友 Mk-2 キーボードドライバ」はソースコード付きで改変しても配布自由ですので、Google日本語入力やATOKにも完全対応させるなどする方がいれば、みなさん助かると思います。また、富士通さんなどのメーカーさんで、署名を付与していただけると、みなさんもっと助かると思います。そのためにはユーザーがもっと増えるといいかと思います。

アンインストール

アンインストールは、基本的には、キーボードドライバーを更新(変更)してもとに戻すだけのようですが、本キーボードドライバーの設定が残ってしまうことがあるようです。その場合は、ドキュメントに記載のようにレジストリをいじる必要があるようです。

※追記:アンインストールして、元のキーボードドライバーに戻すと、単独打鍵側が「親指シフト」のままになるので、いったん「日本語PS/2キーボード(106/109キー)」等を選択して再起動して再び元の「標準PS/2キーボード」に戻してやる必要があるという情報があります。

ストアアプリやMicrosoft Edgeも使いたいという親指シフトユーザーは、ぜひ!

ちなみに私自身はストアアプリもEdgeも使わず、「NICOLA拗音拡張」を使いたいので、「やまぶきR 親指シフトインストーラー」でやまぶきRを使っています。

  • このエントリーをはてなブックマークに追加

コメント

  1. 匿名 より:

    windows環境で入れればmacやlinuxでも使えますか?

コメントをどうぞ(即時反映されます)

メールアドレスが公開されることはありません。