[tmux] Ctrl-dでexitするのをやめる

環境

$ bash --version
bash --version
GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin17.5.0)
Copyright (C) 2016 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

$ tmux -V
tmux -V
tmux 2.7

やったこと

.bashrcでignoreeofを設定

set -o ignoreeof

.tmux.confでデタッチをunbind

unbind -T root C-d

参考

Python EDAで論理式を簡単化する

CPUの創りかた』に載っているデコーダをPython EDAを使って簡単化してみた。

真理値表

OP3, OP2, OP1, OP0, CFlagが入力。B, A, ~LOAD0, ~LOAD1, ~LOAD2, ~LOAD3が出力。

OP3 OP2 OP1 OP0 CFlag B A ~LOAD0 ~LOAD1 ~LOAD2 ~LOAD3
0 0 0 0 X 0 0 0 1 1 1
0 0 0 1 X 0 1 0 1 1 1
0 0 1 0 X 1 0 0 1 1 1
0 0 1 1 X 1 1 0 1 1 1
0 1 0 0 X 0 0 1 0 1 1
0 1 0 1 X 0 1 1 0 1 1
0 1 1 0 X 1 0 1 0 1 1
0 1 1 1 X 1 1 1 0 1 1
1 0 0 1 X 0 1 1 1 0 1
1 0 1 1 X 1 1 1 1 0 1
1 1 1 0 0 1 1 1 1 1 0
1 1 1 0 1 X X 1 1 1 1
1 1 1 1 X 1 1 1 1 1 0

入力側のdon't careを0, 1になおして、入力の欠けている部分も補ったのが↓。

OP3 OP2 OP1 OP0 CFlag B A ~LOAD0 ~LOAD1 ~LOAD2 ~LOAD3 追加
0 0 0 0 0 0 0 0 1 1 1
0 0 0 0 1 0 0 0 1 1 1
0 0 0 1 0 0 1 0 1 1 1
0 0 0 1 1 0 1 0 1 1 1
0 0 1 0 0 1 0 0 1 1 1
0 0 1 0 1 1 0 0 1 1 1
0 0 1 1 0 1 1 0 1 1 1
0 0 1 1 1 1 1 0 1 1 1
0 1 0 0 0 0 0 1 0 1 1
0 1 0 0 1 0 0 1 0 1 1
0 1 0 1 0 0 1 1 0 1 1
0 1 0 1 1 0 1 1 0 1 1
0 1 1 0 0 1 0 1 0 1 1
0 1 1 0 1 1 0 1 0 1 1
0 1 1 1 0 1 1 1 0 1 1
0 1 1 1 1 1 1 1 0 1 1
1 0 0 0 0 X X X X X X
1 0 0 0 1 X X X X X X
1 0 0 1 0 0 1 1 1 0 1
1 0 0 1 1 0 1 1 1 0 1
1 0 1 0 0 X X X X X X
1 0 1 0 1 X X X X X X
1 0 1 1 0 1 1 1 1 0 1
1 0 1 1 1 1 1 1 1 0 1
1 1 0 0 0 X X X X X X
1 1 0 0 1 X X X X X X
1 1 0 1 0 X X X X X X
1 1 0 1 1 X X X X X X
1 1 1 0 0 1 1 1 1 1 0
1 1 1 0 1 X X 1 1 1 1
1 1 1 1 0 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1 0

Python EDA

from pyeda.inter import *

X = ttvars('x', 5)

b     = truthtable(X, '00 00 11 11 00 00 11 11 -- 00 -- 11 -- -- 1- 11'.replace(' ', ''))
a     = truthtable(X, '00 11 00 11 00 11 00 11 -- 11 -- 11 -- -- 1- 11'.replace(' ', ''))

load0 = truthtable(X, '00 00 00 00 11 11 11 11 -- 11 -- 11 -- -- 11 11'.replace(' ', ''))
load1 = truthtable(X, '11 11 11 11 00 00 00 00 -- 11 -- 11 -- -- 11 11'.replace(' ', ''))
load2 = truthtable(X, '11 11 11 11 11 11 11 11 -- 00 -- 00 -- -- 11 11'.replace(' ', ''))
load3 = truthtable(X, '11 11 11 11 11 11 11 11 -- 11 -- 11 -- -- 01 00'.replace(' ', ''))

