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

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

FMT2USB

 

 

概要

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

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

  • JISキーボード FMT-KB101(テンキーレス)
  • JISキーボード FMT-KB105
  • JISキーボード FMT-KB107/1071(拡張キーあり)
  • 親指シフトキーボード FMT-KB201(テンキーレス)
  • 親指シフトキーボード FMT-KB205
  • 親指シフトキーボード FMT-KB207/2071(拡張キーあり)
  • OASYS 30-AX用キーボード (JIS/親指シフト)
  • OASYS用 OAKB-101 親指シフトキーボード
  • FMR用親指シフトキーボード FMR60KB211
  • FMR用JISキーボード FMR60KB102

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

F6130_CONN2

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

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

 

お断り

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

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

動 作確認は自作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_CONV

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

 

FMT-KB207_CONV

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

 

仕様制限事項

USBサスペンドに付いて

本アダプタはUSBデバイスサスペンド動作を行いません。USBの仕様ではUSBホスト (PC) がスリープ状態となったらUSBデバイスも速やかに省電力モードに移行すべしと定められていますが、本アダプタはUSBホストがスリープしてもそのまま通常モードで動き続けます。また、キーボードに対して給電し続けます。ノート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を起動します

configtool_1

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

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

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

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

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

FMT-KB107_CODE

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

FMT-KB207_CODE

その他参考資料

USB HIDキースキャンコード一覧はこちら

設定例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
01,29   ; ESCキー(FMT=01)が押されたらEscape(HID=29)の入力を発生させる
02,1E
03,1F
04,20
;
B5,E2  ; Fnキー同時押しは元のキーコード(35)に0x80を足した値(B5)を左側に記述

 

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

なお定義ファイルを使って一括登録を行う場合、機能キー同時押しの定義の定義についてはキーボードのキーコード(カンマの左側の値)を「元のキーコード + 0x80」として下さい。例えば、スペースキー(35)とFnキーの同時押しで左ALT(E2)を発生させる場合、定義ファイルには “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追記) アダプタ側の考慮漏れでした。カーソルキーを複数同時に打鍵した場合にのみ?発生するスキャンコードを見落としていました。現在は対応済みです。

Q5: 配布等について
A5: メールにて在庫を問い合わせ下さい。送料込み3000円です。
USB2FMRだけは他の変換アダプタに比べて納期が長い場合がありますのでご了承願います1

 

ダウンロード

 

ファームウェア更新履歴

1.20 (20160205)
1.10
(20150320)
  • 異なる2個のカーソルキーの連打(例えばカーソルの斜め移動)においてキーの取りこぼしが発生していた不具合の修正
初版

 

 

Tweet about this on TwitterShare on FacebookShare on Google+
  1. 1個1000円近い部品を何個もストックしてられないので []

FMR/FM TOWNS/OASYS用キーボード USB変換アダプタ」への4件のフィードバック

  1. 茶暮れ

    初めましてこんにちは。
    家にあるJISキーボード FMT-KB107を使えないか検索中にたどり着きました。
    配布はもう行っていないのでしょうか?

    返信
    1. fes 投稿作成者

      訪問ありがとうございます。
      メールさせて頂きましたのでご確認下さい。

      返信

コメントを残す

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