天高工房

キーキャップに印字して遊んだり電子工作して遊んだりしたことを書くかもしれません。

基板のシルク

シルク

「(基板の)シルク」とはシルクスクリーン印刷で基板上に印刷された何らかの図形のことを指します。

主に、部品番号の表示や、部品の取り付け向きを指示するために印刷されます。

他にも基板名などの情報を盛り込んだりします。

キーボードにおけるシルク

主にダイオードとpromicroの取り付け向きくらいでしか意識しないのではないでしょうか。

ダイオードの向き表記は様々なものがありますが基本的には部品のカソード(-)側に記されている線を示す表記になっています。具体的には「本」や「コ」です。以下のURLの画像など参考にしてください。

www.atmarkele.com

キーボードではSOC123という規格サイズのダイオードがよく使われます。KiCADのこのサイズのフットプリントでは「本」ではなく「コ」のみが使われているため、初期には「向きがわからない」という人が多数出ました。

部品番号

最近では、どんな図案で依頼しても大体綺麗に印刷してくれることからデザイン性を重視した基板が作られています。付加価値的にもよい話なのですが、一つ問題があります。どういう理由かはわかりませんが、部品番号を省略しがちなことです。

部品番号を省略することで発生する問題は二つです。部品表と実装箇所の関連付けが写真を使わないとできないということと、部品実装時に回路図との突合せができないことです。promicroを使ったキーボードであれば、実装する部品の種類が非常に少なく一目でどこに実装すべきかがわかります。一方で、例えば複数の容量の抵抗やコンデンサが混在した場合は、実装間違いの原因となります。

はんだづけ不良や部品の不良で動作不良が見られるとき、部品番号が省略されていると回路を追えません。例えば、スイッチのパッドを剥がしてしまったとしましょう。同じ行と同じ列のキーからそれぞれ行の共通部分と列の共通部分を引っ張り出して繋ぐのですが、必ずしも見た目の行列と回路上の行列一致するとは限りません。また、LED(WS2812/SK6812)の接続確認でも困るでしょう。

すべて家庭PCBAするならともかく、他者に部品を実装させるなら部品番号は必ず表記するようにしましょう。

BLE micro proで分割キーボードを定義する

今回はotaku_split_BLE/rev1を定義します。

動作確認のためには、最低限BLE micro pro2台とPC、BLEで接続可能なホストデバイス、そしてmicroUSBケーブルを2本用意しておくとよいでしょう。

ひな形をコピー

ひな形なんて存在しないので、まずキーボードフォルダを作ります。今回はotaku_split_BLE/rev1にします。

作成したフォルダの下にkeyboards/ergo42_BLE 以下をまるっとコピーします。

rules.mk

DEFAULT_FOLDERを現在のキーボードフォルダ名に変更してください。

今回はDEFAULT_FOLDER = otaku_split_BLE/rev1です。

.c.hのrename

ergo42_BLE.h ergo42_BLE.cをフォルダ名にリネームします。QMKでは今いるフォルダ名なので、今回は rev1.c rev1.hになります。

rev1.c内の読み込みファイルの変更

rev1.c内のinclude文を変更します。

#include "rev1.h"

rev1.hの移植

qmk/qmk_firmwareで利用しているrev1.hをコピーします。

config.hの書き換え

必要な部分を書き換えます。最低限の変更項目は以下の通りです。

#define MANUFACTURER
#define PRODUCT
#define DESCRIPTION

#define MATRIX_ROWS
#define MATRIX_COLS

master/config.hの書き換え

マスターデバイスで使う定義です。 ピン定義とどちらの手かを定義します。

具体的には以下です。

#define THIS_DEVICE_ROWS
#define THIS_DEVICE_COLS
#define MATRIX_ROW_PINS
#define MATRIX_COL_PINS

ピン番号は PINX(X=正の数)です。追加の2ピンには0と25が割り振ってあるため、1から24の数字で割り振れるのでそんなにつらくないです。

stonehenge30_BLE/rev1内にあるpin_assign.hをコピーして(いらない部分を削除して)includeすると、promicroと同じピン名で定義できるはず...だったんですけどどうも私の環境ではうまくいきませんでした。

また、msys2上のvimでは Shift+insertで貼り付けができます。

slave/config.hの書き換え

