FMR/FM TOWNS/OASYS用キーボード USB変換アダプタ

FMR/FM TOWNS/OASYS用キーボードをUSB接続にてPCで使えるようにする為のアダプタです。

 

 

概要

  • FM TOWNS用キーボードをUSB接続に変換してPCで使用可能にします
  • JISキーボード、親指シフトキーボードを自動で判別して、それぞれ最適化されたキー配置を提供します
  • 設定ツール(Windows用)を使ってユーザがキー配置を自由に変更できます
  • 機能キー(いわゆるFnキー)を設定する事も可能です
  • 親指シフトキーボード使用において、エミュレータによっては「シフト左、シフト右」をどのキーとも共通しない完全に独立したキーとして使用する事が可能です。

FM TOWNS用キーボードは非常に種類が多く、さらにはFMR用キーボードや一部のOASYS専用キーボードとも互換がありますが、本アダプタは8pinコネクタ1 を持つ以下のキーボードで実際に動作を確認しています。

  • JISキーボード FMT-KB101(テンキーレス)
  • JISキーボード FMT-KB105
  • JISキーボード FMT-KB107/1071(拡張キーあり)
  • 親指シフトキーボード FMT-KB201(テンキーレス)
  • 親指シフトキーボード FMT-KB205
  • 親指シフトキーボード FMT-KB207/2071(拡張キーあり)
  • OASYS 30-AX用キーボード (JIS/親指シフト)
  • OAKB-121 (親指シフト。OASYS 30-AXの保守部品扱い?)
  • OASYS用 OAKB-101 親指シフトキーボード
  • OASYS用 OAKB-201 JISキーボード
  • FMR用親指シフトキーボード FMR60KB211
  • FMR用JISキーボード FMR60KB102
  • FMR用JISキーボード FMR50AKB11

上記以外のキーボードでも動くかも知れませんが保証は致しません。 バリエーション違い多すぎ
また、一部のOASYS用キーボード、FMR用キーボードの中にはコネクタ形状が異なるものがあるようです。それらキーボードは当アダプタでは使用出来ません。

左側が当アダプタが対応している8pinコネクタ (ヒロセ HR12) です。右側は古い世代のOASYSに付属していたキーボードの13ピンコネクタです。当然ながら当アダプタでは使用出来ません。

なお、富士通のメインフレーム (GlobalServer?) で使用されるキーボードも形状が同じ8pinコネクタのようですが、こちらは本アダプタでは使用できません。ご注意下さい。

親指シフトキーボードにも対応しますが、PCからアダプタを見た場合はJISキーボード扱いであり、アダプタは個々のキーに定義されたキーコードを1対1で返す だけの処理を行っています。よって、親指シフトを使用する場合は(例えば『やまぶき』やJapanistの『快速親指シフト』と言った)なんらかのエミュレータの併用が前提となります。

 

お断り

本アダプタは同人ハードです。それなりのテスト期間を設けて動作確認を行っていますが、あらゆる環境において必ず動作することを保証するものではありません。

いかなる場合においても、本アダプタを使用したことによって生じた逸失利益、特別な事情から生じた損害(損害発生について予見し、または予見し得た場合を含めて)、および第三者からの損害賠償請求に基づく損害について、使用方法を問わず当方は一切の責任を負いません。

動 作確認は自作Windows機 (Windows7 64bit / Windows8.1 64bit / Windows10 64bit)、ノートパソコン(Windows7 32bit、WindowsXP 32bit)、Androidタブレット(SHARP SH-08E)で行っています。

組立てには有鉛ハンダを使用しています

予告無く仕様、本ドキュメントの内容を変更する場合があります

 

使い方

アダプタにキーボードを繋いだ後、アダプタをUSBケーブルでPCに繋いで下さい。アダプタが通電している状態でキーボードを繋がないで下さい。

アダプタにキーボードを繋ぐ際は、キーボードコネクタをしっかり保持してケーブルを差し込んでください。コネクタ抜き差しが若干固めですので、コネクタにストレスがかかるような抜き差しは控えて下さい。