bm, am, load0m, load1m, load2m, load3m = espresso_tts(b, a, load0, load1, load2, load3)

print('b =', bm)
print('a =', am)
print()

print('load0 =', load0m)
print(expr2truthtable(load0m))

print('load1 =', load1m)
print(expr2truthtable(load1m))

print('load2 =', load2m)
print(expr2truthtable(load2m))

print('load3 =', load3m)
print(expr2truthtable(load3m))

出力が↓。OP3, OP2, OP1, OP0, CFlagがそれぞれ、x[4], x[3], x[2], x[1], x[0]に割り当てられる。

b = x[2]  # OP1
a = Or(x[1], x[4])  # OP0 + OP3

load0 = Or(x[4], And(x[3], ~x[4]))  # OP3 + (OP2・~OP3) = OP2 + OP3
x[4] x[3]
   0    0 : 0
   0    1 : 1
   1    0 : 1
   1    1 : 1

load1 = Or(x[4], And(~x[3], ~x[4]))  # OP3 + (~OP2・~OP3) = ~OP2 + OP3
x[4] x[3]
   0    0 : 1
   0    1 : 0
   1    0 : 1
   1    1 : 1

load2 = Or(x[3], And(~x[3], ~x[4]))  # OP2 + (~OP2・~OP3) = OP2 + ~OP3
x[4] x[3]
   0    0 : 1
   0    1 : 1
   1    0 : 0
   1    1 : 1

load3 = Or(~x[3], And(x[3], ~x[4]), And(x[0], ~x[1]))
        # ~OP2 + (OP2・~OP3) + (CFlag・~OP0)
        # = ~OP2 + ~OP3 + (CFlag・~OP0)
x[4] x[3] x[1] x[0]
   0    0    0    0 : 1
   0    0    0    1 : 1
   0    0    1    0 : 1
   0    0    1    1 : 1
   0    1    0    0 : 1
   0    1    0    1 : 1
   0    1    1    0 : 1
   0    1    1    1 : 1
   1    0    0    0 : 1
   1    0    0    1 : 1
   1    0    1    0 : 1
   1    0    1    1 : 1
   1    1    0    0 : 0
   1    1    0    1 : 1
   1    1    1    0 : 0
   1    1    1    1 : 0
  • B, Aは本に載ってるのと同じものが得られた
  • ~LOAD0, ~LOAD1, ~LOAD2, ~LOAD3は分配律(x + yz) = (x + y)(x + z)を使えば同じ形

RaspberryPi Helix

この記事は自作キーボード #2 Advent Calendar 2018 - Adventarの25日目の記事です。 昨日は@zeriyoshiさんの ALPS メカニカルキースイッチとその歴史でした。

TL;DR

f:id:yskoht:20181225032751j:plain

  • HelixのコントローラとしてRaspberry Pi Zero Wを使った
  • Bluetoothキーボードをエミュレートした
  • LEDを制御した

デモ

構成

f:id:yskoht:20181225220443p:plain

リポジトリ


以下、作業メモです。

Raspberry Pi Zero Wのセットアップ

上記の記事がとても丁寧に書かれているので、これに従って設定していきます。以下に要点をメモっておきます。

OSイメージのダウンロード

今回使ったイメージは2018-11-13-raspbian-stretch-lite.img です。

イメージのインストール

$ sudo ./install 2018-11-13-raspbian-stretch-lite.img

設定

$ touch /Volumes/boot/ssh  # ssh有効化
$ vi /Volumes/boot/cmdline.txt  # "modules-load=dwc2,g_ether"を追記
$ echo "dtoverlay=dwc2" >> /Volumes/boot/config.txt

インターネット共有

f:id:yskoht:20181225015209p:plain

$ ssh pi@raspberrypi.local

Wifiの設定

$ sudo sh -c 'wpa_passphrase "wifi_ssid" < wifi_password >> /etc/wpa_supplicant/wpa_supplicant.conf'
$ sudo wpa_cli reconfigure

ここまででラズパイが使えるようになりました。


Bluetoothキーボードのエミュレート

次はこの記事に従ってラズパイをBluethoothキーボードとして使えるようにします。

ツールのインストール

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install python-gobject bluez bluez-tools bluez-firmware python-bluez python-dev python-pip python-gtk2
$ sudo pip install evdev 

元記事からpython-gtk2を追加しています。

Bluethoothデーモンの設定

