最近の更新 | |
---|---|
スワップが効いた時
| 2025/05/28 |
サーバ運用
| 2025/05/28 |
サーバ引越し-2020
| 2025/05/13 |
キーボード
| 2025/02/17 |
Androidでssh
| 2025/01/08 |
第2種電気工事士_奮闘記
| 2024/07/20 |
監視カメラ
| 2024/01/14 |
加湿器
| 2023/12/14 |
pdfで数字だけ印刷されない現象に遭遇
| 2023/10/25 |
grep日本語検索
| 2023/10/12 |
知のポートフォリオ
| 2023/07/29 |
ドングルの死
| 2023/06/04 |
ヒートポンプ
| 2023/05/31 |
ドメイン運用
| 2023/05/21 |
太陽光発電_奮闘記
| 2023/04/09 |
AWSコスト削減
| 2022/12/04 |
ClamAV
| 2022/08/31 |
github
| 2022/08/08 |
社内LAN敷設
| 2022/05/03 |
Let's Encrypt
| 2022/05/02 |
分離型キーボードを探しています。
10 x 3 x 7 = 210 種類
打てることになります。これに対して、layer のない 100% キーボードは
(10 x 3) x 3 + 70 = 160 種類
となります。(shift, ctrl, alt は 10 x 3 にかかり、残りの 70 にはその機能は
ない、というざっくりとした計算です。 ちょっと雑ですが、この式の意味するところは、 キー数の上限が決まっているなら、(x,y,z)は立方体に近いほど全組み合わせは多くなる。 ということです。 layer の威力です。
で、次に選んだのがこれ。
今のお気に入りはこれです。
腱鞘炎気味の老人(私)には一番軽い 30g で正解でした。
よく忘れるのでメモw
Ctrl <-> CapsLock 入れ替え: | Fn + F11 |
カーソルキーにどうしても馴染めず断念。
腱鞘炎気味でとうとう手首も痛くなってきたので、セパレートタイプを
使ってみることにしました。色々見てみましたが、トラックボール付きのこれ:
が良さそうと思い、試してみています(2924-11時点)
テスト用のファームウェアをProMicroに書き込みましょう。 ... Keyball44のファームウェアは、トラックボールを右手と左手のどちらに載せた場合でもファームウェアは共通です。REMAPに登録してあるKeyball_test.hex を書き込み(FLASH)してください。上記リンクにあるFLASHボタンを押すと、書き込み方法の説明が表示されます。 USBケーブルを接続しているのにキーボードが認識されない場合は、半田付けしたRESETスイッチを素早く2回押すと認識されると思います。
とありますが、 Linux 環境では動作しませんorz…。
どうやら、https://keymap.app というサイトは javaScript > USB > keyboard firmware という経路で firmware を書き込もうとするようですが、 Linux ではエラーになるようです。
2箇所ハンダがついてなかった。
取り急ぎ windows で。
1つキーをつけて確認した。
わかりにくかったのでメモ。
はめ込みは上から。上下左右は、基盤のソケットの向きを見ればわかる。
最初、紛れ込んだプラゴミかと勘違いしてました。
落とすとまず見つからなさそう。
はい。白状します。3箇所で間違ってました。
後でネジが足りなくなったり別のものが余っていたりw
写真がケーブルで左右つながっているので、ついそのまま書き込みしてしまいましたが、 誤ってました。エラーが出て焦りましたが、 ケーブルは外して左右別々に2回行う必要がありました。
4連ピンヘッダ、長いのと短いの2種類 x2 合計4つあって間違えました。 短いほうが正解だったようです。
忘れていたので、メモします:
参考: https://salicylic-acid3.hatenablog.com/entry/remap-manual
下記設定がないと linux で remap-app が動作しない(web アプリがローカルの usb にアクセスできない)。
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"
$ sudo udevadm control --reload-rules && sudo udevadm trigger
参考:
QMK: | keyboard firmware |
VIA: | GUI。closed |
Vial: | open source VIA |
Remap: | web I/F |
場所を便宜的に excel のセル様に名付けます:
| A1 | B1 | C1 | D1 | E1 | F1 | || | I1 | J1 | K1 | L1 | M1 | N1 | | A2 | B2 | C2 | D2 | E2 | F2 | || | I2 | J2 | K2 | L2 | M2 | N2 | | A3 | B3 | C3 | D3 | E3 | F3 | || | I3 | J3 | K3 | L3 | M3 | N3 | | | | C4 | D4 | E4 | F4 | G4 || H4 | I4 | | | | M4 | |
layer0
| tab | Q | W | E | R | T | || | Y | U | I | O | P | bs | |*ctrl| A | S | D | F | G | || | H | J | K | L | ;: |enter| | | Z | X | C | V | B | || | N | M | ,< | .> | /? | '" | | | | _ |*alt |MO(1)|space|MO(2)||LM(1)| alt*| | | | esc | |
layer1
| v | ! | @ | ↑ | $ | % | || | ^ | & | * | ( | ) | del | | v | `~ | ← | → | # | [[ | || | ]} | MB1 | MB2 | MB3 | v | v | | v | v | \| | ↓ | -_ | =+ | || | v | v | v | v | v | v | | | | v | v | v | v | v || v | v | | | | v | |
layer2
| v | F1 | F2 | F3 | F4 | F5 | || | , | 7 | 8 | 9 | - | v | | v | F6 | F7 | F8 | F9 | F10 | || | . | 4 | 5 | 6 | + | v | | v | F11 | F12 | v | v | v | || | 0 | 1 | 2 | 3 | = | v | | | | v | v | v | v | v || v | v | | | | v | |
layer3
| v | | | CA↑ | | | || | , | | | | | | | v | | CA← | CA→ | | | || | | | | | v | v | | v | | | CA↓ | | | || | | | Kb2 | | v | v | | | | | | v | v | v || v | v | | | | v | |
凡例
_: | NO(No Operation; 動作無し) |
MBn: | n番目 Mouse Button |
v: | TRNS(Transparent; 透過; 先の layer と同動作) |
CA...: | ctrl + alt + カーソル; 仮想デスクトップ切り替え |
Kb2: | トラックボール感度 +100 cpi |
L: | 長押しで layer3 に |
;: | 長押しで layer2 に |
LM(1): | 実際には shift を追加した LM(1, shift) を割り当てています |
alt*: | 長押しで layer1 に。E4 の MO(1) と被るかも |
コメント
2024-12-07 時点で、下記のようになりました。
layer0
| tab | Q | W | E | R | T | || | Y | U | I | O | P | bs | |*ctrl| A | S | D | F | G | || | H | J | K | L | ;: |enter| | | Z | X | C | V | B | || | N | M | ,< | .> | /? | '" | | | | _ |*alt |MO(1)|space| _ ||LM(1)| alt*| | | | esc | |
layer1
| v | ! | @ | ↑ | $ | % | || | ^ | & | * | ( | ) | del | | v | `~ | ← | → | -_ | =+ | || | v | MB1 | MB2 | MB3 | v | v | | v | v | \| | ↓ | # | [{ | || | ]} | v | v | v | v | v | | | | v | v | v | v | v || v | v | | | | v | |
layer2
| v | F1 | F2 | F3 | F4 | F5 | || | , | 7 | 8 | 9 | v | v | | v | F6 | F7 | F8 | F9 | F10 | || | 0 | 4 | 5 | 6 | v | v | | v | F11 | F12 | v | v | v | || | . | 1 | 2 | 3 | v | v | | | | v | v | v | v | v || v | v | | | | v | |
layer3
| v | | | CA↑ | | | || | , | | | | | | | v | | CA← | CA→ | | | || | | | | | v | v | | v | | | CA↓ | | | || | | | Kb2 | | v | v | | | | | | v | v | v || v | v | | | | v | |
凡例
_: | NO(No Operation; 動作無し) |
MBn: | n番目 Mouse Button |
v: | TRNS(Transparent; 透過; 先の layer と同動作) |
CA...: | ctrl + alt + カーソル; 仮想デスクトップ切り替え |
Kb2: | トラックボール感度 +100 cpi |
L: | 長押しで layer3 に |
;: | 長押しで layer2 に |
LM(1): | 実際には shift を追加した LM(1, shift) を割り当てています |
alt*: | 長押しで layer1 に。E4 の MO(1) と被るかも |
コメント
でカーソルっぽいのですが、column staggered だと───────────── │E│ │S│D│ │X│ ─────────────
となって、どうしても下移動としての X を C に打ち間違えてしまいます。 そこで、カーソルを e-s-d-x から e-s-d-c に変えてみました:───────────── │ │E│ │S│D│ │X│ ─────────────
───────────── │ │E│ │S│D│ │ │C│ ─────────────
A(左人差し指)の長押し(hold)に割り当ててみる。
layer0
| tab | Q | W | E | R | T | | | Y | U | I | O | P | bs | |*ctrl| A | S | D | F | G | | | H | J | K | L | ;: |enter| |*shft| Z | X | C | V | B | | | N | M | ,< | .> | /? | '" | | | | ? |*alt | tg1 |space| mo2 | mo3 | alt*| | | | esc | |
layer1
| | 1! | 2@ | 3# | 4$ | 5% | | | 6^ | 7& | 8* | 9( | 0) | | | | `~ | \| | -_ | =+ | | | | ← | ↓ | ↑ | → | | | | | | | | | | | | [{ | ]} | | | | | | | | | | | | | | | | | | | |
layer2
| | F1 | F2 | F3 | F4 | F5 | | | F6 | F7 | F8 | F9 | F10 | | | | F11 | F12 | | | | | | |MsBt1|MsBt2|MsBt3| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
layer3
(original と変わらず)
Layer 0
TAB Q W E R T Y U I O P BS *Ctrl A S D F G H J K L ;: Enter *Shft Z X C V B N M ,< .> /? '" // Win Ctrl Sp // Enter Alt* ESC
Layer 1
1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) ← ↓ ↑ → `~ [{ ]} \| // Win Ctrl Sp // Enter Alt* ESC
Layer 2
F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 M1 M2 M3 // Win Ctrl Sp // Enter Alt* ESC
Layer 3
備考
/../ 動作せず
Windows での remap サイトでのみ表示。Linux desktop では一般的なエラー
Error: Opening a USB device failed: SecurityError: Failed to execute 'open' on 'USBDevice': Access denied.
しか出ませんorz。さて、Win のエラーメッセージでググると https://github.com/Yowkees/keyball/discussions/594 より、 https://remap-keys.app/catalog/tAJ9Htme4oNabUkx4832/firmware からダウンロードした hex ファイルを使って:
$ cd [qmk.git-dir] $ qmk flash -m ATmega32U4 -bl avrdude PATH/TO/Keyball44-1711413474675.hex
で書き込めるとのこと。無事、これで remap app も動作しました。
突然、いくらトラックボールを高速回転してもマウスポインタが超スローに。
思い当たるのは、裏返しにして裏のネジを締めようとしたくらい…。
まずは結論から。Layer3 の Kb2..Kb5 で調整可能でした。
いつのまにか Layer3 kb5,3 辺りを押していて最低値(100)にしていたみたいです。
これが分からず、6時間以上(ただし、風呂と食事と休憩時間を挟む) 下記の試行錯誤を繰り返していましたw。
Key | R3Cr KC2c ------ Ball | 0 0 0 0 0 | CPI 5100 SCR off DIV3 Layer | ------- AML off 650 Ball | 1 1
$ python3 -m pip install --user qmk
$ qmk setup ... Warn: Missing or outdated udev rules for 'atmel-dfu' boards. Run 'sudo cp /home/ido/p/github/qmk_firmware.git/util/udev/50-qmk.rules /etc/udev/rules.d/'. ... Err: Can't find arm-none-eabi-gcc in your path. ... Would you like to install dependencies? [Y/n] y ... Would you like to clone the submodules? [Y/n] y
$ qmk compile -kb clueboard/66/rev3 -km default
$ git clone https://github.com/Yowkees/keyball.git keyball.git
$ cd .. $ git clone https://github.com/qmk/qmk_firmware.git --recurse-submodules qmk_firmware.git $ cd qmk_firmware.git $ git co 0.22.14 $ cd ..
$ ls ... keyball.git/ ... qmk_firmware.git/ ... $ cd ../qmk_firmware.git/keyboards/ $ ln -s ../../keyball.git/qmk_firmware/keyboards/keyball keyball $ ls keyball/ drivers keyball39 keyball44 keyball46 keyball61 lib one47 readme.md $ cd ..
$ python3 -m pip install -r /home/ido/p/github/qmk_firmware.git/requirements.txt
エラーが出る:$ SKIP_GIT=yes make keyball/keyball44:default
-> https://github.com/Yowkees/keyball/discussions/622keyboards/keyball/lib/keyball/keyball.c:54:24: error: initializer element is not constant .pressing_keys = { BL, BL, BL, BL, BL, BL, 0 },
と出るので、キーボード側のリセットスイッチを(慣例により)2回押す。$ qmk flash -kb keyball/keyball44 -km ax ... Waiting for USB serial port - reset your controller now (Ctrl+C to cancel)...
と出て一応終了するが、どうも変だw。 端末が変なモードになり、変なキーが印字される。 リセットでは収まらず、usb の挿し直しでようやく収まる。 設定したキーは有効になっているようだ。... Device /dev/ttyACM0 has appeared; assuming it is the controller. ...
CONSOLE_ENABLE = yes
参考
https://docs.qmk.fm/features/pointing_device#examples に例があったので これでいけそう。
現在は layer3 に切り替えることでトラックボールがスクロールモードになる (通常は、もちろんマウスカーソル移動)。
コードを見てみる。
pointing_device_driver_get_report() // QMK callback motion_to_mouse() keyball_on_apply_motion_to_mouse_scroll()
layer_state_set_user() // layer 変更時 callback keyball_set_scroll_mode(get_highest_layer(state) == 3)
ソース:
qmk_firmware/keyboards/keyball/lib/keyball/keyball.c qmk_firmware/keyboards/keyball/keyball44/keymaps/ax/keymap.c
移行中、新キーボードに違和感感じるのは当然だけど、 もたもたしている訳にはいかないケースで旧キーボードを使うと、こちらもまた違和感がありますw。
新しい環境に慣れつつあるんだな、と前向きに捉えるようにしていますw。