スレーブデバイスで使う定義です。 master/config.hと同様です。もし左右で異なるピンを割り振っていた場合はMATRIX_ROW_PINS_RIGHTなどの値に適宜置き換えてください。

keymap の書き換え

LAYOUTマクロは移植済みなので、キーマップのコア自体はそのままの移植で大丈夫です。

そのあとに、BLEのデバイス検索・接続などの機能の入り切りのためのカスタムキーコードを定義して適当なキーに割り当てる必要があります。ergo42_BLEからカスタムキーコードと関数呼び出し周りを上手に移植してください。

一通りすべての機能が「マスターデバイス上で」使えるようにしておいてください。大体どれも使うことになります。また、スレーブにもまたがっていると、スレーブがうまくつながらなくなったときに死にます。

ビルド、書き込み

マスターとスレーブで書き込みコマンド・書き込みファームウェアが異なります。

"マスター用
make otaku_split_BLE/rev1/master:default:nrfutil
"スレーブ用
make otaku_split_BLE/rev1/slave:default:nrfutil

それぞれビルドが終わったら書き込むデバイスの検索をはじめますので、検索が始まったら該当するBLE micro proのにリセットを掛けながらUSBケーブルで接続してください。ピン名としてはRSTではなくBOOTだったかもしれません。書き込みが完了したら抜いてもらって構いません。

動作確認

まず、マスターにUSBケーブルを差し込んで USB_ENを実行してください。これはマスターとホストデバイスをUSB接続可能にするキーコードです。事前にテスターなどでデバッグをしているとは思いますが、一通りのキーが入力できることを確認してください。

次に、AD_WO_L を押して検出可能モードにしてください。タイムアウト時間がいくらかは知りませんが、しばらく適当なデバイスで接続可能なデバイス一覧に表示されるようになります。

適当なデバイスで接続をして、BLE経由で入力ができることを確認してください。

忘れてましたが、スレーブデバイスにもUSBケーブルを接続して電源を供給し動作確認をしてください。

最後に、電池で動作確認してみてください。

最後に

うまく定義できたらせきごんさんのリポジトリにプルリクエストを投げてついったーで宣伝しましょう。

私はあとでなげます。

書き換えなければいけない場所が分かっていれば特につらくないと思います。

思ったより書いてきそうなので積極的に使っていきたいなーと考えています。

エンドユーザー向けには厳しいので、QMK configuratorをうまいこと使ってキーマップ書き換えを楽にする話をかかないとなーと思っています。

Otaku Split rev.1 ビルドガイド

その他の記事の紹介

ビルドログ(組み立て記録)やビルドガイド(組み立て説明)記事の紹介です。通常利用者はビルドログを、製作者はビルドガイドを書くものですが、まさかの利用者の方にビルドガイドを書いていただきました。この記事も充実させていきます...

ビルドガイド

めっちゃ詳細なものを@k69 氏に書いていただきました。

k69.hatenablog.com

ビルドログ

miz7f.hatenablog.com

Otaku Split 概要

左手33キー右手40キー、合計73キーの分割キーボードです。 日本語物理配列を基として、市販の日本語交換用キーキャップのみで足りるように設計をしました。

スイッチはMXスイッチ専用で、スイッチ向きはKailh準拠のいわゆるNorthFaceです。

部品に関して

同梱している部品表の内容を参照してください。 ダイオードだけは余分数を同梱しています。

流れ

どういう順番で行っても問題はありませんが、手戻りがないようにするには以下の手順がよいのではないかと思います。

  1. 有線専用か、無線専用かを決める
  2. ファームウェア書き込み
  3. 部品確認
  4. 実装(裏面)
  5. 実装(表面)
  6. プレート・ソケットにスイッチ取り付け
  7. ネジ止め
  8. キーキャップ取り付け
  9. 「オレはようやくのぼりはじめたばかりだからな このはてしなく遠いキーボード坂をよ...」

有線 or 無線

このキーボードは @_gonnoc 氏設計のBLE micro proに対応しています。promicroではなくBLE micro proを2つ調達することで、完全無線キーボードにすることができます。4台まで切り替えて使えるため、とても便利です。

一方でBLE micro proによる無線化はいいことばかりではありません。問題としては、2つあります。

ビルド環境を用意できるか