$ sudo /etc/init.d/bluetooth stop
$ sudo /usr/sbin/bluetoothd --nodetach --debug -p time

一度Bluethoothデーモンを止めて、立ち上げ直します。

ソースコードのクローン

元記事のソースをクローンしてきます。

$ git clone https://github.com/yaptb/BlogCode.git

DBUSの設定

$ cd BlogCode/btkeyboard/dbus
$ sudo cp org.yaptb.btkkbservice.conf /etc/dbus-1/system.d

Bluetoothデバイスの有効化

$ sudo hciconfig hcio up

sudo hciconfig hcioでBluetoothデバイスアドレスをメモっておき、BlogCode/btkeyboard/server/btk_server.pyMY_ADDRESSを書き換えます。

エミュレーターサーバーの起動

$ cd BlogCode/btkeyboard/server
$ sudo python btkserver.py

ペアリング

$ sudo /usr/bin/bluetoothctl
# agent on
# default-agent
# scan on
# discoverable on

パスキーの確認が出たらyesとタイプしてペアリング完了。

文字を送信してみる

$ cd BlogCode/btkeyboard/keyboard
$ sudo python send_string.py hello_bluetooth!

ここまででラズパイをBluetoothキーボードとして使えるようになりました。


ラズパイとHelixをつなげる

あとはHelixとラズパイを配線し、キーマトリクスの状態をGPIOで読み出してやればオーケーなはずです。

配線図

f:id:yskoht:20181225032203p:plain

Colは左右で共用しています。VCC, GNDは省略しています。

f:id:yskoht:20181225032719j:plain

ファームウェア


LEDの制御

せっかくなのでLED制御もします。Helixに使われているLEDはSK6812MINIですが、 これでググっても情報が出てこないのでws2812 raspberry piなどでググります。1

すると、しっかりとライブラリがあったので、次はこの記事をなぞります。

ツールのインストール

$ sudo apt-get install build-essential scons swig

ライブラリのインストール

$ git clone https://github.com/jgarff/rpi_ws281x.git
$ cd rpi_ws281x && sudo scons && cd python && sudo python setup.py install

元記事はwgetを使っていますが、gitで。

配線

f:id:yskoht:20181225032208p:plain

VCC, GNDは省略しています。

サンプルプログラムの実行

ピンとLED数を修正してrpi_ws281x/python/examples/strandtest.pyを実行します。


まとめ

  • ファームはすごい適当ですが、思ったよりもちゃんと動いていた
  • レイヤー機能がないです。ちゃんと使うなら必要
  • LEDのパターンを増やしていきたい


この記事はpakbdを使って書かれました。


おまけ:うまくいかなかったこと

USB HIDデバイス化

最初は有線でラズパイをHIDデバイスとして使うことを考えていました。試して見ましたがうまくいきませんでした。OSのアップデートが原因っぽい?

スマートキーボード化

Google Assistant SDKを動かして"OK Helix!"とやりたかったんですが、 やってみるとAssistant単体では動くんですが、キーボードのファームに組み込むとLEDが光らなくなりうまくいきませんでした。

ライブラリ内部で使っている何かが競合しているのか、単にタイミングの問題なのか、まだよくわかってないです。



  1. QMKのファームを読んでみたらws2812と書いてあったのを見つけました

pakbdについて。つまり僕の好きなキーボードについて

pakbd rev1

f:id:yskoht:20181103033121j:plain

f:id:yskoht:20181103034232j:plain

f:id:yskoht:20181103033428j:plain

f:id:yskoht:20181103033413j:plain

f:id:yskoht:20181103033459j:plain

f:id:yskoht:20181103033503j:plain

f:id:yskoht:20181103033439j:plain

Row-Staggered

自作キーボードではOrtholinearと呼ばれる格子状の配列や、 Column-Staggerdと呼ばれる縦方向にキーがずれて配置されているレイアウトが多いですが1、 僕は一般的によく目にするタイプのキー配列、Row-Staggeredと呼ばれているレイアウトが好きです。 このレイアウトに慣れているからという単純な理由だけですが。

なので自分で0から自由にキーボードを作れるとしても、よくあるキーボードレイアウトと大きく変わる変更は極力避けるようにしました。 矢印キーやBackspace, Deleteキーも自分としては必須なので省略しませんでした。 pakbdのレイアウトはこんな感じです。

