雑記帳

電子計算機の"明後日"から、他愛もない話まで。

親指の友 Mk-2ドライバと、フリーソフト作者としてのスタンス(2017/6/21追記有)

また、ブログの方は暫く間が空いてしまいました(メインサイトの方は若干更新しましたが)。

ここのところ、掲示板の方によく「親指の友 Mk-2」ドライバ絡みの質問などを頂くことが増えてきました。増えてきた…ということは、何らかの理由で以前よりも人目に触れる機会が増えたのではないかと思ったのですが、調べてみると、どうやらいつのまにか、親指シフトの総本山たるNICOLAのサイトからリンクが張られていたようです。

勿論、自分が作ったものを多くの方に使っていただけるようになったというのは作り手冥利に尽きる事ではあるのですが、このドライバに限っては、以前よりも遥かに見つかりやすくなってしまったことで少々困惑している節があります。

というのも、親指シフターというのは、どちらかというとあまりPCに詳しくない方が一定数含まれるらしい集団である…というのが昔からの印象でして、この中にはメーカのサポートセンターだったりの常連さんも居るのでは? という偏見があるからです。つまり、「フリーソフト作者に対しても同じ感覚で来る方が現れたらどうしよう…」ということです。

 


(2017/6/21追記)

特に本ドライバのx64版は、導入時にオレオレ証明書を作ったりcatファイルに署名したりと、大凡ドライバ開発者が仕事でやるような作業を各自行わなければいけません(DSEO等で代用する場合を除く)。ここまで厄介な導入手順を踏む代物でなければわざわざ前述のような懸念をする必要などなかったのですが、M$の署名ポリシーを安全側に汲むと、これ以上簡単にすることは断念せざるを得ませんでした(現状でさえ、それなりにリスクを伴う方法ですが…)。

幸い、私以外にも導入方法について解説する記事を書いて下さった方がいらっしゃるので、(私が書いたReadmeしか資料がない状態よりは)遥かに敷居が下がっているとは思いますが、それでも、インストーラー付きアプリの導入なんかに比べればとても複雑な作業です。

元々このドライバは、「親指シフトをコードの読み書きをする人にも使ってほしい」という意図がありまして、そういう人達が使ったり、或いは気に入らないところを改造したりすることで、ドライバや実装方式、親指シフトの仕組みそのものの改良・発展が進んでいけば良いのではないかと考えていました(そうなってくれば、親指シフト界隈も多少盛り上がるのではないかという期待を含めて)。そういったこともあって、(どうせ利用者がソース弄るんだろうから)x64版の署名はWDKのツールを使うなりして各自でなんとかすれば良いんじゃないかと考えていた節もあります。

なので、本来利用者として想定していない方々(例えば、先の導入方法の記事を読んでも、いまいちピンとこないような方)が流入してしまったとしたら、もしかするとお互いにとって不幸なことなのかもしれません…。


 

ということで、自己防衛の為にも、改めて一言書いておこうと思います(DLページのところにも少し追記しておきました)。このサイトで公開しているソフトウェアはいずれもフリーソフトであって、使用許諾の条件として、使用者の方には「自己責任の下に使用すること」を要求しています(readme.txtを参照下さい)。つまり、市販されているような製品(Japanist等)と異なり、私が使用者の方をサポートする義務はありません(法的にも倫理的にも)。

このサイトで公開しているソフトは全て趣味の成果物です。とりあえず作ってみたけど、もしかしたら他にも使ってくれる人がいるかもしれない…と思って公開している代物です。私は「アイディアを思いついて形にしてみる」ところまでが好きなのであって、事細かに説明書を書いたり、サポートセンターみたいなことをしたりするのは趣味ではありません(勿論、仕事として受けている範疇であればやりますけど、でもこのドライバは仕事で作ったものではないので)。

このため、本ドライバをお使いになる場合は、基本的に「何があっても(例え上手く動かなくても)ご自分で対処する(場合によってはあきらめる)」前提でご利用下さい。勿論、バグレポートや技術的な質問等についてはこれまで通り歓迎しますので、こういった話があれば掲示板にご連絡頂けると助かります。

 

ちなみに、以前の記事にも書きましたが、私としては今後、キーボード関係(親指シフト関係を含む)で新しく何かを作る予定はありません。

また、私は親指シフトを使いたい以前に、Windows環境下で「富士通製の板バネメカニカルキーボード」を使いたい人なのであって、これらを満たすことがないような話に対して自発的に動くことはありません(仕事であれば別ですが)。

勿論、またWindowsのバージョンアップに伴ってドライバが使い物にならなくなった…といった事態になったら何か対策することを考えますけど、年々野良ドライバに対するハードルが上がっているので、恐らく次に手を入れる時は「ドライバ」という形態を捨てることになるのでは…という気がしています。

現時点でわかっていることとして、

  • キーボードレイアウトファイルについては、x64 + 非テストモード環境に於いても未署名バイナリのままロード出来ることを確認済(初期のWin10にて)
    • そもそもユーザモードDLLなので、セキュアブートとかの対象にもならないはずですし
    • 基本的に定数テーブルを参照させる為だけの存在なので、ドライバ本体と違って悪さできる可能性がない点も重要です
      • よって、このファイルは、今後も個人製作のものが使える可能性が高い
  • 親指の友 Mk-2ドライバの本体側で行っている親指シフトの制御ロジックは、キーボード側で行ってもシステムとして成立する仕組みになっている
    • 同時打鍵操作を逐次シフトのパターンに変換しているだけなので
    • 常に同時打鍵監視のロジックを動かすことができるので、モードずれの心配も無ければ、モード同期の為の制御をPC本体側から行う必要もない
    • さらに、零遅延モードがあるので、英字入力時にもたつく心配もない

ということで、最終的には

  • OyayusbyにMk-2ドライバ相当の同時打鍵監視ロジックを入れる
  • Mk-2ドライバのレイアウトファイルのみを、上記Oyayusby向けに改造

といった2本立てみたいな形で落ち着くんじゃないかと考えています。

勿論、上記のどちらもソースを公開していますので、喫緊に必要としている方がいらっしゃれば、私に代わって実装して頂いても良いですし、むしろその方が有り難いです。寧ろそうなることを期待しています。