少なくとも2019/07/12現在ではQMKからのforkプロジェクトであるため、常にソースコードからファームウェアを作成する必要があります。そのため、Linuxの基本的な知識や、C言語に関する知識、そしてQMKに関する知識が必要です。 利用者数もそこまで多くないようなので、資料もほとんどありません。過去に手順をまとめた記事を書きましたので、この環境を再現してビルドをするまでできたら問題なく利用できると思います。逆に、どうしてもうまくいかない場合はいったん諦めたほうが気楽です。

skyhigh-works.hatenablog.com

有線と無線は排他

無線化した場合は有線での利用ができません。現在masterのみ有線で接続が可能ですが、左右のケーブルでの接続がサポートされていないのでslaveとは無線接続になります。 分割でないキーボードであれば有線にできますが、分割キーボードではどうしても左右の通信が無線になってしまうのです。

迷う人へ

まずコストを確認しましょう。promicroだと二つで1,000円程度ですが、BLE micro proだと9,000円程度になります。

次に安定性です。やはり無線は周りの環境によって入力が怪しいことがあります。

最後に利便性です。PCの前に据え置くのであれば有線でなんら問題ないでしょう。頻繁に持ち運ぶ場合はケーブルを忘れて接続できない、ということがなくなるので非常に便利です。また、スマートフォンタブレットと接続して使う場合も、いまはどのデバイスもまずBLEに対応しているのでとても都合がよいです。

キーキャップ

動作確認がすべて終わってからつけてください。ネジ穴がキーキャップに隠れるため、つけてからゆるみに気づくととてもめんどくさいです。

ファームウェア書き込み

残念なことに、組み上げたあとに問題らしい問題が見つからないのに動作しない...と困ることがあります。 そしてその原因として「不良USBケーブル・非適合USBケーブルの利用」が多いです。 先に書き込みを行うことで、早い段階で手配ができるようにするために最初に行うことを推奨してします。

https://qmk.fm/keyboards/からダウンロードしたhexファイルをQMK toolboxを書き込みに使用することで、環境構築にほとんど時間を使わずに行えます。

qmk.fm

↓以前書いた解説記事 skyhigh-works.hatenablog.com

部品確認

紛らわしい部品は今回特に用意していないですが、一応確認しておいてください。

数量確認をしていない場合はここで実施してください。

部品実装

promicroで有線利用をする場合の内容です。でも 現在写真はBLE micro pro実装のものです

表面・裏面というのは部品を取り付ける面の意味です。ただし、スルーホール部品の場合は表面に取り付けるとすると裏面からはんだ付けすることになります。表面実装部品は取り付ける側ではんだづけを行います。

表面は主に高さがある部品を取り付けます。

裏面

  1. ダイオード(33+40)
  2. ソケット(33+40)
  3. (右手のみ)ジャンパ抵抗[R3]

promicroの並びにもダイオードを取り付ける場所が2箇所ずつあります。 これはBLE micro proのボタン電池の回路で使う部分なのでpromicroだけで使う人には取り付けても取り付けなくても動作は変わりません。 ダイオードは余分数がいれてあるので、練習に使ってもよいでしょう。

裏面の実装の写真

f:id:skyhigh_works:20190718132354j:plain f:id:skyhigh_works:20190718132357j:plain

#

ジャンパ抵抗の写真 f:id:skyhigh_works:20190718132406j:plain

表面

  1. リセットスイッチ
  2. promicro(ZigZag)
  3. TRRS
  4. スライドスイッチ(側面フットプリント[SW35]および[SW42])

スライドスイッチは切り替えるとUSBを刺した側によらず右手左手が切り替わります。 もちろん、非対称キーボードであるこのキーボードで切り替えて使うことはないでしょう。設計ミスです...

スライドスイッチを取り付けない場合、promicroのきれはしでスライドスイッチのフットプリントの真ん中3つのうち、手前側2本を繋ぐと同様の動作をします。

f:id:skyhigh_works:20190718153421p:plain

表面の実装の写真

BLE micro proを使う場合

まず左右の内側に取り付けるはずだったスライドスイッチを 取り付けないでください。 代わりに、上部取り付け位置に取り付けてください。

BLE micro pro 自体は取り付けるだけで使えますが、電源としてボタン電池を使う場合は以下の部品を調達・取り付けてください。

I2Cを通信に使いたい場合

左右いずれかにプルアップ抵抗を追加してください。

  • 抵抗(1608) x2

小技

skyhigh-works.hatenablog.com

