簡易キーボードの作成

    アーケードスティックにラズベリーパイを内蔵、RetroPieをインストールしてエミュ機を作りました。
    しかしMAMEで遊ぶために仰々しいUSBキーボードを繋ぐのは出来れば避けたい所。

    なので以前麻雀コントローラを作る際に使ったキーボードエンコーダを使って
    MAMEのキーボード操作をボタン化して簡易キーボードにしましたという話です。


    因みにキーボードエンコーダについておさらいすると、名前の通りキーボードの基板です。
    入力は全部で32INPUT。各INPUT毎にキーボード上のキーを自由に割り当てられます(専用ツールが必要)。
    設定内容は電源を落としても消えません。なので一回設定してしまえば
    他のマシンに繋ぐだけでそのまま使えます。

    MAMEで使うキーをこれに設定すればボタンでキーボード操作が出来るという仕組みです。

    [Ultimarc I-PAC2]
    http://www.ultimarc.com/ipac1.html

    S1701_IMG_1196.jpg

    とりあえずいくつボタンを用意してどんなキーを割り当てるか???
    ESC、TAB、RET、F3、P、そして矢印キーは必須。
    あと便利なマクロ機能の実行のために2つほど。(今のところ計11個)

    因みにマクロ機能というのはボタンを押したときに、ESC押して矢印キー押して、RETを押す、というような
    一連の動作をボタン一つでやってくれる機能です。

    もうちょっと細かく言うと、今回のI-PAC2の仕様としては・・・・
    1.登録できるマクロは4種類まで。
    2.一つのマクロに登録できるキーは4つ。(もっと欲しい)
    3.作成したマクロは32INPUTのどこにでも設定可能。
    4.登録したマクロのキーが順々に押されるタイミングは設定不可。(PCの処理が遅いと空振りもあります)


    I-PAC2の説明はこれぐらいで、とりあえず作ります。

    ケースはいつもの様に100円ショップのタッパ。www
    ねじ止め式のゲーセンボタンの位置を決めてホールソーで穴開け。
    位置決めがしやすいように100円ショップのマスキングテープをペタペタ貼ってます。

    S1701_IMG_4638.jpg

    穴を開けてボタンを設置して、キーボードエンコーダとボタンを配線、
    PCと繋いで専用ツールから各ボタンの機能を設定しました。(3分間クッキングですみません)
    最終的に割り振ったボタン機能は以下になります。

    S1701_KEY.jpg

    基本はゲームを終了するための赤(MACRO1)、トイレに行くときの黄色(PAUSE)、
    いきなりトチった時の青(RESET)の3つでOKでしょうか。

    それ以外はTABからメニューを開いて設定をする際に使ったり、終了する為の赤(MACRO1)が空振った時の対処など
    手動操作するときに使えばいいかと。

    因みに手前にある赤(MACRO2)は・・emulationStationで誤操作して
    ターミナルを開いてしまったとき、"exit" + RET で抜けるために使います。

    とりあえず作ってみましたが問題なく動いてます。けどこれでもやっぱり大きく感じますね。

    もうちょっと続きます。

    とりあえず今回はここまで。

    ==================================================
    [2017.01.10]追記

    タッパとキーボードエンコーダーで簡易キーボードを作りましたが、
    実はプログラマブルテンキーも検討してました。
    名前の通り前述のタッパと同様にキーバインドを設定できるテンキーです。
    タッパよりもコンパクト、組み込めるマクロも1マクロ当たり30文字まで、
    キートップに透明のカバーがついているのでラベルも作れるというシロモノ。
    30文字も組めるならターミナル画面からコマンドも打てるじゃん。

    [サンワサプライ NT-19UH2BK]
    https://www.sanwa.co.jp/product/syohin.asp?code=NT-19UH2BK

    値段もamazonで2000円程度と仕様を見る分にはパーペキなものです。
    結構期待して買ってみました。

    S1701_IMG_4699_ALL.jpg

    早速マクロを組んでラズベリーパイで動作確認。。
    あれ?マクロに関係なくリターンキーが全く効きません。

    advanceMAMEにある advk というツールで何が押されているのかまずは確認。
    advk:/opt/retoropie/emulator/advmame/1.4/bin/advk
    ==============================
    ( 440.1 ms) [ 1] esc[2]
    ( 8.0 ms) [ 0]
    ( 8.0 ms) [ 1] down[2]
    ( 8.0 ms) [ 0]
    ( 8.0 ms) [ 1] enter_pad[2]    ★ enter_padはテンキー側のリターンキー
    ( 8.0 ms) [ 0]
    ==============================
    普通のリターンキーでなく、テンキー側のリターンキーに割り当てられてました。 orz
    MAMEはデフォルトでは普通のリターンキーでないと反応しません。

    専用ソフトでキーボードの絵に合わせて普通のリターンキーを割り当ててみましたが、
    何をやってもテンキー側のリターンキーが設定されます(^^;;そういう仕様のようです。

    仕方ないのでMAME側で普通のリターンキーだけでなくテンキー側でも反応するように修正。
    #advancemame.rc に input_map[key_enter]で記載しようとしても対応してないので
    #GUI上から設定する必要があります。

    これでどうにかなるだろうと、再度ゲーム中の状態から実行してみましたが・・・
    3割位しか効かないですね。7割は空振ってしまいます。
    パソコンに繋いだり advk で見る分には反応しているのですが・・・・

    ======== プログラマブルテンキー ========
    ( 440.1 ms) [ 1] esc[2]
    ( 8.0 ms) [ 0]
    ( 8.0 ms) [ 1] down[2]
    ( 8.0 ms) [ 0]
    ( 8.0 ms) [ 1] enter_pad[2]
    ( 8.0 ms) [ 0]
    =====================================
    ======== キーボードエンコーダー ========
    (750.1 ms) [ 1] esc[1]
    ( 4.0 ms) [ 2] esc[1] down[1]
    ( 4.0 ms) [ 3] esc[1] enter[1] down[1]
    ( 64.0 ms) [ 2] esc[1] down[1]
    ( 8.0 ms) [ 1] esc[1]
    ( 4.0 ms) [ 0]
    =====================================

    ログを比べてみるとプログラマブルテンキーは8ms毎に1個1個キーを押してます。
    めったに空振りしないキーボードエンコーダーは(挙動が同時押しに見えますが)
    一番短くても64msはキーを押してます。

    ん???ゲーム中の負荷がかかる状態のなか、キーを押している時間が短いから
    プログラマブルテンキーが空振っているのでしょうか?


    とりあえず結論として・・・ラズベリーパイではサンワサプライのプログラマブルテンキーは
    厳しいという結論に私はなりました。(^^;;; 結構期待したのですが・・残念。


    仕方ないので当面はキーボードエンコーダーを積んだタッパで行く形になりそうです。
    けどもうちょっと小さくしたい。そのうち時間が取れたら100円ショップの電卓をベースに
    作り直すことも考えてます。






    余談ですが、タッパがなくてもCOINボタンとの同時押しで最低限の操作が出来るように設定はしてます。(^^;;;

    S1701_IMG_4702_001.jpg
    それじゃ簡易キーボードなんていらないという話にもなるのですが
    操作する度にクレジットがどんどん入っていくのが個人的には好きじゃないんです。。
    簡易キーボードを使わないならCOINボタンの代わりに
    ファンクション用のボタンを追加するのが良いのかも知れませんね。






    もしこの記事が参考になったなら拍手をお願いします

    エミュ機への改造

    ラズベリーパイを使ってエミュ機を作るのが流行っているので
    ちょっと私もアーケードスティックをベースにエミュ機を作ってみました。
    と言っても単にアーケードスティックをベースに色々と内蔵させてみただけです。

      S1701_IMG_4677.jpg

    1.スピナーの増設
      以前Ultimarc社のSpinTrackを購入したものの、お試しで使ってみただけで眠っていてもったいない。
      いい機会なのでアーケードスティックにホールソーで穴を開けてはめ込みました。
      [Ultimarc SpinTrack]
      https://www.ultimarc.com/SpinTrak.html
      
      S1701_IMG_4604.jpg

      因みにこのスピナーはX方向だけのUSBマウスとして認識されます。これでブロック崩しの類もOK。

    2.USBハブの追加
      ジョイスティックで2本、スピナー追加で合計3本のUSBケーブルになってしまったので、
      ハードオフ系のお店で仕入れた300円のUSBハブをアーケードスティックに内蔵しました。
      S1701_IMG_4686.jpg
      因みに白いUSBハブの下にある透明の矢倉はアーケードスティック内を2階建てにするために用意した
      100円ショップのトレーです。

    3.USBケーブルの交換
      元々アーケードスティックで使っていたUSBケーブルは1.8m、アケステ内のUSBハブに接続しようとすると
      長すぎるのでコネクタを作って50cm程度に短くしました。
      S1701_IMG_4640.jpg

    4.電源追加
      とりあえずスティック2本、スピナーの3本のUSBケーブルをハブで1本にしました。
      実際にラズベリーパイに繋いでゲームをしてみると、音にノイズが乗ったり
      急に何秒か動きが妙に遅くなったり、スピナーが急に認識しなくなるとか妙に不安定。

      色々接続形態を試してみたのですが変わらず。結果としてUSBハブに5V電源を追加することで
      きれいに症状が消えました。結論としてUSBハブをバスパワーからセルフパワーに変更です。

      当初はUSBケーブルだけをアーケードスティックから出す予定でしたが、ラズベリーパイと
      USBハブで2本出すのが嫌だったので、ダイソーで仕入れたACタップにUSB電源を2つつけて
      アーケードスティック内に内蔵する形にしました。
      S1701_IMG_4687.jpg

      アーケードスティックからACコードを出すとなると仰々しくなりますが、なんか逆にエミュ機っぽい感じ。


    5.外部接続端子の追加
      HDMIケーブル、そしてUSBケーブルをアーケードスティックにつなぐ必要があるので、
      パネルマウント型のケーブルを中国から仕入れてガワに取り付けました。
      S1701_IMG_4679.jpg

    ということで、とりあえずこんな形になりました。
    手前にあるタッパは簡易キーボードで、これはまた別の時に記事にします。
      S1701_ALL001.jpg


    エミュレータで遊ぶ際、デスクトップPCを利用する関係で場所が固定になるので
    PCレス(実際は内蔵してますが)で利用できる環境って昔から欲しかったんですよね。
    HDMI出力なのでTVでも液晶モニタでもOKですし。

    ということで、アーケードスティックのエミュ機への改造でした。
    もしこの記事が参考になったなら拍手をお願いします

    麻雀コントローラ自作その4

    お久しぶりです。

    年末にキーボードエンコーダを使って麻雀用コントローラを作ろう!
    更にそれを発展させて2Pのアケコンとドッキング出来る形にして・・・と色々構想はあったのですが
    年明けから忙しくて全然進んでおらず作業は中断してます(^^;;;;;


    とりあえずコントローラについては出来たところまでご報告です。

    前回麻雀コントローラの天板まで作り、ボタンの設置までやりました。
    次にハーネスの作成です。
    64個のファストン端子の圧着が思いのほか面倒くさかったです。

    S1412_IMG_1198.jpg

    GND用のデイジーチェーンになったハーネスを売ったら商売出来るんじゃないか?
    と思いながら地道に作りました。

    S1412_IMG_1235.jpg

    とりあえずハーネスは出来たので天板以外のガワ部分を作って
    写真に写るUSB基板と配線を行いながら・・・・・・という状況です(^^;;;;


    今は家族からの要望で別ネタに手を出しているので作業再開はしばらく先ですね。

    因みに別ネタについてはtwitterでチョロっと報告したりしてますが、
    気が向いたら別館の方で記事にしようかと思ってます。

    もしこの記事が参考になったなら拍手をお願いします

    麻雀コントローラ自作その3

    天板の設計はしたのであとは穴あけです。
    図面通りに穴開けする場所をけがき、12ミリのドリルで穴あけを行いました。

    具体的には一度3ミリのドリルで中心部分に穴を開け、更に表裏の両面から12ミリのドリルで穴を開ける形です。
    天板加工の手間暇から丸い穴のボタンを選びましたが、四角い穴を32個開けるなんてやりたくない(^^;

    S1412_IMG_1190.jpg

    とりあえずどんな形に見えるか?とボタンを差し込んでみました。

    S1412_IMG_1191.jpg

    相変わらずボタンが固いのは気になりますが、配置的には悪くはないですね。

    もしこの記事が参考になったなら拍手をお願いします

    麻雀コントローラ自作その2

    さて、部品の調達は出来たので次は天板の設計です。

    5ミリ厚の板にどのようなボタンをどれぐらいの幅で配置するか?
    A~N、カン、ポン、チーなど麻雀ゲームのボタンは特に悩むことはないのですが、
    ESC、RET、TABなどmame操作ボタンの設計に悩みますね。

    これが100点とは思ってませんが、とりあえずこんな設計にしました。(クリックすれば拡大します)
    まぁ・使い勝手が悪ければツールでキーアサインを変更すれば良い訳で。
    S1412_TENBAN.jpg

    300ミリx80ミリの天板に、20ミリ毎にボタンを配置。
    麻雀の操作とは別にESC、RET、TAB、F3、P、そして4方向の矢印キーを加え32INPUTとします。

    I-PAC2ではSHIFTキーを設定すれば32INPUTとは別に更にキーアサインを追加できますが、
    今回はそこまで考えてません。作って使ってみて使い勝手から必要に応じて改良すれば良いかな?と。



    もしこの記事が参考になったなら拍手をお願いします

    | NEXT>>