-
Notifications
You must be signed in to change notification settings - Fork 0
Home
tomo edited this page Aug 11, 2019
·
1 revision
TOKYO FLIP-FLOPさんのワンボタンキーボードで、
- シングルクリック
- ダブルクリック
- 長押し
に対応しました。
ダブルクリック時の2回目のクリックで指を離さず長押しにしても、ダブルクリックとして反応します。
ワンボタンキーボードの詳細はこちら。
ソースコード中の次の3行でクリック速度など調整します。
const unsigned long LONG_HOLD_PERIOD_MS = 1000; // キー長押しと判定する時間
const unsigned long INPUT_END_PERIOD_MS = 500; // キー入力の完了と判定する時間 (> CONT_CLICK_PERIOD_MSにする)
const unsigned long CONT_CLICK_PERIOD_MS = 333; // 連続クリックと判定する時間
INPUT_END_PERIOD_MSの値をCONT_CLICK_PERIOD_MSの値よりも大きく設定します。
長押し時にキー入力を繰り返したい場合は、_LONG_HOLD_LOOP_
の#defineを有効にします。
#undef _LONG_HOLD_LOOP_ // 長押し時に連続実行する場合は#defineする
関数の内部は適宜編集します。
void actionSingleClick() {
Keyboard.print("single");
Keyboard.press(KEY_RETURN);
delay(10);
Keyboard.releaseAll();
}
void actionDoubleClick() {
Keyboard.print("double");
Keyboard.press(KEY_RETURN);
delay(10);
Keyboard.releaseAll();
}
void actionLongHold() {
#ifndef _LONG_HOLD_LOOP_
if (countLongHold == 0) {
#endif
Keyboard.print("long hold");
Keyboard.press(KEY_RETURN);
delay(10);
Keyboard.releaseAll();
#ifndef _LONG_HOLD_LOOP_
}
#endif
}