基板上に2本のジャンパが存在しますが、通常はオープンのまま使用します。キーマップのカスタマイズを行う場合に、本ジャンパをジャンパブロックでショートしてからアダプタをPCに繋ぎます(後述)

正常な状態ではアダプタのLEDが約1秒周期で点滅します。加えて、キーボードのキーを操作するとそのタイミングでLEDが変化します。

 

キー配置

FMT-KB107の変換後キーマップです。本来のキーをキートップに記載されたキーに変更します。

 

FMT- KB207の変換後キーマップです。本来のキーをキートップに記載されたキーに変更します。親指右、親指左はデフォルトではそれぞれF23、F24にマッ ピングしていますので、両キーのキーコードを取得可能なエミュレータを使用して下さい(やまぶき/やまぶきR/親指の友など)。

 

仕様制限

USBサスペンドに付いて

本アダプタはPCがスリープしてもキーボードに対して給電し続けます。ノートPCやタブレット等バッテリ消費が気になるデバイスでサスペンドを多用する場合はご注意下さい。

 

キーマップのカスタマイズ

本アダプタは繋がっているキーボードがJIS配列か親指シフト配列かを自動で判別し、それぞれの配列用に用意されたキーマップを使用するようになっていますが、さらに使用者が好みのキーマップへカスタマイズする事が可能です。カスタマイズ内容はアダプタに記録されます。

なお、キーマップカスタマイズ中は本アダプタに接続されたキーボードは使用出来ません。(後述しますが、事前にカスタマイズの内容を書いた設定ファイルを用意しておけばマウス操作だけでカスタマイズ可能です)

設定ツール、設定ファイルサンプルをダウンロードして解凍すると、次のファイルが入っています

  • configtool.exe  (キーマップ設定ツール)
  • FMTOWNS_JIS.txt (デフォルトのJISキー配置のキーマップ定義ファイル)
  • FMTOWNS_OYA.txt (デフォルトの親指シフトキー配置のキーマップ定義ファイル)

設定ツールはWindows7 / Windows8.1 / Windows10 で動作確認を行っています。なお、実行に際しては.NET Framework 3.5 がOSにインストールされている必要があります。Windows8.1 /10 については設定ツール実行時に.NET Framework3.5 の導入を求められる場合があります。

 

設定ツールの使い方

1. アダプタがメンテナンスモードになっている状態でconfigtool.exeを起動します

IMG

 

2. 接続ボタンをクリックします。正常に接続できたらステータスバーに「接続しました」と表示されます。また、各ボタンが有効となり押下可能な状態に変化します

3. ADRと書かれた入力欄にはFM TOWNSキーボードのキーコードを16進数で入力し、VALと書かれた入力欄にはキーを押下した際にPCに通知したいキーのキーコード(= USB HID キーコード)を16進数で入力します。

両方の入力欄にコードを入力したら [W] ボタンをクリックして設定をアダプタに記録します。設定が正しくアダプタに記録されたらステータスバーに「設定完了」と出力されます。

なお、ADRの入力欄にFM TOWNSキーボードのキーコードを入力して [R] のボタンをクリックすると、現在の設定値を読み出してVAL欄に表示します。

 

FM TOWNS用JIS配列キーボード、FMT-KB107のキーコードは下図の通りです。

 

同じくFM TOWNS用の親指シフト配列キーボード、FMT-KB207のキーコードです

 

 

その他参考資料

OASYS100付属 OAKB-101 親指シフトキーボード

OASYS 30-AX401付属 親指シフトキーボード

 

 

USB HIDキースキャンコード一覧はこちらです
USB HID キーコード (一覧表形式)
USB HID Keyboard (表形式)

 

設定例1) カーソルキー右(キーコード 0x51) を “無変換” キー (キーコード 0x8B) に設定する

configtool_2

 

※ 機能キー(Fnキー)について
VAL入力欄に “FF” を設定したキーは機能キー(Fnキー)として扱われます。例えば実行キーを機能キーとして設定する場合は ADR=73, VAL=FF と設定します。

設定例2) 実行キー (キーコード 0x73) を機能キーに設定する

configtool_3

機能キーに設定したキーについては押下状態はホスト(PC)には一切通知されません。

