0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめてのアドベントカレンダーAdvent Calendar 2023

Day 2

Remap対応のNewton keyboadのUSBコンバーターを作成

Posted at

Newton keyboard

Newton keyboardは、Newton MessagePad用の小さなキーボードです。
絶妙なデザインの製品。インターフェースは、特殊なのでそのままでは、PCにつながりません。
USBコンバータを自作する人とかもいます。
Arduinoで変換するのを見つけたのですが、キーリピートができないとかカスタマイズを自分でいろいろコードを書かないといけないというのがありました。でも、最近、TMK keyboardに対応しているTMK Keyboard for Apple Newtonのを見つけました。これなら、QMK対応もできるのではないか、そうすればRemapに対応できると便利になると思い、QMK対応にチャレンジです。

参考にしたサイト

要約

ここにソースコード、Newton keyboard USBコンバータのソース、ファームウェア、Remap用のjsonファイルを置きました

必要なもの

  • Apple Newton keyboard (X0044)
  • Pro micro 5V/16MHz
  • PHR-6 コネクターハウジングと、Pro microとつなぐワイヤー
  • Pro microとPCをつなぐUSB ケーブル
  • はんだ付け版に必要なだ道具や、ワイヤーをストリップするための道具など

QMKをコンパイルする環境も必要ですが、ここでは省略させてください。
PHR-6 コネクターハウジングは、aitendoで買いました。

ファイル構成

最低限必要なファイルは、QMKのファイルとremapにキーボード情報を渡すjsonファイルです。

QMKのNewton keyboadのUSBコンバーター

QMKに必要な最低限のファイルは以下になります。それ以外に自分ようにカスタマイズしたファイルとかあります。

newton_usb
├── config.h
├── info.json
├── keymaps
│   ├── default
│   │   └── keymap.c
│   └── via
│       ├── config.h
│       ├── keymap.c
│       └── rules.mk
├── matrix.c
├── readme.md
└── rules.mk
  • config.h: マトリックスのサイズを定義しています
  • info.json: キーのマトリックスを定義しています
  • matrix.c: Newton keyboardから送られてくるキーコードをマトリックスに変換しています
  • readme.md: これはドキュメント
  • rules.mk: コンパイルの定義ファイルです
  • keymaps/default/keymap.c: マトリックスに対応するキーを定義しています
  • keymaps/via: via/remapに対応するための定義です。keymaps/defaultをベースにvia/remapに対応に必要な設定を入れています

remap用のjsonファイル

newton_usb.json
  • newton_usb.json: viaやremapで使うファイルです。キーボードのマトリックスとレイアウトが書かれています

コンパイル

コンパイルするにはいろいろ準備が必要ですが、ここでは省略させてください。
remapに対応するためviaのキーマップを利用します。via用のコンパイルは以下のような感じです。

qmk compile -kb converter/newton_usb -km via

または

make converter/newton_usb:via

できたファームウェアの書き込み

Pro Micro Web Updaterをありがたく使わさせていただいています

ハード構成

私は、Newton keyboardの内部にPro microを入れました。その時の情報です

Newton keyboard PCB/PHR-6 Pro micro board
6 GND GND
5 5V VCC
3 DATA RXI
Newton keyboard PCB
-------.
       |                    Pro micro board
       |
 PHR-6 connector            .---|USB|---.
.------|                    |           |
|6 GND +-----------------------------------.
|5 5V  +-----------------------------------|-.
|4     |                    |           |  | |
|3 DATA+--------------------+RXI     GND+-'  |
|2     |                    |           |    |
|1     |                    |        VCC+---'
`------|                    |           |
       |                    |           |
       |                    |           |
FPC connector               |           |
.------|                    |           |
|      |                    `-----------'

VCCとか配線が間違っていないか確認します。間違っていると壊れてしまいます。念には念を入れて確認してください。

PCとの接続

PCにつなぐとUSBキーボードとして認識されキー入力ができるようになります

Remapによるキーマップの変更

Remapにアクセスします

「CUSTOMIZE YOUR KEYBOARD]をクリックして進むと「Connect your keyboard supporting the VIA feature to this PC.」と表示されます。
今回、USB対応Newton keyboardを接続します。
「+KEYBOARD」をクリックして進めてください。

ここも省略させてください。

さいごに

動いたのがうれしくて、丁寧に記事が書けてなくて申し訳ないです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?