TONE/NOTEミニキーボード
はじめに
数年前に遊舎工房で自作キーボードキットを購入しました。
TONE&NOTEというロータリーエンコーダー付きの小さいキーボードです。
組み立て、動作確認は行っていたのですが、2020年に使っていた mac mini の HDD がクラッシュして以来、ビルド環境を再整備出来ていませんでした。
ブログサイトを改めてはじめたのをきっかけに、簡単な記事にまとめてみました。
AdobeXDのショートカットを割り当てようと思います
最近、AdobeXDを使い始めたのですが、TONEにショートカットキーを割り当てたいと思います。
どんなキーが使用頻度が高そうなのか考えてみました。
| キー | 機能 |
|---|---|
V |
選択ツール |
R |
長方形ツール |
E |
楕円形ツール |
Y |
多角形ツール |
L |
線ツール |
P |
ペンツール |
T |
テキストツール |
A |
アートボード |
Z |
ズーム、虫眼鏡ツール |
SHIFT + cmd + Y |
ライブラリ |
cmd + Y |
レイヤー |
cmd |
グループやコンポーネントの中のひとつの部品のみを選択するとき、マウス操作と合わせて使う。 |
cmd + 3 |
選択した部品を中心に拡大表示。 |
cmd + 0 |
全体を表示。 |
SHIFT |
押しながら、矢印キーで移動すると10px単位で動く。 |
CTRL |
押しながらクリックすると、右クリック。(macの場合) |
ESC |
なにかを選択しているときは、選択解除。 |
cmd + C |
コピー |
cmd + V |
ペースト |
キーマップを作成してみた
TONE&NOTEは、8個のキーと1個のロータリーエンコーダーで構成されています。
「Fnキーを押しながら...」と同等の使用方法も可能です。
ちょっと悩みましたが、とりあえず下記のようにマッピングしてみました。
filename : keyboards/tone_rev2/keymaps/myxdkeys/keymap.c
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_T, KC_R, G(KC_V), G(KC_C),
LT(1, KC_ESC), KC_V, KC_LSFT, KC_LCMD
),
[1] = LAYOUT(
G(KC_0), KC_L, KC_Y, KC_E,
_______, G(KC_3), LSG(KC_Y), G(KC_Y)
)
};
/* Rotary encoder settings */
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
tap_code(KC_UP); //Rotary encoder clockwise
}
else {
tap_code(KC_DOWN); //Rotary encoder Reverse clockwise
}
return true;
}
簡単に解説するとKC_Tは、Tです。
G(KC_C)は、cmd + Cです。
興味深いのは、LT(1, KC_ESC)。
押している間は、LAYOUT[1]のキー配列になります。押してすぐ放す、つまり普通にポンっとたたいたときは、ESCとなります。
LSG(KC_Y)は、LEFT-SHIFT + cmd + Yとなり、ライブラリパネルに切り替えます。
下半分のコードで、ロータリーエンコーダーの動作を設定しています。時計回りで↑、反時計回りで↓です。クリック感があるので、ワンクリックで1回押下したのと同じです。
当面は、各機能を書いた紙をキーキャップに貼り付けて使うことにしました。
おわりに
少し使ってみて気がついたことは、楕円形ツールのようにひとつのキーで切り替えられることを、Fn + ○としたことで「押しながら」という手数が増えてしまいました。
コピーのように、2つ以上のキーを組み合わせる場合は、1つのキーで済むので効率がよくなります。
ロータリーエンコーダーは上下のみなので、左右移動ができません。
でも、SHIFTと組み合わせると回転操作で部品が10px単位で上下移動できるのは、微調整に便利でした。
もう少し使ってみて、使用頻度の高い複数キーの組み合わせ操作を探してみたいと思います。
ビルド方法や、Promicroへhexファイルを焼く方法などは、また別の機会に記事にします。
