ここでは、私が作ったものの中で、ハードウェアの製作を伴うものを置いてあります。
富士通製のPS/2親指シフトキーボードを、USB HIDキーボードとして まともに使えるようにするための変換器ファームウェアです。 実際に使用するためには、別途ハードウェアを製作する必要があります。 製作方法については、同封のREADME.TXTを参照して下さい。 一般的な「ブートプロトコル対応 PS/2→USB HID変換アダプタ」との違いは、 ・起動時に、キーボード側での親指シフト変換動作を止める制御を行う ・あわせて、全てのキーに固有のキーコードを出力させるようにする ・親指シフトキーボード固有のキーコードを、一般的に認識されるものの 未使用になっているUsage IDに変換する ・テンキー上部に拡張キーが存在しないキーボードでは、「カナロック」LEDの 点灯制御を行うことで、キーボード側での同時打鍵判定機能の有効/無効を制御 というところです。 富士通のPS/2親指シフトキーボードでは、接続するだけで親指シフト入力ができるように キーボード側で親指シフト→JISかな入力への変換を行えるようになっています。 しかし、 ・マルチタスク環境下ではキーボードの関知しないタイミングで入力モードが変化する。 ・入力モード遷移がOAK準拠の操作で行われるため、OAK慣れしていないと 不思議なタイミングで入力モードが遷移することになる。 ・JISかなに無い文字を入力しようとするとき(フルキーの数字部分など)、 一瞬だけ英字入力に切り換えるようなコードを出力してくるが、これもOAK時代の 操作方法を元にしているため上手く働かない・中途半端に対応すると問題を引き起こす。 ・テンキー上部に拡張キーがあるキーボードでは、ここのキーが使えない。 ・同時打鍵検出のタイミングがFM-OASYS等と異なる(好み/慣れの問題)。 といった問題があるため、通常この方法は使用されません。 このため、所謂専用ドライバでは、システム側の入力モード遷移を検出してキーボードへ通知したり、 或いはキーボード側での親指シフト変換機能を止めて(全てのキーコードをキーボードに 出力させるように設定して)ソフト的に親指シフト動作を実現したりということを行っています。 しかし、これらのキーボードを市販のPS/2→USB HID変換アダプタ経由で使用した場合、 キーボードとの通信手順が全く別物となってしまいますので、既存のドライバを利用することができません。 また、親指シフトキーボードの制御方法は特殊であるため、市販の変換アダプタから 行うことは絶望的です(そもそもキーコードの変換すらできないはずですし)。 そこで、USBデバイス機能を持つ1チップマイコンを使って、親指シフトキーボード専用の 変換アダプタを起こすことを思いつきました。また、上手い具合に死蔵していた トラ技2008年8月号の付録基板が発掘されたので、これを使って製作してみることにしました。
・トランジスタ技術 2008年 8月号付録 78K0基板(マルツで単体販売有り) ・ミニDIN6ピン中継ジャック ・配線材料(芯線がAWG-24程度の太さのビニル被服付の縒り線) ・工具類(半田ごて・ニッパ・ラジオペンチ・刃物)・半田など ・Windowsマシンと適当なターミナルソフト
メイク→ブレイクが高速に来る場合、通知を握りつぶしてしまうことがあったのを修正。 FMV-KB211で同時打鍵マークを通知させるようにすると上手く入力できないことがあったので。 他、Readmeの古い記述を修正するなど。 ※詳しくは、同封のREADME.TXTを参照して下さい。
富士通 OASYS-100シリーズの一部のキーボードを、PS/2キーボードとして 使えるようにする変換アダプタのファームウェアです。 実際に使用するためには、別途ハードウェアを製作する必要があります。 製作方法については後述します。 Windows上では、拙作キーボードドライバ「親指の友 Mk-2」と組み合わせることで、 概ね刻印通りの親指シフトキーボードとして使用できます。 (但し、OASYS用キーボードの機能キーはファンクションキーとなります。) ソースコードを同封していますので、変換テーブルを改造することで、 ごく普通のOADG 106キーボードとして使うことも可能です。 具体的に対象となるキーボードは、上記シリーズ用キーボードのうち、 ホシデン丸型多極コネクタ13ピン(DIN13ピン等と呼ばれているものです)で 接続されるタイプのキーボードです。 これらのタイプでは、キーボード側にマイコンが乗っておらず、 マトリクスの行列選択信号が外に引き出されているものとなります。 動作確認はFACOM6130KF1(親指シフトキーボード)でのみ行っています。 これ以外のキーボードを使う場合には変換テーブルの改造が必要かもしれません。 特に、JIS / 新JISキーボードではマトリクス配置が全く異なっている可能性がありますので、 使用される場合にはご注意ください。 尚、オマケとして、マイコンが乗っているタイプのキーボードに対して、 既存のマイコンと共存して独自にマトリクススキャンを行うタイプの実装も可能で、 コード上ではこちらのための制御機能を持っています(要リビルド、実装例: FMR60KB201用)。 こちらの詳細については、同封の「OMAKE.TXT」を参照下さい。
・トランジスタ技術 2008年 8月号付録 78K0基板 ・ミニDIN6ピンプラグ ・フラットケーブルコネクタ(2.54mmピッチ 20ピンメス) ・配線材料(UL3265 外形約1.2mm、AWG-24/0.2sq 撚線) ・工具類(半田ごて・ニッパ・ラジオペンチ・刃物)・半田など ・Windowsマシンと適当なターミナルソフト ※詳しくは、同封のREADME.TXTを参照して下さい。
富士通 FMR / FM TOWNS / OASYSシリーズに接続可能な各種キーボードを PS/2キーボードとして使用できるようにする変換アダプタのファームウェアです。 実際に使用するためには、別途ハードウェアを製作する必要があります。 製作方法については後述します。 Windows上では、拙作キーボードドライバ「親指の友」と組み合わせることで、 概ね刻印通りのJISキーボード/親指シフトキーボードとして使用できます。 (但し、OASYS用キーボードの機能キーはファンクションキーとなります。) ソースコードを同封していますので、変換テーブルを改造することで、 ごく普通のOADG 106キーボードとして使うことも可能です。 具体的に対象となるキーボードは、上記シリーズ用キーボードのうち、 ヒロセ電機HR12シリーズ8ピンのコネクタを持つJIS/親指シフトキーボードです。 ○FMRシリーズ 30シリーズ以外の、ほぼ全てのキーボードに対応しています。 但し、エミュレータキーボード等では一部キーが使えません。 ○FM TOWNSシリーズ 全てのキーボードに対応しています。 但し、エミュレータキーボードでは一部キーが使えません。 ○OASYSシリーズ 1988年頃~のもののみ対応です。 これより以前のものでは他のコネクタ(DIN13ピン等)での接続や本体直付けとなっており、 通信方式の互換も無いと考えられる為、本変換器は使用出来ません。 尚、1988年~のOASYS-30系のキーボードも使用可能と思いますが、動作は未確認です(情報不足)。 JIS/親指シフトとFMR系/OASYS系を判別し、動的に配列や動作を切り換えるようにしています。 また、電気的な安全性は保証しませんが、これらのキーボードを動作中に入れ換えても 動作するように実装しています。
以下のキーボードで動作を確認しています。 ・FMR60KB201 (FMR用親指、ALTが無いもの) ・FMA60KB211 (FMR用親指、ALTがあるもの) ・FMT-KB207 (FM TOWNS用親指、ALT有り、NICOLA配列) ・FMR60KB101 (FMR用JIS、ALTが無いもの) ・FACOM6140KA1 (OASYS-100系親指) ・OAKB-201 (OASYS-100系JIS)
・トランジスタ技術 2008年 8月号付録 78K0基板 ・ミニDIN6ピンプラグ ・ヒロセ電機 HR12シリーズ 8ピン レセプタクル (メスコネクタ) ・配線材料(芯線がAWG-24程度の太さのビニル被服付の縒り線) ・熱収縮チューブ(上記配線材がぎりぎり納まる程度のもの…φ1,5mm程度?) ・工具類(半田ごて・ニッパ・ラジオペンチ・刃物)・半田など ・Windowsマシンと適当なターミナルソフト
・カーソルキーを高速操作したときの挙動を修正 解析していたときに現れなかったパターンがあったようで、 普通のキーパターンと認識されて変な操作が出ていました。 改めて解析し直して対処済です。 ※詳しくは、同封のREADME.TXTを参照して下さい。