f:id:yskoht:20181103035242p:plain

よくあるレイアウトと違う箇所いくつかありますが、これらの差異はたとえ一般的でなくても自分にとって大きなメリットがあると思います。

  • 左ShiftEnterが1.75u。(よくあるレイアウトでは2.25u)
    • スタビライザを使いたくなかったから。単純にパーツが増えるのが嫌だったのと、スタビライザはカチャカチャ音がうるさいし、タイプの感触が変わってしまうのも嫌でした
  • 左下にCtrlがない。OptionCmdの位置がよくあるレイアウトより右に配置されている
    • 自分はAの隣にCtrlを配置しているから、左下のCtrlは不要でした。OptionCmdの位置はMint60を参考にさせてもらいました。コピー(Cmd+C)やペースト(Cmd+V)のためにCmdキーはもっと右にあるべきだと常々思っていた

pakbd rev1では4行バージョンも作れるようにしました。4行バージョンの想定レイアウトはこんな感じ。

f:id:yskoht:20181103035253p:plain

Raiseキーを押すと一番上の行が数字行に入れ替わります。

6とBの問題

自分は文章中に出てくるBは左手人差し指でタイプするんですが、Ctrl+B(Emacsキーバインドで一文字戻る)のBは右手人指し指でタイプする癖があるので、 左右両方に必要でした。

f:id:yskoht:20181103040525j:plain

キーキャップ

DCS, SA , DSA, etc...いろんなプロファイルがありますが、自分はDCSが好きです。

pakbdではいくつかのキーを追加して、さらにいくつかのキーの長さを変えてしまったのでキーキャップの選択がすごく難しくなってしまいました。 普通のキーキャプセットにBのキーは1つしか含まれていないし、1.75uのキーもcaps lockしか含まれてない。 さらにstep sculpture2なキーキャップは配置する行も決まっているので、 ほんとうに統一感のある見栄えにするには、同じキーキャップセットを2つ以上買わなきゃいけない。つらい。

キーキャップセットを2つ買ったり、grab bagの中からマシなキーキャップを見つけたりしました。

rev1で新しくやったこと

  • スイッチソケット対応した
    • スイッチがホットスワップできるようになった

f:id:yskoht:20181103040617j:plain

  • PCBに切れ目を入れて5行版と4行版に対応した
    • カッターとアクリルカッターでPCBを削ったら、狙い通りに手で折ることができた

f:id:yskoht:20181103040520j:plain

f:id:yskoht:20181103034217j:plain

f:id:yskoht:20181103040909j:plain

  • 自作ケーブルを作成した
    • これはキーボードに直接関係ないですが、pakbdはケーブル端子が側面についているので両L字のケーブルが欲しかったので、秋葉原のオヤイデ電気に行って店員さんにパーツを選んでもらった

f:id:yskoht:20181103034423j:plain

パーツとコスト

あんまりちゃんと勘定したことがなかったので今回はしっかりと単価を計算してみた。

次の表は写真の一番上にある紫色の4行キーボードを作るのに使った金額です。 いくつかgrab bagで手に入れたキーキャップを使っていますがそれは勘定に含んでいないし、送料も含んでいない。

