diff options
| author | umi <57262844+umi-umi@users.noreply.github.com> | 2020-07-29 19:02:37 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-29 19:02:37 +0900 |
| commit | ea1c7f185685b2b70dd9930a08b0935ed074984b (patch) | |
| tree | 8c1182426a14dc484e7d6b3d734e1bdabea14d18 /docs | |
| parent | a57b3131534a5b4107cff94e18475019be34c9af (diff) | |
| download | qmk_firmware-ea1c7f185685b2b70dd9930a08b0935ed074984b.tar.gz qmk_firmware-ea1c7f185685b2b70dd9930a08b0935ed074984b.zip | |
[Docs] Japanese translation of docs/one_shot_keys.md (#9754)
* add one_shot_keys.md translation
* update based on comment
* update based on comment
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ja/one_shot_keys.md | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/docs/ja/one_shot_keys.md b/docs/ja/one_shot_keys.md new file mode 100644 index 000000000..61cf31bef --- /dev/null +++ b/docs/ja/one_shot_keys.md | |||
| @@ -0,0 +1,107 @@ | |||
| 1 | # ワンショットキー | ||
| 2 | |||
| 3 | <!--- | ||
| 4 | original document: 0.9.34:docs/one_shot_keys.md | ||
| 5 | git diff 0.9.34 HEAD -- docs/one_shot_keys.md | cat | ||
| 6 | --> | ||
| 7 | |||
| 8 | ワンショットキーは次のキーが押されるまでアクティブのままになり、そのあと放されるキーです。これにより一度に1つ以上のキーを押すことなく、キーボードの組み合わせを入力することができます。これらのキーは通常「スティッキーキー」あるいは「デッドキー」と呼ばれます。 | ||
| 9 | |||
| 10 | 例えば、キーを `OSM(MOD_LSFT)` と定義する場合、最初にシフトを押して放し、続いて A を押して放すことで、大文字の A キャラクタを入力することができます。コンピュータには、シフトが押された瞬間にシフトが押し続けられ、A が放された後ですぐにシフトキーが放されるように見えます。 | ||
| 11 | |||
| 12 | ワンショットキーは通常のモディファイアのようにも動作します。ワンショットキーを押しながら他のキーを入力すると、キーを放した直後にワンショットキーが解除されます。 | ||
| 13 | |||
| 14 | さらに、短時間でキーを5回押すと、そのキーをロックします。これはワンショットモディファイアとワンショットレイヤーに適用され、`ONESHOT_TAP_TOGGLE` 定義によって制御されます。 | ||
| 15 | |||
| 16 | `config.h` でこれらを定義することでワンショットキーの挙動を制御することができます: | ||
| 17 | |||
| 18 | ```c | ||
| 19 | #define ONESHOT_TAP_TOGGLE 5 /* この回数をタップすると、もう一度タップするまでキーが押されたままになります。*/ | ||
| 20 | #define ONESHOT_TIMEOUT 5000 /* ワンショットキーが解除されるまでの時間 (ms) */ | ||
| 21 | ``` | ||
| 22 | |||
| 23 | * `OSM(mod)` - *mod*を一時的に押し続けます。[モッドタップ](ja/mod_tap.md)で示したように、`KC_*` コードでは無く、`MOD_*` キーコードを使わなければなりません。 | ||
| 24 | * `OSL(layer)` - 一時的に*レイヤー*に切り替えます。 | ||
| 25 | |||
| 26 | ワンショットキーをマクロあるいはタップダンスルーチンの一部として有効にしたい場合があります。 | ||
| 27 | |||
| 28 | ワンショットレイヤーについては、キーを押した時に `set_oneshot_layer(LAYER, ONESHOT_START)` を呼び出し、キーを放した時に `clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED)` を呼び出す必要があります。ワンショットをキャンセルする場合は、`reset_oneshot_layer()` を呼び出してください。 | ||
| 29 | |||
| 30 | ワンショットモッドについては、設定するためには `set_oneshot_mods(MOD)` を呼び出し、キャンセルするためには `clear_oneshot_mods()` を呼び出す必要があります。 | ||
| 31 | |||
| 32 | !> リモートデスクトップ接続で OSM 変換に問題がある場合は、設定を開いて「ローカル リソース」タブに移動し、キーボードセクションでドロップダウンを「このコンピューター」に変更することで修正することができます。これにより問題が修正され、OSM がリモートデスクトップ上で適切に動作するようになります。 | ||
| 33 | |||
| 34 | ## コールバック | ||
| 35 | |||
| 36 | ワンショットキーを押す時にカスタムロジックを実行したい場合、実装を選択できる幾つかのコールバックがあります。例えば、LED を点滅させたり、音を鳴らしたりして、ワンショットキーの変化を示すことができます。 | ||
| 37 | |||
| 38 | `OSM(mod)` のためのコールバックがあります。ワンショット修飾キーの状態が変更されるたびに呼び出されます: オンに切り替わる時だけでなく、オフに切り替わる時にも呼び出されます。以下のように使うことができます: | ||
| 39 | |||
| 40 | ```c | ||
| 41 | void oneshot_mods_changed_user(uint8_t mods) { | ||
| 42 | if (mods & MOD_MASK_SHIFT) { | ||
| 43 | println("Oneshot mods SHIFT"); | ||
| 44 | } | ||
| 45 | if (mods & MOD_MASK_CTRL) { | ||
| 46 | println("Oneshot mods CTRL"); | ||
| 47 | } | ||
| 48 | if (mods & MOD_MASK_ALT) { | ||
| 49 | println("Oneshot mods ALT"); | ||
| 50 | } | ||
| 51 | if (mods & MOD_MASK_GUI) { | ||
| 52 | println("Oneshot mods GUI"); | ||
| 53 | } | ||
| 54 | if (!mods) { | ||
| 55 | println("Oneshot mods off"); | ||
| 56 | } | ||
| 57 | } | ||
| 58 | ``` | ||
| 59 | |||
| 60 | `mods` 引数は変更後のアクティブな mod が含まれるため、現在の状態が反映されます。 | ||
| 61 | |||
| 62 | (`config.h` に `#define ONESHOT_TAP_TOGGLE 2` を追加して) ワンショットタップトグルを使う場合、指定された回数だけ修飾キーを押してロックすることができます。そのためのコールバックもあります: | ||
| 63 | |||
| 64 | ```c | ||
| 65 | void oneshot_locked_mods_changed_user(uint8_t mods) { | ||
| 66 | if (mods & MOD_MASK_SHIFT) { | ||
| 67 | println("Oneshot locked mods SHIFT"); | ||
| 68 | } | ||
| 69 | if (mods & MOD_MASK_CTRL) { | ||
| 70 | println("Oneshot locked mods CTRL"); | ||
| 71 | } | ||
| 72 | if (mods & MOD_MASK_ALT) { | ||
| 73 | println("Oneshot locked mods ALT"); | ||
| 74 | } | ||
| 75 | if (mods & MOD_MASK_GUI) { | ||
| 76 | println("Oneshot locked mods GUI"); | ||
| 77 | } | ||
| 78 | if (!mods) { | ||
| 79 | println("Oneshot locked mods off"); | ||
| 80 | } | ||
| 81 | } | ||
| 82 | ``` | ||
| 83 | |||
| 84 | 最後に、`OSL(layer)` ワンショットキーのためのコールバックもあります: | ||
| 85 | |||
| 86 | ```c | ||
| 87 | void oneshot_layer_changed_user(uint8_t layer) { | ||
| 88 | if (layer == 1) { | ||
| 89 | println("Oneshot layer 1 on"); | ||
| 90 | } | ||
| 91 | if (!layer) { | ||
| 92 | println("Oneshot layer off"); | ||
| 93 | } | ||
| 94 | } | ||
| 95 | ``` | ||
| 96 | |||
| 97 | いずれかのワンショットレイヤーがオフの場合、`layer` は 0 になります。ワンショットレイヤーの変更では無く、レイヤーの変更で何かを実行したい場合は、`layer_state_set_user` は使用するのに良いコールバックです。 | ||
| 98 | |||
| 99 | 独自のキーボードを作成している場合、`_kb` と同等の機能もあります: | ||
| 100 | |||
| 101 | ```c | ||
| 102 | void oneshot_locked_mods_changed_kb(uint8_t mods); | ||
| 103 | void oneshot_mods_changed_kb(uint8_t mods); | ||
| 104 | void oneshot_layer_changed_kb(uint8_t layer); | ||
| 105 | ``` | ||
| 106 | |||
| 107 | 他のコールバックと同様に、更にカスタマイズを可能にするために `_user` バージョンを呼ぶようにしてください。 | ||