ZigZag promicro

  1. ブレッドボードなどを使ってピンがまっすくになるようpromicroを裏向きにしてはんだ付けする
  2. 穴にがんばって差し込む
  3. 電源が不安定だったり、列/行単位で動作がない場合は、一度基板からpromicroを抜き取り、該当する足をペンチでほんの少しだけ傾ける
  4. めんどくさい場合は接触不良の足にだけ、少量はんだをいれる

左手promicro向き写真(右手はUSB向きのみ180度変更、部品面下のまま)

f:id:skyhigh_works:20190718132752j:plain

firmware

QMK configuratorで作成を推奨しています。 COMPILEを押して、芋が焼き終わったらFIRMWAREを押してhexファイルをダウンロードしてください。

もしキーマップを編集していた場合は3. Keymap.jsonからダウンロードできます。次回は右側の上矢印からアップロードすることで、編集した内容を読み込めます。

config.qmk.fm f:id:skyhigh_works:20190718140019p:plain

書込みはQMK toolboxで行ってください。 上記ページの"Get QMK toolbox"からダウンロードできます。

Openで先ほどダウンロードしたhexファイルを読み込ませます。

autoflashにチェックを入れて、promicroにUSBを差し込み、リセットボタンを押してリセットをかけてちょっと待つと書き込みが始まります。書き込みが終わったら大抵の環境ではUSBデバイス接続音が鳴ります。

f:id:skyhigh_works:20190213160819p:plain

分かる人はqmk/qmk_firmwaregit cloneしてsh ./util/qmk_install.shしてmake otaku_split/rev1:default

keymap

QMK configuratorに対応しています。

現在初期値がすべてKC_NOになっているので、基本的なキーコードを打ち込むのがめんどくさいという人は以下のjsonファイルをkeymap.jsonとして読み込ませてください。ひな形として使うことができます。一度ダウンロードしてから読み込ませてもいいですが、雲に上矢印のアイコンボタンを押して、gistのrawのURLを入力するとダウンロードせずに読み込ませることができます。

オタクスプリットrev1のQMK configurator向けサンプルキーマップです。keymap. ...

CapsLockの位置にEscを突っ込んであることと、そこら中にLT()が突っ込んであること以外は定番で入れてあります。

出来たkeymapは、保存機能はないのでkeymap.jsonの左側、ダウンロードボタンでjsonファイルをダウンロードしてください。読み込ませることでまた編集することができます。

keymap.jsonボタンの右側にある印刷ボタンから、一覧表示ができます。スクリーンショットを撮影したのち、可能であればkeymap.jsonを添えて #オタクスプリット ハッシュタグを付けて投稿していただけますと幸いです。slackでもお待ちしております。

「オレはようやくのぼりはじめたばかりだからな このはてしなく遠いキーボード坂をよ...」

組み立て・動確お疲れさまでした。

色々な意見はありますが、私はキーボードキットのことをPCのベアボーンキットと同程度のものだと思っています。  このキットは適当なMXスイッチとMX用キーキャップ、そしてデフォルトキーマップのファームウェアがあればとりあえずは使えます。

しかしキーボードキットに手を出してしまうような人間であれば、使っているうちに大小の不満が発生するでしょう。あのキーよく使うんだけど使いやすい場所にないな、とか。このスイッチ重い/軽いとか。このスイッチとキーキャップの組み合わせの音が不満だとか。めんどくさがらずに、不満とその理由を書き出してコストと突き合わせて対策をしていきましょう。最終的にはケースを独自に設計してもらえると嬉しいですね :)

pcbnewのpythonコンソール

自分用メモ

パス

KiCADのインストールフォルダ。WindowsだったらC:\Program Files\KiCADとかそんな感じの場所

shell.run(COMMAND)cdなど実行可能なので、起動後にプロジェクトフォルダに移動するといい感じ

cdとlsはそのままつかえた。

定型

とりあえずimport pcbnewはしとくとよさげ。

pcb=pcbnew.GetBoard()もしておくとよいかも。

Helix LED Plate (WIP)

概要

Helixのボトムプレートです。

Helix基板の穴の位置にLEDが来るように作成してあるので、LEDを実装することで光らせることができます。 Helix基板のLEDの実装が辛いと思う人如何でしょうか。

フットプリント