部品 金額 単価 必要数 小計 備考
Kailh Speed Switch Rose Pink ¥400/10 ¥40 55 ¥2200 https://yushakobo.jp/shop/kailh-speed/
GK64 XD64 DZ60 PBT keycaps $30.00 ¥3329 1 ¥3329 https://kbdfans.cn/products/gk64-xd64-dz60-keycaps
スイッチソケット Kailh CPG151101S11 ¥150/10 ¥15 55 ¥825 https://yushakobo.jp/shop/a01ps/
ダイオード 1N4148W ¥400/40 ¥10 55 ¥550 http://akizukidenshi.com/catalog/top.aspx
Pro Micro ATmega32U4 5V/16MHz/MicroUSB2(互換品) ¥550 ¥550 2 ¥1100 https://talpkeyboard.stores.jp/items/5b24504ba6e6ee7ec60063e3
チップ抵抗 4.7kΩ(1206) ¥50/10 ¥5 2 ¥10 https://www.sengoku.co.jp/index.php
TRRSジャック MJ-4PP-9 ¥50 ¥50 2 ¥100 http://akizukidenshi.com/catalog/top.aspx
PCB左側(149.6mm*101.2mm, 1.6, 2 Layers) $37.00/5 ¥863 1 ¥863 https://www.allpcb.com/
PCB右側(182.9mm*101.2mm, 1.6, 2 Layers) $39.00/5 ¥909 1 ¥909 https://www.allpcb.com/
アクリルプレート A4 3mm ¥5600 ¥5600 1 ¥5600 https://yushakobo.jp/lasercut/
ステンレスプレート左側(149.7mm*79.1mm) ¥4770 ¥4770 1 ¥4770 https://www.kiriita.com/
ステンレスプレート右側(178.2mm*79.1mm ) ¥5690 ¥5690 1 ¥5690 https://www.kiriita.com/
スタンドオフM2x5mm ¥1030/100 ¥10.3 12 ¥124 Amazon.co.jp: 100個雌ネジ柱真鍮スタンドオフスペーサーゴールドトーンM2x5mm: DIY・工具・ガーデン
ネジ M2 x 5mm ¥496/60 ¥8.27 12 ¥99 Amazon.co.jp: uxcell ヘッドねじ ラウンド/パンヘッド 304ステンレス鋼 M2 x 5mm: DIY・工具・ガーデン
ネジ M2 x 10mm ¥100/12 ¥8.33 12 ¥100 -
合計 ¥26269

このキーボードはプレートにステンレスを使ってみたので少し高級になった。

rev1の不具合

  • PCBの左右が噛み合わない
    • かみ合わせの凸凹を同じ幅にしてしまったから当然。幸いなことに少しヤスリを掛けるだけでうまく噛み合うようになった。アクリルも同じsvgを使ったんですが、こっちは最初からうまく噛み合った。カット時に溶けた分だけ小さくなったんだと思います
  • ProMicroとソケットが接触する
    • ProMicroの上にもキーを配置したのでPCBとProMicroの間にスイッチソケットが挟まる箇所が左右1箇所ずつあるんですが、ProMicroとソケットが接触してしまい、ProMicroが水平にはんだ付けできなかった
  • PCBの固定方法を間違えた
    • スイッチソケットを使わない場合は、プレートにスイッチをはめてスイッチをPCBにはんだ付けするとPCBは固定されていたんですが、ソケットを使う場合はPCBは別の方法でプレートと固定されなければならないと組み立ててから気づきました

最後に

11/3の天キーにスペースがあれば展示する予定です。見かけたらぜひカチカチしてやってください。


  1. もちろん、Row-Staggeredの自作キーボードもある。Mint60が有名

  2. 行ごとにキーキャップの高さが違うキーキャップのこと。数字行は背が高く、一番手前にある行は背が低くなっている

KiCad備忘録

KiCadを使うたびに思い出すところから始まる。

バージョンは5.0.0-3。フットプリントを関連付けで左側ペインを選択しても右側ペインの絞り込みができないのはバグなんだろうか

シンボルの作成(シンボルライブラリーエディター)

  • 「ファイル」→「新規ライブラリーを作成」
  • 「シンボル」→「新規シンボル」

シンボルの追加

  • 「設定」→「シンボル ライブラリーを管理」→「ライブラリーを参照」
    • パスにKIPRJMODが使える

フットプリントの作成(フットプリントエディター)

  • 「ファイル」→「新規フットプリント」
  • 「新規ライブラリーを作成して現在のフットプリントを保存」

f:id:yskoht:20181014151738p:plain

フットプリントの追加

  • 「設定」→「フットプリント ライブラリーを管理」→「ライブラリーを参照」

自動配線

  • 「Pcbnew」→「ファイル」→「エクスポート」→「Specctra DSN」
    • 「エクスポートできません。問題点を修正してやり直してください」というそっけないダイアログが出てしまったら、どこかのリファレンスがREF**のままになっているかも

f:id:yskoht:20181014151758p:plain

ガーバーデータ出力

  • 「Pcbnew」→「ファイル」→「プロット」

8月のキーボード

8月はキーボードイベントがたくさんありました。たくさんキーボードを見て、作ったのでそのメモです。

8/4, 8/5: Maker Fair Tokyo 2018

  • 遊舎工房でアクリルキーホルダー買ったり、普通にProMicro買ったり、HelixPicoを遠くから眺めてみたり

