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

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

USB2FMR_R2

旧モデル
FMT2USB

 

 

概要

  • FMR/FM TOWNS/OASYS用キーボードをUSB接続に変換してPCで使用可能にします
  • JISキーボード、親指シフトキーボードを自動で判別して、それぞれ最適化されたキー配置を提供します
  • すべてのキーについて、設定ツール(Windows用)を使ってユーザが自由にキー配置を設定出来ます。
  • いわゆるFnキーを設定する事が出来ます
  • Fnキーは「単独打鍵時は普通のキー入力、別のキーと組み合わせて打鍵した場合はFnキーとして機能」というワンショットモデファイアの設定も出来ます
  • メディアコントロールキー、システムコントロールキー (PowerやSleep) が設定出来ます
  • 簡易のマクロ (8step or 16step) が設定可能です
  • 親指シフトキーボードにおいて、「親指左、親指右」を「変換、無変換」とは別のキーに設定して「真の (?) 親指配列」にすることが出来ます (ただし使用するエミュレータが対応している必要があります)。

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で返すだけの処理を行っています。よって、親指シフトを使用する場合は(例えば『やまぶき』やJapanistの『快速親指シフト』と言った)なんらかのエミュレータの併用が前提となります。

 

お断り

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

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

動作確認は自作機 (Windows7 64bit / Windows8.1 64bit / Windows10 64bit)、ノートPC(Windows7 32bit、WindowsXP 32bit)、Android(SHARP SH-08E)、RaspberryPi3 で行っています。

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

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

 

 

使い方

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

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

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

 

キー配置

FMT-KB107_CONV

FMT-KB107のデフォルトキーマップです。本来のキーをキートップに記載されたキーに変更します。テンキーのイコール、”000″ も再現しています。

 

FMT-KB207_CONV

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

 

仕様制限事項

USBサスペンドについて

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

キーボードからのスリープ解除について

WIndows10で使用する場合、環境によってはスリープ解除が正しく機能しないことがあるようです。(スリープしても即座に自動でスリープが解除される等)
このような場合は Windowsのキーボードプロパティにて「このデバイスでスタンバイ状態を解除出来るようにする」のチェックを外して下さい。

keyboard_property

 

 

キーマップのカスタマイズについて

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

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

設定ツールはWindows7 /  Windows10 で動作確認を行っています。なお、実行に際しては.NET Framework 4.6 がOSにインストールされている必要があります (Windows10 はOS標準で入っていますのでインストールの必要はありません)。

 

アダプタをメンテナンスモードで開始させる

アダプタの背面に磁力でONになるスイッチがあります。このスイッチに磁石を近づけたまま、アダプタをPCに繋いで下さい。メンテナンスモードで開始した場合はLEDが高速に点滅します2

config-sw

 

設定ツールの使い方(キー個別設定)

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

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

 

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つ以上のキーの同時押しを設定したい (Ctrl + Alt + Delのような)
A2: ユーザ定義マクロ機能を使用して下さい

Q3: 1つのキーに対して、2つ以上のキーの連続した打鍵を設定したい
A3: ユーザ定義マクロ機能を使用して下さい

Q4: 配布について
A4: メールにて在庫を問い合わせ下さい。送料込み3000円です。
USB2FMRはやや特殊なコネクタを使っている関係で、他の変換アダプタに比べて納期が長い場合がありますのでご了承願います。

 

ダウンロード

 

ファームウェア更新履歴

3.0
(20200101)
  • Firmware ver 3.0
  • intel macにおいて起動画面でキー操作が出来ない不具合への対応
  • OSX/macOSにおいてJIS配列キーボードの日本語固有キーが使用出来ない不具合への対応
  • 拡張キーを含むすべてのキーについてアサインを変更出来るモードを追加
  • 簡易のユーザ定義マクロ機能を追加
  • Fnキー機能を追加 (Fnキーは「単独で打鍵したらXXXキーとして機能、別のキーと同時に打鍵したらFnキーとして機能」といったワンショットモデファイアキーとしても設定可能)
  • マルチメディアキー、電源管理キーの定義機能を追加
  • アダプタLEDの点灯パターンを指定する機能を追加
1.20 (20160205)
1.10
(20150320)
  • 異なる2個のカーソルキーの連打(例えばカーソルの斜め移動)においてキーの取りこぼしが発生していた不具合の修正
初版

 

 

  1. 初期設定。LED設定を変えた場合はこの限りではありません []
  2. なおWindows10の場合、一定時間放っておくとLEDは勝手に消えますが正常です []

コメントを残す

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