|
|
@ -1,8 +1,8 @@ |
|
|
|
# タップホールド設定オプション |
|
|
|
# タップホールド設定オプション |
|
|
|
|
|
|
|
|
|
|
|
<!--- |
|
|
|
<!--- |
|
|
|
original document: 0.10.33:docs/tap_hold.md |
|
|
|
original document: 0.12.41:docs/tap_hold.md |
|
|
|
git diff 0.10.33 HEAD -- docs/tap_hold.md | cat |
|
|
|
git diff 0.12.41 HEAD -- docs/tap_hold.md | cat |
|
|
|
--> |
|
|
|
--> |
|
|
|
|
|
|
|
|
|
|
|
タップホールドオプションは素晴らしいものですが、問題が無いわけではありません。デフォルト設定を適切なものにしようとしましたが、一部の人にとってまだ問題を引き起こすかもしれません。 |
|
|
|
タップホールドオプションは素晴らしいものですが、問題が無いわけではありません。デフォルト設定を適切なものにしようとしましたが、一部の人にとってまだ問題を引き起こすかもしれません。 |
|
|
@ -92,7 +92,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { |
|
|
|
#define IGNORE_MOD_TAP_INTERRUPT |
|
|
|
#define IGNORE_MOD_TAP_INTERRUPT |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、通常は両方のキーのタッピング機能が出力されます。これはローリングコンボキーには望ましくないかもしれません。 |
|
|
|
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、`TAPPING_TERM` 内で押された場合でも、通常はモッドと通常のキーが出力されます。これは、ローリングコンボキーや、頻繁に使用するキー(例えば、`RCTL_T(KC_QUOT)`)にモッドタップを使う高速なタイピストには望ましくない場合があります。 |
|
|
|
|
|
|
|
|
|
|
|
`モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。 |
|
|
|
`モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。 |
|
|
|
|
|
|
|
|
|
|
@ -103,7 +103,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { |
|
|
|
- `SFT_T(KC_A)` を放す |
|
|
|
- `SFT_T(KC_A)` を放す |
|
|
|
- `KC_X` を放す |
|
|
|
- `KC_X` を放す |
|
|
|
|
|
|
|
|
|
|
|
通常、これは `X` (`SHIFT`+`x`) を送信します。`モッドタップ割り込みの無視` を有効にすると、ホールドアクションを登録するには、両方のキーを `TAPPING_TERM` の間ホールドする必要があります。この場合、素早いタップは `ax` を送信しますが、両方をホールドすると、`X` (`SHIFT`+`x`) を出力します。 |
|
|
|
通常、これは大文字の `X` (`SHIFT`+`x`)、またはモッド + キーを送信します。`モッドタップ割り込みの無視` を有効にすると、ホールドアクションを登録するには、両方のキーを `TAPPING_TERM` の間ホールドする必要があります。この場合、素早いタップは `ax` を送信しますが、両方をホールドすると、大文字の `X` (`SHIFT`+`x`) を出力します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
?> __注意__: これはモディファイアにのみ関係し、レイヤー切り替えキーには関係しません。 |
|
|
|
?> __注意__: これはモディファイアにのみ関係し、レイヤー切り替えキーには関係しません。 |
|
|
@ -137,8 +137,7 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { |
|
|
|
#define TAPPING_FORCE_HOLD |
|
|
|
#define TAPPING_FORCE_HOLD |
|
|
|
``` |
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。 |
|
|
|
タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。 |
|
|
|
`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例: |
|
|
|
例: |
|
|
|
|
|
|
|
|
|
|
@ -185,6 +184,25 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) { |
|
|
|
|
|
|
|
|
|
|
|
例えば、他のキーを押すことなく `LT(2, KC_SPACE)` を押したり放したりしても何も起こりません。これを有効にすると、代わりに `KC_SPACE` を送信します。 |
|
|
|
例えば、他のキーを押すことなく `LT(2, KC_SPACE)` を押したり放したりしても何も起こりません。これを有効にすると、代わりに `KC_SPACE` を送信します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
この機能をより細かく制御するために、以下を `config.h` に追加することができます: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```c |
|
|
|
|
|
|
|
#define RETRO_TAPPING_PER_KEY |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
そして、以下の関数をキーマップに追加します: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```c |
|
|
|
|
|
|
|
bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) { |
|
|
|
|
|
|
|
switch (keycode) { |
|
|
|
|
|
|
|
case LT(2, KC_SPACE): |
|
|
|
|
|
|
|
return true; |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
## キー別の関数にキーレコードを含めるのはなぜですか? |
|
|
|
## キー別の関数にキーレコードを含めるのはなぜですか? |
|
|
|
|
|
|
|
|
|
|
|
「キー別」の関数全てにキーレコードを含んでいることに気付いたかもしれません。そしてなぜそうしたのか不思議に思っているかもしれません。 |
|
|
|
「キー別」の関数全てにキーレコードを含んでいることに気付いたかもしれません。そしてなぜそうしたのか不思議に思っているかもしれません。 |
|
|
|