f:id:yskoht:20180901195719j:plain
HelixPicoアクリルキーホルダー

  • TALPKEYBOARDでは結構ゆっくりお話させてもらえて、3Dプリンタで作ったキーキャップの話とか、MDFの話とか聞けてたのしかった(写真もたくさん撮らせてもらった)。展示されていたどのキーボードも質感がよくて、自分もディテールにこだわっていきたい

f:id:yskoht:20180901195845j:plain

f:id:yskoht:20180901195922j:plain

f:id:yskoht:20180901201225j:plain

  • 最後にプレゼン。プレゼン中に使っているBlockyがめっちゃかっこいい

Blocky

  • Mint60は並んだけど買えなかった。Blockyだけ買えた
  • スイッチの足が4本あるのではんだ付けが結構たいへんかもしれない
  • かわいい

f:id:yskoht:20180901204027j:plain

8/10: コミックマーケットC94 (1日目)

2つキーボードを買いに行った。キーボード作るのにも慣れてきた感があったんだけど盛大に事故った

Mint60

  • row staggeredなキーボード好き
  • 左側の下段の配列が標準的な配列よりも1u分右にずれていて、⌘キーが押しやすいなと思った
  • 間違えてスペーサを下段に2つ付けてしまって、かっこ悪い感じになってしまったのがすごい悔しい😩ビルドガイドちゃんと読むべき

f:id:yskoht:20180901200030j:plain

f:id:yskoht:20180901200108j:plain

Fortitude60

  • ミドルプレートがPCBで、アクリルが3mm。この剛健さがかなり好き
    • キーボードは頑丈でないといけない
  • USB-C最高
  • スイッチはんだ付けする際は、ケースを仮組みしておくべき😩ビルドガイドちゃんと読むべき
    • これをやっておかないとケースのアクリルがはまらなくなる場合がある1

f:id:yskoht:20180901200141j:plain

f:id:yskoht:20180901200207j:plain

8/25: Tokyo Mechanical Keyboard Meetup Vol. 5

いくつかの古いキーボードに触らせてもらえた。スイッチほんと良い

f:id:yskoht:20180901200617j:plain

f:id:yskoht:20180901200335j:plain

f:id:yskoht:20180901200417j:plain

f:id:yskoht:20180901200439j:plain

f:id:yskoht:20180901200455j:plain

f:id:yskoht:20180901200508j:plain

f:id:yskoht:20180901200524j:plain

f:id:yskoht:20180901200656j:plain

f:id:yskoht:20180901200714j:plain

f:id:yskoht:20180901200730j:plain

f:id:yskoht:20180901200746j:plain

f:id:yskoht:20180901200800j:plain

f:id:yskoht:20180901200827j:plain

f:id:yskoht:20180901200848j:plain

f:id:yskoht:20180901200914j:plain

f:id:yskoht:20180901200930j:plain

f:id:yskoht:20180901201005j:plain

f:id:yskoht:20180901201023j:plain

f:id:yskoht:20180901201041j:plain

f:id:yskoht:20180901201103j:plain

pakbd
  • 展示してたら何人かの人たちにカチカチしてもらえたり、写真撮ってもらえた

f:id:yskoht:20180901201433j:plain

f:id:yskoht:20180901201449j:plain

f:id:yskoht:20180901201506j:plain

  • 今後のやりたいこと。やるかどうか、できるかどうかは知らない
    • 基板のリファクタリング(ProMicro、スイッチ位置の修正。シルク入れ等)
    • QMKファームウェアの整備
    • 薄型化
    • LED対応
    • ホットスワップソケット対応
    • ミドルプレートの作成
      • ☁→HOKORI対策
    • ステンレスプレートの作成
      • キーボードは重くないといけない
    • tilt機構
    • 左右一体で使う場合のロック機構
      • 左右バラバラになってしまうよりも、くっつけてたほうが持ち運びやすい?
      • 左右くっつけて使う場合はTRRSケーブルなしでも動くようにしたい
    • トラックポイント
    • USB-C化
    • 静電容量無接点スイッチ対応
    • ARM化、脱QMK
      • ぺかそさんがプレゼンで言っていたのでそれに期待
    • Bluethooth化

  1. 無理矢理はめ込もうとするとケースが割れたキーボードを使うことになる。普通にスプリットキーボードを使っているだけでもキーボード割れてるとか揶揄されるのに

mac 環境構築メモ

OS

環境設定

アプリ