各キーのキーマップ設定時 「Fnキー同時押し」のチェックボックスにチェックが入っていると、機能キーと一緒に押下した場合にPCに通知されるキーの設定となります。例えば「機能キーとフルキー [1] の同時押しで [F1] 押下とする 」設定は以下のようになります。

設定例3) 機能キーとフルキー1 (キーコード 0x02) の同時押しをF1キー (キーコード 0x62) とする

configtool_4

制限事項
拡張キー(左端縦1列の6キー、前述のスキャンコード図において赤で記したキー)については設定の変更は出来ません。

 

4. 全てのキーについて設定が完了したら、最後に「有効化」ボタンをクリックして下さい。これでカスタマイズ設定が有効になります。逆にカスタマイズ設定を無効にしてデフォルトのキーマップとする場合は「無効化」ボタンをクリックします。(無効化を行ってもカスタマイズの内容は記録されたまま残っています)

5. 有効化を行ったら最後にResetボタンをクリックするか、本アダプタを一度PCから抜いて再度接続してください。アダプタが通常モード(LEDの点滅が1秒周期)で起動し、キーボードからのキー入力が正常に行える事を確認してください。

 

設定ツールの使い方(一括設定)

事前にキーマップの定義ファイル(テキストファイル)をテキストエディタ等で作成し、それをインポートする事で複数キーの設定を一括して行う事が出来ます。

 

;
; 定義ファイルサンプル
;
00,A5   ; アドレス 00 には必ず 0xA5 を設定する
; 
01,29   ; ESCが押されたら "Esc" キーを発生させる
02,1E
03,1F
04,20
:
81,E2   ; Fn同時押しは元のキーコード(0x01) に +0x80 足したアドレスに設定
;

 

定義ファイルは1行に1キー分、 “<スキャンコード>, <HIDキーコード>” の書式で記述します。スキャンコード、キーコードとも 16進数で記述します。また、セミコロン以降の文字はコメントとして無視します。行頭にセミコロンを書いた場合は行全体が無視されます。

Fn キー同時押しの定義については、スキャンコードを「元のスキャンコード + 0x80」として下さい。例えば、スペースキー(0x35)とFnキーの同時押しで左ALT(0xE2)を発生させる場合、定義ファイルには “B5, E2” と記述します。(0x35 + 0x80 = 0xB5)

具体的なツールの使い方は前述の “キー個別設定” と変わりませんのでそちらを参照して下さい。唯一、手順 3について

個別設定 → ADRとVALに値を入れてWボタンをクリックする
一括設定 → importボタンをクリックして定義ファイルを指定する

と読み替えて下さい。設定ファイルをimportした後は、個別設定と同様に有効化とリセット(あるいはUSBケーブルの抜き差し)を行って下さい。

その他設定ファイルの細かい仕様については、サンプル設定ファイル内のコメントも参考にして下さい。

 

FAQ

Q1: FMT-KB107/207使用において任意のキーと拡張キー(左端縦1列の6キー)の同時押しが使えません
A1: 多分キーボード側の仕様です。拡張キーは他キーとの同時押しが出来無いようです。

Q2: 1つのキーに対して、2つ以上のキーの同時押しを設定したい
A2: 出来ません ユーザ定義マクロを使えば可能です

Q3: 1つのキーに対して、2つ以上のキーの連続した打鍵を設定したい
A3: 出来ません ユーザ定義マクロを使えば可能です

Q4: 2つのカーソルキー(例えば “↓” と “→”)を交互に連打してもスムーズな斜め移動が出来ない
A4: 多分キーボード側の仕様と思われます
(2015.3.20追記) アダプタ側の考慮漏れでした。カーソルキーを複数同時に打鍵した場合にのみ?発生するスキャンコードを見落としていました。現在は対応済みです。

 

ダウンロード

 

ファームウェア更新履歴

3.0
  • uploaderにて公開中
1.20 (20160205)
  • 親指シフトキーボードにおいて拡張キーが機能していなかった不具合の修正
1.10
(20150320)
  • 異なる2個のカーソルキーの連打(例えばカーソルの斜め移動)においてキーの取りこぼしが発生していた不具合の修正
初版

 

  1. ヒロセ HR12 []

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です