SK6812miniの手はんだ用のフットプリントを作りました。ちょうど頂点がシルクに合うように作ってあります。向きは三角形に閉じているシルクと、SK6812miniの4隅のうち三角にカットしてある頂点を合わせてください。

角を合わせたら何らかの方法で固定して、4か所はんだ付けをしてください。浮かないようにするのが重要です。

連続でやる場合は、片側2か所ずつやっていくといいでしょう。

f:id:skyhigh_works:20190523112854j:plain

信号線は基本的に行方向につながっています。方向が変わる場所には矢印を書いておいたので途中から光らなかった際に参考にしてください。

内容物(全部入りの場合)

  • 基板
  • SK6812mini 35個
  • 2mm厚ゴム足4個
  • 細めのワイヤー3本(太さは在庫による、AWG30など)

【QMK】JPキーボードチートシート

新しいキーボードを作るたびに、新しくキーボード定義とキーマップを起こす必要があります。 いい加減めんどくさくなってきたところでwrapperという文化を知った*1のでその話と、ついでにJPキーボードとして定義する際のチートシート的なものをまとめます。

wrapper

可変長引数マクロを利用した、多重マクロ?を使った省略形です。

キーボードで、特にOrtholinearな分割キーボードを定義する場合は、各行5文字単位でひとまとまりの定型となっています。 繰り返し出てくるパターンなので、例えばKC_Q,KC_W,KC_E,KC_R,KC_Tの5文字をまとめて___QWERTY_L1___と定義したとしましょう。 これを単純にLAYOUTマクロでくるむと「引数の数が違うぞ」と怒られます。なので間に可変長引数を受け取れるようにしたLAYOUT_wrapperを確保します。

可変長引数マクロはGCCの機能だそうで、__VA_ARGS__を与えることで実現できます。

#define LAYOUT_wrapper LAYOUT(__VA_ARGS__)

定型化している部分を都度コピーしてもよいですが、qmk_firmwareには./usersフォルダーがあります。この中にユーザ名/wrappers.hを定義することでincludeするだけでどのキーボードでもマクロをすぐに使いまわすことができるようになります。

github.com

例えば、QMKメンテナのdrashnaさんがCorneなどでやっています。

github.com

JPキーボード

さて、上記の範囲はどのキーボードでもほぼ固定となりますが、JPは追加の記号が必要です。

ANSI104にあるキーは同じ位置、ないキーはKC_INTXになります。

項目 キーコード
R1 半角/全角 KC_GRV
R1 ハイフン/イコール KC_MINUS
R1 サーカムフレックス/チルダ KC_EQL
R1 YEN/パイプ KC_JYEN/KC_INT3
R2 アットマーク/バッククオート KC_LBRC
R2 左かっこ KC_RBRC
R3 セミコロン/プラス KC_SCLN
R3 コロン/アスタリスク KC_QUOT
R3 右かっこ KC_NUHS
R4 バックスラッシュ/アンダースコア KC_INT1/KC_RO
R5 無変換 KC_MHEN/KC_INT5
R5 変換 KC_HENK/KC_INT4
R5 ひらがなカタカナ KC_KANA/KC_INT2

ここら辺使ってそろそろXD75をAtomicLikeLayoutから移行しつつ、XXX4x7*2向けのキーマップ用意していきたいなーと思います。

*1:SMKJで紹介されてるのを見た

*2:X-Switch専用の4x7 Ortholinear

ADKB96が発売したのでキーマップの話をする

前書き

ビットトレードワンからErgo42、そしてADKB96が発売することが決定しました。

bit-trade-one.co.jp

まだ正式には公表されていないようですが、JPキーボードなキーマップを想定しているようです*1ファームウェアはQMKです。

discordapp.com

単層で使えるような想定だそうです。自分でレイヤーを作成し、色々割り当てることによって、より楽しい体験が得られることでしょう。

config.qmk.fm

この記事について

この記事は「フルキーボードやレンキーレス、60%を使っている人間がOrtholinearに緩やかな移行をするための記事」です。

現在私はXD75*2でJPキーボードなキーマップを使って利用しています。「緩やかな移行」を求めて色々やったので、よりよい体験の提案ができると考えました。

