⌨️

自作テンキーに「=」(イコール)キーを追加しようとした話

2023/07/22に公開

皆さん、キーボード作っていますか?

昨今流行りの自作キーボード、私も販売されている基板を購入したり、
自分で基板設計したりと楽しんでいます。

基板設計への挑戦

私は基板設計に初挑戦した際、まずはお試しにキー数の少ないテンキーを作成しました。
せっかく自作するのですから便利なテンキーにしようと思い、以前から気になっていた
「=」(イコール)キー付きのテンキーを作ろうと考えたのです。
↓のようなヤツです。
=キー付テンキー

JIS配列のキーボードだと「=」はShift押しながらでないと入力できません。
Excel作業ではあると便利そうですよね。

調査

しかして、JIS配列キーボードにおいて単独入力の「=」キーはどのように実装すればよいのでしょうか?とりあえずQMK firmware のキーコードマップ
を確認したところ、

KC_KP_EQUAL(Keypad =)

というものがあります。
キーパッド(テンキー)の「=」 、
正に私が求めていたものです。
これで実現できるのでは?ということで早速このキーコードを割り当てて動作確認をしました。

動かない

が、、、ダメ。
やはりそう簡単にはいきませんでした。
キーを押しても何も反応しません。
原因は何でしょうか?

再調査

いろいろ調べているうちにこの
この GitHub issueに行きつきました。

KC_KP_EQUAL is 0x67 in HID usage, not 0xc nor 0x6c. And the key is for Mac and won't recognized by WIndows.
HID 使用法では、KC_KP_EQUAL は 0x67 であり、0xc や 0x6c ではありません。また、キーは Mac 用であり、Windows では認識されません。

MAC用?
意外でした。
Windwosキーボードのテンキーには「=」キーはありませんが、
MACのキーボードのテンキーには「=」キーがあるとでもいうのでしょうか?

=キー付テンキー

ある!!

知りませんでした・・・
思い返すとフルサイズのMACのキーボードってあんまりちゃんと見たことなかったです。
MAC使うことはあってもMacBookだったので・・・

解決策

結局、JIS配列キーボードで「=」キーを実現するにはどうすればいいのでしょうか?
簡単に思いつくのは Shift + 「-」を入力するマクロをキーに割り当てる方法です。
というか他に方法はなく、参考にしたELECOMのテンキーもShift + 「-」を入力する方法で実現しているようでした。

まとめ

自作キーボード界隈は基本的にUS配列で話をしているので、JIS配列派としては度々躓くことがあるのですが、今回はOSの違いにひっかかりました。
キーボードの世界は簡単なようで奥が深いです。

Discussion