f:id:skyhigh_works:20190419125121p:plain
2018年に使っていたキーボード(左上の上、http://romly.com/archives/2018/08/mft2018_report.htmlより)

逆に「俺は気合いで乗り切るんだ!」という人や、すでにOrtholinearに慣れている人は読んでもあまりいいことがないと思います。

知っておくべき同系統のキーボード

XD75と、Atomicを知っておくべきです。

Atomic

PlanckやPreonicのOLKBが過去に販売していたキーボードです。販売されなくなった理由は不明です。

github.com

特徴は、見ての通り5x15のOrtholinearがベースになっていることです。最下段は6.25uスペースを使うために、1.25u x3 +1u x5になっていますね。

XD75

XD75自体は、Preonicの間に3列追加したようなレイアウトが想定されているようです。専用アルミケース・ソケット基板で手に入ることから所持している人は実は多いです。

github.com

Atomicがなくなってしまったからか、Atomic_styleという名前のキーマップが定義されています。

KPRepublicで全実装かつソケットの基板XD75reと、専用アルミケースが用意されているためはんだ付けを一切せずに、ドライバーとキャップ・スイッチプラーがあれば組み立てて利用できる手軽なキーボードです。

Ortholinear60%(Atomic Style Keymap)で知っておくべきこと

ZはAの下にない

一般的なキーボードではAの下にZはありません。そこにはShiftがあります。 厳密には、Aの真下やや左にShiftがあって、その右にZがある、といった感じです。

一方で、OrtholinearではZはAの真下にあります。

Ortholinearに移行したときのミスタイプで最も違和感が強いのがこの違いだと思います。なので、思い切って左Shiftを一つ多くして、代わりに右Shiftを一つ削ってください。これだけで、少しの違和感で打鍵することができるでしょう。

慣れてきたら、左Shiftを一つ削って、完全左右対称なOrtholinearにするとほかのOrtholinearに移行しやすくなると思います。

数字はお好きなように

アルファベットとは逆に数字キーはどうでもいいと思います。なぜなら基本的に届かないからです。

ADKB96ではQの上に2を置いていますが、1にして問題ないのではないかと思います。

レイヤーを定義するならば、Q行に1から0まで割り当ててしまうとよいと思います。これならばホームポジションから確実に届きます。

その他、自由に配置できるので、例えば8642013579といった配置もよいでしょう。20が打ちやすいので西暦年が打ちやすいです。何言ってんだお前、と言われるかもしれませんが、QWERTY配列でIとOが右上にあるのは実はだいたい同じ理由です*3

親指は6キーまで使える

普段親指をどんな感じで使っていますか? 意識してみると、少なくともスペースキーを叩くときは同じ指で同じ位置を叩いていると思います。

片方の親指は1u幅であれば大体3キーまで判別、利用できます。デフォルト配列ではスペースキーが中央からずれています。この状態だと、左手はスペース3キー、右手はスペース、変換、カタカナひらがなの3キーになります。

おそらく4キーあるスペースのうち1キーしか使われることはないので、使われないことを確認したらほかのキーを突っ込みましょう。EnterやBackSpaceがおすすめです。かな打ちをしないのであれば、カタカナひらがなを削って位置を中央にずらしてもよいかもしれないし、半角全角あたりを持ってきてもいいかもしれません。

邪魔なキーはどければいい、必要なキーは差し込めばいい

親の仇のように嫌われているキーといえばCapsLockです。ゲーマーにはWindowsキーもあるでしょうか。邪魔ならば、デフォルトレイヤーから消し去ってしまえばよいのです。ただし、たまーにつかうことがあるので、裏レイヤーに入れておくと平和です。

私の場合、何故かCapsLockの位置にEscがいます。私個人は使う頻度が高いので、とても満足しています。また、PrintScreenを押したい時がたまにあるので、裏レイヤーのBackSpaceの位置に置いています。

ファンクションキーも、裏レイヤーの数字位置にいれていますね。アルファベット位置まで下げてきてもよい気がしていますが、記号とかもうちょっと優先度高いキーがあるのでどう折り合いつけようかなぁと考えています。

「最初から自由にしてよい」となるとどう動くかとても悩みますが、ある程度地続きの指針が用意されている状況だと比較的移行が用意だと思います。これを機に60%Ortholinear(もしくは75%?なADKB96)から始めてみてはいかがでしょうか。

*1:SMKJにいらっしゃったので、質問したら返答もらえた

*2:厳密にはXD75re

*3:ファミコンのように収録できる文字数に制限があったので、形状が似た文字はまとめられていた。この場合は1とI、0とO。数字単独は2から9までしかなかった