mirror of
https://github.com/qmk/qmk_firmware.git
synced 2026-10-01 14:29:08 +02:00
Migrate other usages of :id=...
This commit is contained in:
+6
-6
@@ -1,19 +1,19 @@
|
||||
# QMK CLI :id=qmk-cli
|
||||
# QMK CLI {#qmk-cli}
|
||||
|
||||
<!---
|
||||
original document: 0.9.19:docs/cli.md
|
||||
git diff 0.9.19 HEAD -- docs/cli.md | cat
|
||||
-->
|
||||
|
||||
## 概要 :id=overview
|
||||
## 概要 {#overview}
|
||||
|
||||
QMK CLI を使用すると QMK キーボードの構築と作業が簡単になります。QMK ファームウェアの取得とコンパイル、キーマップの作成などのようなタスクを簡素化し合理化するためのコマンドを多く提供します。
|
||||
|
||||
### 必要事項 :id=requirements
|
||||
### 必要事項 {#requirements}
|
||||
|
||||
QMK は Python 3.6 以上を必要とします。我々は必要事項の数を少なくしようとしていますが、[`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt) に列挙されているパッケージもインストールする必要があります。これらは QMK CLI をインストールするときに自動的にインストールされます。
|
||||
|
||||
### Homebrew を使ったインストール (macOS、いくつかの Linux) :id=install-using-homebrew
|
||||
### Homebrew を使ったインストール (macOS、いくつかの Linux) {#install-using-homebrew}
|
||||
|
||||
[Homebrew](https://brew.sh) をインストールしている場合は、タップして QMK をインストールすることができます:
|
||||
|
||||
@@ -23,7 +23,7 @@ export QMK_HOME='~/qmk_firmware' # オプション、`qmk_firmware` の場所を
|
||||
qmk setup # これは `qmk/qmk_firmware` をクローンし、オプションでビルド環境をセットアップします
|
||||
```
|
||||
|
||||
### pip を使ってインストール :id=install-using-easy_install-or-pip
|
||||
### pip を使ってインストール {#install-using-easy_install-or-pip}
|
||||
|
||||
上で列挙した中にあなたのシステムがない場合は、QMK を手動でインストールすることができます。最初に、python 3.6 (以降)をインストールしていて、pip をインストールしていることを確認してください。次に以下のコマンドを使って QMK をインストールします:
|
||||
|
||||
@@ -33,7 +33,7 @@ export QMK_HOME='~/qmk_firmware' # オプション、`qmk_firmware` の場所を
|
||||
qmk setup # これは `qmk/qmk_firmware` をクローンし、オプションでビルド環境をセットアップします
|
||||
```
|
||||
|
||||
### 他のオペレーティングシステムのためのパッケージ :id=packaging-for-other-operating-systems
|
||||
### 他のオペレーティングシステムのためのパッケージ {#packaging-for-other-operating-systems}
|
||||
|
||||
より多くのオペレーティングシステム用に `qmk` パッケージを作成および保守する人を探しています。OS 用のパッケージを作成する場合は、以下のガイドラインに従ってください:
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ default.keymap: None -> default
|
||||
|
||||
qmk config compile
|
||||
|
||||
### 単一キーの例 :id=single-key-example
|
||||
### 単一キーの例 {#single-key-example}
|
||||
|
||||
qmk config compile.keyboard
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
|
||||
* `#define STRICT_LAYER_RELEASE`
|
||||
* キーリリースがどのレイヤーから来たのかを覚えるのではなく、現在のレイヤースタックを使って強制的に評価されるようにします (高度なケースに使われます)
|
||||
|
||||
## 設定可能な挙動 :id=behaviors-that-can-be-configured
|
||||
## 設定可能な挙動 {#behaviors-that-can-be-configured}
|
||||
|
||||
* `#define TAPPING_TERM 200`
|
||||
* タップがホールドになるまでの時間。
|
||||
@@ -188,7 +188,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
|
||||
* `#define TAP_HOLD_CAPS_DELAY 80`
|
||||
* MacOS で特別な処理が行われるため、`KC_CAPSLOCK` を使う時にタップホールドキー (`LT`, `MT`) に遅延を設定します。この値はミリ秒で、定義されていない場合はデフォルトは80msです。macOS については、これを200以上に設定すると良いでしょう。
|
||||
|
||||
## RGB ライト設定 :id=rgb-light-configuration
|
||||
## RGB ライト設定 {#rgb-light-configuration}
|
||||
|
||||
* `#define RGB_DI_PIN D7`
|
||||
* WS2812 の DI 端子につなぐピン
|
||||
@@ -347,7 +347,7 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
|
||||
* `bootloadHID`
|
||||
* `USBasp`
|
||||
|
||||
## 機能オプション :id=feature-options
|
||||
## 機能オプション {#feature-options}
|
||||
|
||||
これらを使って特定の機能のビルドを有効または無効にします。有効にすればするほどファームウェアが大きくなり、MCU には大きすぎるファームウェアを構築するリスクがあります。
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ QMK について質問したい場合は、[OLKB Subreddit](https://reddit.com/r
|
||||
* https://opensource.com/life/16/10/how-ask-technical-questions
|
||||
* http://www.catb.org/esr/faqs/smart-questions.html
|
||||
|
||||
# プロジェクトの概要 :id=project-overview
|
||||
# プロジェクトの概要 {#project-overview}
|
||||
|
||||
QMK は主に C で書かれており、特定の機能と部品は C++ で書かれています。QMK は、キーボードの中の組み込みプロセッサ、特に AVR ([LUFA](https://www.fourwalledcubicle.com/LUFA.php)) と ARM ([ChibiOS](https://www.chibios.org)) を対象にしています。すでに Arduino プログラミングに精通している場合は、多くの概念と制限がおなじみのものです。QMK に貢献するには Arduino を使用した経験は必要ありません。
|
||||
|
||||
@@ -57,14 +57,14 @@ QMK は主に C で書かれており、特定の機能と部品は C++ で書
|
||||
14. レビューをしているメンテナが変更を推奨する場合は、プルリクエストに変更を加えます。
|
||||
15. プルリクエストがマージされた後で成功を祝います!
|
||||
|
||||
# コーディング規約 :id=coding-conventions
|
||||
# コーディング規約 {#coding-conventions}
|
||||
|
||||
私たちのスタイルのほとんどは簡単に理解できます。C あるいは Python のいずれかに精通している場合は、ローカルスタイルにそれほど問題はないはずです。
|
||||
|
||||
* [コーディング規約 - C](ja/coding_conventions_c.md)
|
||||
* [コーディング規約 - Python](ja/coding_conventions_python.md)
|
||||
|
||||
# 一般的なガイドライン :id=general-guidelines
|
||||
# 一般的なガイドライン {#general-guidelines}
|
||||
|
||||
QMK には幾つかの異なるタイプの変更があり、それぞれ異なるレベルの厳密さが必要です。どのような種類の変更を行っても、次のガイドラインに留意してください。
|
||||
|
||||
@@ -110,7 +110,7 @@ enum my_keycodes {
|
||||
};
|
||||
```
|
||||
|
||||
### ドキュメントのプレビュー :id=previewing-the-documentation
|
||||
### ドキュメントのプレビュー {#previewing-the-documentation}
|
||||
|
||||
開発環境をセットアップした場合は、プルリクエストを開く前に以下のコマンドを `qmk_firmware/` フォルダから実行することで、あなたの変更をプレビューすることができます:
|
||||
|
||||
@@ -172,6 +172,6 @@ enum my_keycodes {
|
||||
|
||||
QMK で物事がどのようにレイアウトされるかについて明確なビジョンを維持するために、私たちはリファクタリングを詳細に計画し、変更をする協力者がいます。リファクタリングのアイデアあるいは提案がある場合は、[issue を開いてください](https://github.com/qmk/qmk_firmware/issues)。QMK を改善する方法についてお話ししたいと思います。
|
||||
|
||||
# 行動規範は私にとって何を意味しますか? :id=what-does-the-code-of-conduct-mean-for-me
|
||||
# 行動規範は私にとって何を意味しますか? {#what-does-the-code-of-conduct-mean-for-me}
|
||||
|
||||
私たちの[行動規範](https://github.com/qmk/qmk_firmware/blob/master/CODE_OF_CONDUCT.md)は、身元に関係なくあなたがプロジェクトの全員を敬意と礼儀を持って扱う責任があることを意味します。あなたが行動規範に記載されている不適切な行動やコメントの被害者である場合は、私たちはあなたのためにここにおり、私たちのコードに従って虐待者が適切に懲戒されるように最善を尽くします。
|
||||
|
||||
@@ -31,7 +31,7 @@ keyboards/<keyboard>/matrix.c
|
||||
SRC += matrix.c
|
||||
```
|
||||
|
||||
## マトリックスコードの部分置き換え :id=lite
|
||||
## マトリックスコードの部分置き換え {#lite}
|
||||
|
||||
カスタムマトリックスを実装する際、定型コードを書かなくてすむように、さまざまなスキャン関数のデフォルト実装を提供しています。
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
このページでは、QMK に関する特別な知識は想定していませんが、[QMK の理解](ja/understanding_qmk.md)を読むとより根本的なレベルで何が起きているかを理解するのに役立ちます。
|
||||
|
||||
## コア、キーボード、キーマップ階層 :id=a-word-on-core-vs-keyboards-vs-keymap
|
||||
## コア、キーボード、キーマップ階層 {#a-word-on-core-vs-keyboards-vs-keymap}
|
||||
|
||||
私たちは QMK を階層として構造化しました:
|
||||
|
||||
@@ -39,7 +39,7 @@ enum my_keycodes {
|
||||
};
|
||||
```
|
||||
|
||||
## 任意のキーコードの挙動のプログラミング :id=programming-the-behavior-of-any-keycode
|
||||
## 任意のキーコードの挙動のプログラミング {#programming-the-behavior-of-any-keycode}
|
||||
|
||||
既存のキーの挙動を上書きしたい場合、あるいは新しいキーについて挙動を定義する場合、`process_record_kb()` および `process_record_user()` 関数を使うべきです。これらは実際のキーイベントが処理される前のキー処理中に QMK によって呼び出されます。これらの関数が `true` を返す場合、QMK はキーコードを通常通りに処理します。これは、キーを置き換えるのではなく、キーの機能を拡張するのに便利です。これらの関数が `false` を返す場合、QMK は通常のキー処理をスキップし、必要なキーのアップまたはダウンイベントを送信するのかはユーザ次第です。
|
||||
|
||||
@@ -136,7 +136,7 @@ void keyboard_pre_init_user(void) {
|
||||
}
|
||||
```
|
||||
|
||||
### `keyboard_pre_init_*` 関数のドキュメント :id=keyboard_pre_init_-function-documentation
|
||||
### `keyboard_pre_init_*` 関数のドキュメント {#keyboard_pre_init_-function-documentation}
|
||||
|
||||
* キーボード/リビジョン: `void keyboard_pre_init_kb(void)`
|
||||
* キーマップ: `void keyboard_pre_init_user(void)`
|
||||
@@ -177,7 +177,7 @@ void keyboard_post_init_user(void) {
|
||||
* キーボード/リビジョン: `void keyboard_post_init_kb(void)`
|
||||
* キーマップ: `void keyboard_post_init_user(void)`
|
||||
|
||||
# マトリックススキャンコード :id=matrix-scanning-code
|
||||
# マトリックススキャンコード {#matrix-scanning-code}
|
||||
|
||||
可能であれば常に `process_record_*()` を使ってキーボードをカスタマイズし、その方法でイベントをフックし、コードがキーボードのパフォーマンスに悪影響を与えないようにします。ただし、まれにマトリックススキャンにフックする必要があります。これらの関数は1秒あたり少なくとも10回は呼び出されるため、これらの関数のコードのパフォーマンスに非常に注意してください。
|
||||
|
||||
@@ -194,7 +194,7 @@ void keyboard_post_init_user(void) {
|
||||
|
||||
カスタムマトリックススキャンコードが必要な場合は、この関数を使う必要があります。また、カスタムステータス出力 (LED あるいはディスプレイなど)や、ユーザが入力していない場合でも定期的にトリガーするその他の機能のために使うことができます。
|
||||
|
||||
# キーボードハウスキーピング :id=keyboard-housekeeping
|
||||
# キーボードハウスキーピング {#keyboard-housekeeping}
|
||||
|
||||
* キーボード/リビジョン: `void housekeeping_task_kb(void)`
|
||||
* キーマップ: `void housekeeping_task_user(void)`
|
||||
@@ -228,7 +228,7 @@ void suspend_wakeup_init_user(void) {
|
||||
* キーボード/リビジョン : `void suspend_power_down_kb(void)` および `void suspend_wakeup_init_user(void)`
|
||||
* キーマップ: `void suspend_power_down_kb(void)` および `void suspend_wakeup_init_user(void)`
|
||||
|
||||
# レイヤー切り替えコード :id=layer-change-code
|
||||
# レイヤー切り替えコード {#layer-change-code}
|
||||
|
||||
これはレイヤーが切り替えられるたびにコードを実行します。レイヤー表示あるいはカスタムレイヤー処理に役立ちます。
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
このページでは、新しいキーマップやキーボードを QMK に提出する際に使うべきテンプレートをまとめています。
|
||||
|
||||
## キーマップ `readme.md` テンプレート :id=keyboard-readmemd-template
|
||||
## キーマップ `readme.md` テンプレート {#keyboard-readmemd-template}
|
||||
|
||||
ほとんどのキーマップには、レイアウトを表す画像があります。画像を作成するには、[Keyboard Layout Editor](https://keyboard-layout-editor.com) を使うことができます。画像は [Imgur](https://imgur.com) や別のホスティングサービスにアップロードし、プルリクエストに画像を含めないでください。
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
`make` を `sudo` で実行することは一般的には良い考えでは***なく***、可能であれば前者の方法のいずれかを使うべきです。
|
||||
|
||||
### Linux の `udev` ルール :id=linux-udev-rules
|
||||
### Linux の `udev` ルール {#linux-udev-rules}
|
||||
|
||||
Linux では、ブートローダデバイスと通信するには適切な権限が必要です。ファームウェアを書き込む時に `sudo` を使うか(非推奨)、`/etc/udev/rules.d/` に[このファイル](https://github.com/qmk/qmk_firmware/tree/master/util/udev/50-qmk.rules)を配置することで、通信することができます。
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。
|
||||
|
||||
## デバッグ :id=debugging
|
||||
## デバッグ {#debugging}
|
||||
|
||||
`rules.mk` へ `CONSOLE_ENABLE = yes` の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの `DEBUG` キーコードを使用するか、デバッグモードを有効にする[コマンド](ja/feature_command.md)機能を使用するか、以下のコードをキーマップに追加します。
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
git diff 0.12.45 HEAD -- docs/faq_misc.md | cat
|
||||
-->
|
||||
|
||||
## どうやってキーボードをテストすればいいですか? :id=testing
|
||||
## どうやってキーボードをテストすればいいですか? {#testing}
|
||||
|
||||
通常、キーボードのテストは非常に簡単です。全てのキーをひとつずつ押して、期待するキーが送信されることを確認します。例え QMK で動作していない場合でも、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使用すると、キーボードをチェックできます。
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 修飾キー :id=modifier-keys
|
||||
# 修飾キー {#modifier-keys}
|
||||
|
||||
<!---
|
||||
original document: 0.14.6:docs/feature_advanced_keycodes.md
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
また、それらを繋げることができます。例えば、`LCTL(LALT(KC_DEL))` または `C(A(KC_DEL))` は1回のキー押下で Control+Alt+Delete を送信するキーを作成します。
|
||||
|
||||
# モディファイアの状態を確認 :id=checking-modifier-state
|
||||
# モディファイアの状態を確認 {#checking-modifier-state}
|
||||
|
||||
|
||||
現在のモディファイアの状態は、2つの関数によって主にアクセスされます。: `get_mods()` 関数は通常のモディファイアとモッドタップの状態を、`get_oneshot_mods()` 関数はワンショットモディファイアの状態を確認する関数です。(ワンショットモディファイアはキーが押されていない限り、通常のモディファイアキーのように動作します。)
|
||||
@@ -84,10 +84,10 @@ C 言語におけるビット演算のより詳しい情報は、[ここ](https:
|
||||
* `set_oneshot_mods(mods)`: `mods` で現在のワンショットモディファイアの状態を上書きします
|
||||
* `clear_oneshot_mods()`: 全てのワンショットモディファイアを無効にすることによって、ワンショットモディファイアの状態をリセットします。
|
||||
|
||||
## 例 :id=examples
|
||||
## 例 {#examples}
|
||||
|
||||
次の例は、[マクロについてのページ](ja/feature_macros.md) で読める [高度なマクロ](ja/feature_macros.md?id=advanced-macro-functions) を使っています。
|
||||
### Alt + Tab の代わりの Alt + Escape :id=alt-escape-for-alt-tab
|
||||
### Alt + Tab の代わりの Alt + Escape {#alt-escape-for-alt-tab}
|
||||
|
||||
左 Alt と `KC_ESC` が押されたときに、アプリ切り替えの(左 Alt と) `KC_TAB` のように振る舞うことを実現する単純な例です。この例は、左 Alt だけがアクティブになっているかを厳格に確認します。つまり、Alt+Shift+Esc によるアプリの逆順での切り替えはできません。また、この例は、実際の Alt+Escape キーボードショートカットを起動することはできなくなりますが、AltGr+Escape キーボードショートカットを起動することはできることに留意してください。
|
||||
|
||||
@@ -116,7 +116,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
};
|
||||
```
|
||||
|
||||
### Delete の代わりの Shift + Backspace :id=shift-backspace-for-delete
|
||||
### Delete の代わりの Shift + Backspace {#shift-backspace-for-delete}
|
||||
|
||||
`KC_BSPC` と組み合わせることで Shift の本来の動作が取り消され、そして、`KC_DEL` に完全に置き換えられる高度な例です。この例を適切に動作させるために2つのメイン変数が作られます。: `mod_state` と `delkey_registered` です。最初の1つ目の変数は、モディファイアの状態を記憶し、`KC_DEL` を登録した後に元に戻すために使われます。2つ目の変数はブール型変数 (true または false) で、`KC_DEL` の状態を追跡して Backspace/Delete キー全体のリリースを正確に管理します。
|
||||
|
||||
@@ -164,22 +164,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
};
|
||||
```
|
||||
# 過去の内容 :id=legacy-content
|
||||
# 過去の内容 {#legacy-content}
|
||||
|
||||
このページには多くの機能が含まれていました。このページを構成していた多くのセクションをそれぞれのページに移動しました。これより下は全て単なるリダイレクトであるため、web上で古いリンクをたどっている人は探しているものを見つけることができます。
|
||||
|
||||
## レイヤー :id=switching-and-toggling-layers
|
||||
## レイヤー {#switching-and-toggling-layers}
|
||||
|
||||
* [レイヤー](ja/feature_layers.md)
|
||||
|
||||
## モッドタップ :id=mod-tap
|
||||
## モッドタップ {#mod-tap}
|
||||
|
||||
* [モッドタップ](ja/mod_tap.md)
|
||||
|
||||
## ワンショットキー :id=one-shot-keys
|
||||
## ワンショットキー {#one-shot-keys}
|
||||
|
||||
* [ワンショットキー](ja/one_shot_keys.md)
|
||||
|
||||
## タップホールド設定オプション :id=tap-hold-configuration-options
|
||||
## タップホールド設定オプション {#tap-hold-configuration-options}
|
||||
|
||||
* [タップホールド設定オプション](ja/tap_hold.md)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# バックライト :id=backlighting
|
||||
# バックライト {#backlighting}
|
||||
|
||||
<!---
|
||||
original document: 0.14.14:docs/feature_backlight.md
|
||||
@@ -17,7 +17,7 @@ MCU は、GPIO ピンにはそんなに電流を供給できません。MCU か
|
||||
BACKLIGHT_ENABLE = yes
|
||||
```
|
||||
|
||||
## キーコード :id=keycodes
|
||||
## キーコード {#keycodes}
|
||||
|
||||
有効にすると、以下のキーコードを使ってバックライトレベルを変更することができます。
|
||||
|
||||
@@ -31,7 +31,7 @@ BACKLIGHT_ENABLE = yes
|
||||
| `BL_DEC` | バックライトレベルを下げる |
|
||||
| `BL_BRTG` | バックライトの明滅動作を切り替える |
|
||||
|
||||
## 関数群 :id=functions
|
||||
## 関数群 {#functions}
|
||||
|
||||
次の関数を使って、カスタムコードでバックライトを変更することができます:
|
||||
|
||||
@@ -55,7 +55,7 @@ BACKLIGHT_ENABLE = yes
|
||||
| `breathing_enable()` | バックライトの明滅動作をオンにする |
|
||||
| `breathing_disable()` | バックライトの明滅動作をオフにする |
|
||||
|
||||
## 設定 :id=configuration
|
||||
## 設定 {#configuration}
|
||||
|
||||
どのドライバを使うかを選択するには、以下を使って `rules.mk` を設定します:
|
||||
|
||||
@@ -81,14 +81,14 @@ BACKLIGHT_DRIVER = software
|
||||
|
||||
独自のキーボードを設計しているわけではない限り、通常は `BACKLIGHT_PIN` または `BACKLIGHT_ON_STATE` を変更する必要はありません。
|
||||
|
||||
### バックライトオン状態 :id=backlight-on-state
|
||||
### バックライトオン状態 {#backlight-on-state}
|
||||
|
||||
ほとんどのバックライトの回路は N チャンネルの MOSFET あるいは NPN トランジスタによって駆動されます。これは、トランジスタを *オン* にして LED を点灯させるには、ゲートまたはベースに接続されているバックライトピンを *high* に駆動する必要があることを意味します。
|
||||
ただし、P チャンネルの MOSFET あるいは PNP トランジスタが使われる場合があります。この場合、トランジスタがオンの時、ピンは代わりに *low* で駆動されます。
|
||||
|
||||
この機能は `BACKLIGHT_ON_STATE` を定義することでキーボードレベルで設定されます。
|
||||
|
||||
### AVR ドライバ :id=avr-driver
|
||||
### AVR ドライバ {#avr-driver}
|
||||
|
||||
`pwm` ドライバはデフォルトで設定されますが、`rules.mk` 内での同等の設定は以下の通りです:
|
||||
|
||||
@@ -96,7 +96,7 @@ BACKLIGHT_DRIVER = software
|
||||
BACKLIGHT_DRIVER = pwm
|
||||
```
|
||||
|
||||
#### 注意事項 :id=avr-caveats
|
||||
#### 注意事項 {#avr-caveats}
|
||||
|
||||
AVR ボードでは、QMK はどのドライバを使うかを以下の表に従って自動的に決定します:
|
||||
|
||||
@@ -126,7 +126,7 @@ AVR ボードでは、QMK はどのドライバを使うかを以下の表に従
|
||||
|
||||
両方のタイマーがオーディオのために使われている場合、バックライト PWM はハードウェアタイマを使うことができず、代わりにマトリックススキャンの間に引き起こされます。この場合、PWM の計算は十分なタイミングの精度で呼ばれない可能性があるため、バックライトの明滅はサポートされず、バックライトもちらつくかもしれません。
|
||||
|
||||
#### ハードウェア PWM 実装 :id=hardware-pwm-implementation
|
||||
#### ハードウェア PWM 実装 {#hardware-pwm-implementation}
|
||||
|
||||
バックライト用にサポートされているピンを使う場合、QMK は PWM 信号を出力するように設定されたハードウェアタイマを使います。タイマーは 0 にリセットする前に `ICRx` (デフォルトでは `0xFFFF`) までカウントします。
|
||||
希望の輝度が計算され、`OCRxx` レジスタに格納されます。カウンタがこの値まで達すると、バックライトピンは low になり、カウンタがリセットされると再び high になります。
|
||||
@@ -135,7 +135,7 @@ AVR ボードでは、QMK はどのドライバを使うかを以下の表に従
|
||||
明滅動作の効果はカウンタがリセットされる(秒間あたりおよそ244回)たびに呼び出される `TIMER1_OVF_vect` の割り込みハンドラを登録することで可能になります。
|
||||
このハンドラで、増分カウンタの値が事前に計算された輝度曲線にマップされます。明滅動作をオフにするには、割り込みを単純に禁止し、輝度を EEPROM に格納されているレベルに再設定します。
|
||||
|
||||
#### タイマー支援 PWM 実装 :id=timer-assisted-implementation
|
||||
#### タイマー支援 PWM 実装 {#timer-assisted-implementation}
|
||||
|
||||
`BACKLIGHT_PIN` がハードウェアバックライトピンに設定されていない場合、QMK はソフトウェア割り込みを引き起こすように設定されているハードウェアタイマを使います。タイマーは 0 にリセットする前に `ICRx` (デフォルトでは `0xFFFF`) までカウントします。
|
||||
0 に再設定すると、CPU は LED をオンにする OVF (オーバーフロー)割り込みを発火し、デューティサイクルを開始します。
|
||||
@@ -144,7 +144,7 @@ AVR ボードでは、QMK はどのドライバを使うかを以下の表に従
|
||||
|
||||
明滅の効果はハードウェア PWM 実装と同じです。
|
||||
|
||||
### ARM ドライバ :id=arm-configuration
|
||||
### ARM ドライバ {#arm-configuration}
|
||||
|
||||
まだ初期段階ですが、ARM バックライトサポートは最終的に AVR と同等の機能を持つことを目指しています。`pwm` ドライバはデフォルトで設定されますが、`rules.mk` 内での同等の設定は以下の通りです:
|
||||
|
||||
@@ -152,7 +152,7 @@ AVR ボードでは、QMK はどのドライバを使うかを以下の表に従
|
||||
BACKLIGHT_DRIVER = pwm
|
||||
```
|
||||
|
||||
#### ChibiOS の設定 :id=arm-configuration
|
||||
#### ChibiOS の設定 {#arm-configuration}
|
||||
|
||||
以下の `#define` は ARM ベースのキーボードにのみ適用されます:
|
||||
|
||||
@@ -164,11 +164,11 @@ BACKLIGHT_DRIVER = pwm
|
||||
|
||||
これらの値を決定するには、特定の MCU の ST データシートを参照してください。独自のキーボードを設計しているわけではない場合、通常はこれらを変更する必要はありません。
|
||||
|
||||
#### 注意事項 :id=arm-caveats
|
||||
#### 注意事項 {#arm-caveats}
|
||||
|
||||
現在のところ、ハードウェア PWM のみがサポートされ、タイマー支援はなく、自動設定は提供されません。
|
||||
|
||||
### ソフトウェア PWM ドライバ :id=software-pwm-driver
|
||||
### ソフトウェア PWM ドライバ {#software-pwm-driver}
|
||||
|
||||
このモードでは、他のキーボードのタスクを実行中に PWM は「エミュレート」されます。追加のプラットフォーム設定なしで最大のハードウェア互換性を提供します。トレードオフは、キーボードが忙しい時にバックライトが揺れる可能性があることです。有効にするには、`rules.mk` に以下を追加します:
|
||||
|
||||
@@ -176,7 +176,7 @@ BACKLIGHT_DRIVER = pwm
|
||||
BACKLIGHT_DRIVER = software
|
||||
```
|
||||
|
||||
#### 複数のバックライトピン :id=multiple-backlight-pins
|
||||
#### 複数のバックライトピン {#multiple-backlight-pins}
|
||||
|
||||
ほとんどのキーボードは、全てのバックライト LED を制御するたった1つのバックライトピンを持ちます (特にバックライトがハードウェア PWM ピンに接続されている場合)。
|
||||
ソフトウェア PWM では、複数のバックライトピンを定義することができます。これらのピンは PWM デューティサイクル時に同時にオンおよびオフになります。
|
||||
@@ -189,7 +189,7 @@ BACKLIGHT_DRIVER = software
|
||||
#define BACKLIGHT_PINS { F5, B2 }
|
||||
```
|
||||
|
||||
### カスタムドライバ :id=custom-driver
|
||||
### カスタムドライバ {#custom-driver}
|
||||
|
||||
上記ドライバのいずれもキーボードに適用されていない場合(例えば、バックライトを制御するのに別の IC を使用している場合)、QMK が提供しているこの簡単な API を使ってカスタムバックライトドライバを実装することができます。有効にするには、`rules.mk` に以下を追加します:
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ BOOTMAGIC_ENABLE = lite
|
||||
| `6` | レイヤー 6 をデフォルトレイヤーにする |
|
||||
| `7` | レイヤー 7 をデフォルトレイヤーにする |
|
||||
|
||||
## キーコード :id=keycodes
|
||||
## キーコード {#keycodes}
|
||||
|
||||
| キー | エイリアス | 説明 |
|
||||
|----------------------------------|---------|--------------------------------------------------------------------------|
|
||||
@@ -130,7 +130,7 @@ BOOTMAGIC_ENABLE = lite
|
||||
| `BOOTMAGIC_KEY_DEFAULT_LAYER_6` | `KC_6` | レイヤー 6 をデフォルトレイヤーにする |
|
||||
| `BOOTMAGIC_KEY_DEFAULT_LAYER_7` | `KC_7` | レイヤー 7 をデフォルトレイヤーにする |
|
||||
|
||||
# ブートマジックライト :id=bootmagic-lite
|
||||
# ブートマジックライト {#bootmagic-lite}
|
||||
|
||||
本格的なブートマジック機能の他に、ブートローダへのジャンプのみを処理するブートマジックライトがあります。これは、物理的なリセットボタンが無くブートローダにジャンプする方法が必要だが、ブートマジックが引き起こす問題を扱いたくないキーボードに適しています。
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# レイヤー :id=layers
|
||||
# レイヤー {#layers}
|
||||
|
||||
<!---
|
||||
original document: 0.12.41:docs/feature_layers.md
|
||||
@@ -9,7 +9,7 @@ QMK ファームウェアの最も強力で良く使われている機能の一
|
||||
|
||||
レイヤースタックがどのように動作するかの詳細な説明については、[キーマップの概要](ja/keymap.md#keymap-and-layers)を調べてください。
|
||||
|
||||
## レイヤーの切り替えとトグル :id=switching-and-toggling-layers
|
||||
## レイヤーの切り替えとトグル {#switching-and-toggling-layers}
|
||||
|
||||
以下の関数により、様々な方法でレイヤーをアクティブにすることができます。レイヤーは通常、独立したレイアウトでは無いことに注意してください -- 複数のレイヤーを一度にアクティブにすることができ、レイヤーが `KC_TRNS` を使ってキーの押下を下のレイヤーへと透過させることが一般的です。MO()、LM()、TT() あるいは LT() を使って一時的なレイヤーの切り替えを使う場合、上のレイヤーのキーを透過にするようにしてください。さもないと意図したように動作しないかもしれません。
|
||||
|
||||
@@ -22,17 +22,17 @@ QMK ファームウェアの最も強力で良く使われている機能の一
|
||||
* `TO(layer)` - *レイヤー*をアクティブにし、他の全てのレイヤー(デフォルトレイヤーを除く)を非アクティブにします。この関数は特別です。1つのレイヤーをアクティブなレイヤースタックに追加/削除する代わりに、現在のアクティブなレイヤーを完全に置き換え、唯一上位のレイヤーを下位のレイヤーで置き換えることができるからです。これはキーダウンで(キーが押されるとすぐに)アクティブになります。
|
||||
* `TT(layer)` - レイヤーのタップ切り替え。キーを押したままにすると*レイヤー*がアクティブにされ、放すと非アクティブになります (`MO` 風)。繰り返しタップすると、レイヤーはオンあるいはオフを切り替えます (`TG` 風)。デフォルトでは5回のタップが必要ですが、`TAPPING_TOGGLE` を定義することで変更することができます -- 例えば、2回のタップだけで切り替えるには、`#define TAPPING_TOGGLE 2` を定義します。
|
||||
|
||||
### 注意事項 :id=caveats
|
||||
### 注意事項 {#caveats}
|
||||
|
||||
現在のところ、`LT()` の `layer` 引数はレイヤー 0-15 に制限され、`kc` 引数は[基本的なキーコードセット](ja/keycodes_basic.md)に制限されています。つまり、`LCTL()`、`KC_TILD` あるいは `0xFF` より大きなキーコードを使うことができません。これは、QMK が16ビットのキーコードを使うためです。4ビットは機能の識別のために使われ、4ビットはレイヤーのために使われ、キーコードには8ビットしか残されていません。
|
||||
|
||||
これを拡張してもせいぜい複雑になるだけでしょう。32ビットキーコードに移行すると、これの多くが解決されますが、キーマップマトリックスが使用する領域が2倍になります。また、問題が起きる可能性もあります。タップしたキーコードにモディファイアを適用する必要がある場合は、[タップダンス](ja/feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys)を使うことができます。
|
||||
|
||||
## レイヤーとの連携 :id=working-with-layers
|
||||
## レイヤーとの連携 {#working-with-layers}
|
||||
|
||||
レイヤーを切り替える時は注意してください。(キーボードを取り外さずに)そのレイヤーを非アクティブにすることができずレイヤーから移動できなくなる可能性があります。最も一般的な問題を避けるためのガイドラインを作成しました。
|
||||
|
||||
### 初心者 :id=beginners
|
||||
### 初心者 {#beginners}
|
||||
|
||||
QMK を使い始めたばかりの場合は、全てを単純にしたいでしょう。レイヤーをセットアップする時は、これらのガイドラインに従ってください:
|
||||
|
||||
@@ -40,11 +40,11 @@ QMK を使い始めたばかりの場合は、全てを単純にしたいでし
|
||||
* layer 0 をルートとして、レイヤーを "ツリー" レイアウトに配置します。他の複数のレイヤーから同じレイヤーに行こうとしないでください。
|
||||
* 各レイヤーのキーマップでは、より高い番号のレイヤーのみを参照します。レイヤーは最大の番号(最上位)のアクティブレイヤーから処理されるため、下位レイヤーの状態を変更するのは難しくエラーが発生しやすくなります。
|
||||
|
||||
### 中級ユーザ :id=intermediate-users
|
||||
### 中級ユーザ {#intermediate-users}
|
||||
|
||||
複数の基本レイヤーが必要な場合があります。例えば、QWERTY と Dvorak を切り替える場合、国ごとに異なるレイアウトを切り替える場合、あるいは異なるビデオゲームごとにレイアウトを切り替える場合などです。基本レイヤーは常に最小の番号のレイヤーである必要があります。複数の基本レイヤーがある場合、常にそれらを相互排他的に扱う必要があります。1つの基本レイヤーがオンの場合、他をオフにします。
|
||||
|
||||
### 上級ユーザ :id=advanced-users
|
||||
### 上級ユーザ {#advanced-users}
|
||||
|
||||
レイヤーがどのように動作し、何ができるかを理解したら、より創造的になります。初心者のセクションで列挙されている規則は、幾つかの巧妙な詳細を回避するのに役立ちますが、特に超コンパクトなキーボードのユーザにとって制約になる場合があります。レイヤーの仕組みを理解することで、レイヤーをより高度な方法で使うことができます。
|
||||
|
||||
@@ -52,7 +52,7 @@ QMK を使い始めたばかりの場合は、全てを単純にしたいでし
|
||||
|
||||
場合によっては、マクロ内あるいはタップダンスルーチンの一部としてレイヤーを切り替えほうが良いかもしれません。`layer_on` はレイヤーをアクティブにし、`layer_off` はそれを非アクティブにします。もっと多くのレイヤーに関する関数は、[action_layer.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/action_layer.h) で見つけることができます。
|
||||
|
||||
## 関数 :id=functions
|
||||
## 関数 {#functions}
|
||||
|
||||
レイヤーの使用あるいは操作に関係する多くの関数(と変数)があります。
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ LED の状態を `uint8_t` として提供する2つの非推奨の関数があ
|
||||
* `uint8_t led_set_user(uint8_t usb_led)`
|
||||
* `uint8_t host_keyboard_leds()`
|
||||
|
||||
## 設定オプション :id=configuration-options
|
||||
## 設定オプション {#configuration-options}
|
||||
|
||||
インジケータを設定するには、`config.h` で以下の `#define` をします:
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ SEND_STRING(".."SS_TAP(X_END));
|
||||
```
|
||||
|
||||
|
||||
## 高度なマクロ関数 :id=advanced-macro-functions
|
||||
## 高度なマクロ関数 {#advanced-macro-functions}
|
||||
|
||||
マクロの生成に役立つ関数が幾つかあります。マクロの中にかなり高度なコードを書くことができますが、機能が複雑になりすぎる場合は、代わりにカスタムキーコードを定義することをお勧めします。マクロはシンプルにしなければなりません。
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ポインティングデバイス :id=pointing-device
|
||||
# ポインティングデバイス {#pointing-device}
|
||||
|
||||
<!---
|
||||
original document: 0.12.41:docs/feature_pointing_device.md
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# PS/2 マウスサポート :id=ps2-mouse-support
|
||||
# PS/2 マウスサポート {#ps2-mouse-support}
|
||||
|
||||
<!---
|
||||
original document: 0.13.17:docs/feature_ps2_mouse.md
|
||||
@@ -11,7 +11,7 @@ PS/2 マウス (例えばタッチパッドあるいはトラックポイント)
|
||||
|
||||
PS/2 デバイスの接続は、USART(最善)、割り込み(次善)、 または busywait(非推奨)の3つのやり方が有ります。
|
||||
|
||||
## トラックポイントとコントローラ間の回路 :id=the-circuitry-between-trackpoint-and-controller
|
||||
## トラックポイントとコントローラ間の回路 {#the-circuitry-between-trackpoint-and-controller}
|
||||
|
||||
動作させるには、DATA と CLK のふたつのラインを 4.7k の抵抗で 5V にプルアップしてやる必要があります。
|
||||
|
||||
@@ -28,7 +28,7 @@ MODULE 5+ --------+--+--------- PWR CONTROLLER
|
||||
```
|
||||
|
||||
|
||||
## Busywait バージョン :id=busywait-version
|
||||
## Busywait バージョン {#busywait-version}
|
||||
|
||||
注意: これは非推奨です。ギクシャクした動きや、未送信の入力が発生するかもしれません。可能であれば、割り込みまたは USART バージョンを使ってください。
|
||||
|
||||
@@ -49,7 +49,7 @@ PS2_DRIVER = busywait
|
||||
#endif
|
||||
```
|
||||
|
||||
## 割り込みバージョン :id=interrupt-version
|
||||
## 割り込みバージョン {#interrupt-version}
|
||||
|
||||
以下の例はクロックのために D2 を、データのために D5 を使います。クロックには任意の INT あるいは PCINT ピンを、データには任意のピンを使うことができます。
|
||||
|
||||
@@ -82,7 +82,7 @@ PS2_DRIVER = interrupt
|
||||
#endif
|
||||
```
|
||||
|
||||
## USART バージョン :id=usart-version
|
||||
## USART バージョン {#usart-version}
|
||||
|
||||
ATMega32u4 で USART を使うには、クロックのために PD5 を、データのために PD2 を使う必要があります。それらのいずれかが利用できない場合は、割り込みバージョンを使う必要があります。
|
||||
|
||||
@@ -134,9 +134,9 @@ PS2_DRIVER = usart
|
||||
#endif
|
||||
```
|
||||
|
||||
## 追加の設定 :id=additional-settings
|
||||
## 追加の設定 {#additional-settings}
|
||||
|
||||
### PS/2 マウス機能 :id=ps2-mouse-features
|
||||
### PS/2 マウス機能 {#ps2-mouse-features}
|
||||
|
||||
以下の PS/2 マウスプロトコルによってサポートされる設定を有効にします。
|
||||
|
||||
@@ -177,7 +177,7 @@ void ps2_mouse_set_resolution(ps2_mouse_resolution_t resolution);
|
||||
void ps2_mouse_set_sample_rate(ps2_mouse_sample_rate_t sample_rate);
|
||||
```
|
||||
|
||||
### 細かい調整 :id=fine-control
|
||||
### 細かい調整 {#fine-control}
|
||||
|
||||
マウスの感度と速度を変更するには以下の定義を使います。
|
||||
注意: 同じ効果のために `ps2_mouse_set_resolution` も使うことができます (ほとんどのタッチパッドではサポートされません)。
|
||||
@@ -188,7 +188,7 @@ void ps2_mouse_set_sample_rate(ps2_mouse_sample_rate_t sample_rate);
|
||||
#define PS2_MOUSE_V_MULTIPLIER 1
|
||||
```
|
||||
|
||||
### スクロールボタン :id=scroll-button
|
||||
### スクロールボタン {#scroll-button}
|
||||
|
||||
トラックポイントを使っている場合は、スクロールのためにそれを使えるようにしたいでしょう。
|
||||
押された時にマウスを移動させる代わりにスクロールさせる「スクロールボタン」を有効にすることができます。
|
||||
@@ -235,7 +235,7 @@ void ps2_mouse_set_sample_rate(ps2_mouse_sample_rate_t sample_rate);
|
||||
#define PS2_MOUSE_SCROLL_DIVISOR_V 2
|
||||
```
|
||||
|
||||
### マウスとスクロールの軸の反転 :id=invert-mouse-and-scroll-axes
|
||||
### マウスとスクロールの軸の反転 {#invert-mouse-and-scroll-axes}
|
||||
|
||||
X 軸と Y 軸を反転するには、以下を config.h に配置します:
|
||||
|
||||
@@ -251,7 +251,7 @@ X 軸と Y 軸を反転するには、以下を config.h に配置します:
|
||||
#define PS2_MOUSE_INVERT_V
|
||||
```
|
||||
|
||||
### マウスの軸の回転 :id=rotate-mouse-axes
|
||||
### マウスの軸の回転 {#rotate-mouse-axes}
|
||||
|
||||
デバイスの出力を時計回りに 90 か 180 か 270 度変換します。
|
||||
|
||||
@@ -267,7 +267,7 @@ X 軸と Y 軸を反転するには、以下を config.h に配置します:
|
||||
#define PS2_MOUSE_ROTATE 90 /* 西向きのデバイスの向きの補正*/
|
||||
```
|
||||
|
||||
### デバッグ設定 :id=debug-settings
|
||||
### デバッグ設定 {#debug-settings}
|
||||
|
||||
マウスをデバッグするには、`debug_mouse = true` を追加するか、ブートマジックを使って有効にします。
|
||||
|
||||
@@ -277,7 +277,7 @@ X 軸と Y 軸を反転するには、以下を config.h に配置します:
|
||||
#define PS2_MOUSE_DEBUG_RAW
|
||||
```
|
||||
|
||||
### 動作フック :id=movement-hook
|
||||
### 動作フック {#movement-hook}
|
||||
|
||||
ホストに送信される前にキーマップでマウスの動作を処理します。使用例として、
|
||||
ノイズのフィルタリング、加速の追加、レイヤーの自動アクティブ化が含まれます。
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# QMK での速記 :id=stenography-in-qmk
|
||||
# QMK での速記 {#stenography-in-qmk}
|
||||
|
||||
<!---
|
||||
original document: 0.13.15:docs/feature_stenography.md
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
[Open Steno Project](https://www.openstenoproject.org/)は、速記ストロークを単語とコマンドにリアルタイムに変換する Plover と呼ばれるオープンソースプログラムを構築しました。確立された辞書とサポートがあります。
|
||||
|
||||
## QWERTY キーボードを使った Plover :id=plover-with-qwerty-keyboard
|
||||
## QWERTY キーボードを使った Plover {#plover-with-qwerty-keyboard}
|
||||
|
||||
Plover は全ての標準的な QWERTY キーボードで動作しますが、キーボードが NKRO (n-キーロールオーバー)をサポートする場合は Plover は一度に押された全てのキーが分かるためより効率的です。Plover 用のキーマップの例は `planck/keymaps/default` で見つかります。`PLOVER` レイヤーに切り替えると、数字バーをサポートするためにキーボードの位置が調整されます。
|
||||
|
||||
QMK で Plover を使うには、NKRO を有効にし、標準レイアウト以外のレイアウトの場合はオプションでレイアウトを調整します。複数のキーを押しやすくするために、なんらかの速記フレンドリなキーキャップを購入することもできます。
|
||||
|
||||
## 速記プロトコルを使った Plover :id=plover-with-steno-protocol
|
||||
## 速記プロトコルを使った Plover {#plover-with-steno-protocol}
|
||||
|
||||
Plover は幾つかの速記マシンの言語も理解します。QMK はこれらの言語の内2つの言語、TX Bolt と GeminiPR を話すことができます。レイアウトの例は `planck/keymaps/steno` で見つけることができます。
|
||||
|
||||
@@ -25,15 +25,15 @@ QMKが steno プロトコルを使って Plover と話す場合は、Plover は
|
||||
|
||||
> 注意: ハードウェアの制限により、仮想シリアルポートとマウスエミュレーションの両方を同時に実行することができないかもしれません。
|
||||
|
||||
### TX Bolt :id=tx-bolt
|
||||
### TX Bolt {#tx-bolt}
|
||||
|
||||
TX Bolt は可変サイズ(1-5バイト)のパケットで非常に単純なプロトコルを介して24個のキーのステータスを通信します。
|
||||
|
||||
### GeminiPR :id=geminipr
|
||||
### GeminiPR {#geminipr}
|
||||
|
||||
GeminiPR は42個のキーを6バイトのパケットにエンコードします。TX Bolt は標準的な速記に必要な全てを含んでいますが、GeminiPR は英語以外の速記法のサポートを含む、より多くのオプションにも開け放たれています。
|
||||
|
||||
## 速記のための QMK の設定 :id=configuring-qmk-for-steno
|
||||
## 速記のための QMK の設定 {#configuring-qmk-for-steno}
|
||||
|
||||
最初にキーマップの Makefile で速記を有効にします。競合を避けるために、マウスキー、追加キーあるいはその他の USB エンドポイントを無効にする必要もあります。幾つかのプロセッサの内蔵の USB スタックは一定数の USB エンドポイントと仮想シリアルポートのみをサポートし、速記はそれらのうちの3つを使います。
|
||||
|
||||
@@ -54,13 +54,13 @@ void eeconfig_init_user() {
|
||||
|
||||
ディスプレイタブで 'Open stroke display' をクリックします。Plover を無効にすると、キーボードのキーを押すとストローク表示ウィンドウにそれらが表示されるはずです。これを使ってキーマップが正しくセットアップされたことを確認してください。これで速記をする準備ができました!
|
||||
|
||||
## 速記の学習 :id=learning-stenography
|
||||
## 速記の学習 {#learning-stenography}
|
||||
|
||||
* [Learn Plover!](https://sites.google.com/site/learnplover/)
|
||||
* [Steno Jig](https://joshuagrams.github.io/steno-jig/)
|
||||
* Plover [Learning Stenography](https://github.com/openstenoproject/plover/wiki/Learning-Stenography) wiki のより多くのリソース
|
||||
|
||||
## コードとのインターフェイス :id=interfacing-with-the-code
|
||||
## コードとのインターフェイス {#interfacing-with-the-code}
|
||||
|
||||
速記コードには3つの捕捉可能なフックがあります。これらの関数を定義した場合、処理の特定のポイントでそれらが呼び出されます; それらが true を返す場合処理が継続され、そうでなければあなたが物事を処理すると想定します。
|
||||
|
||||
@@ -83,7 +83,7 @@ bool post_process_steno_user(uint16_t keycode, keyrecord_t *record, steno_mode_t
|
||||
この関数はキーが処理された後、ただしコードを送信するかどうかを決める前に呼び出されます。`IS_PRESSED(record->event)` が false で、`pressed` が 0 または 1 の場合は、コードはまもなく送信されますが、まだ送信されてはいません。ここが速記コードあるいはキーのライブ表示などのフックを配置する場所です。
|
||||
|
||||
|
||||
## キーコードリファレンス :id=keycode-reference
|
||||
## キーコードリファレンス {#keycode-reference}
|
||||
|
||||
`keymap_steno.h` で定義されています。
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
git diff 0.13.15 HEAD -- docs/feature_tap_dance.md | cat
|
||||
-->
|
||||
|
||||
## イントロダクション :id=introduction
|
||||
## イントロダクション {#introduction}
|
||||
|
||||
セミコロンキーを1回叩くと、セミコロンが送信されます。2回素早く叩くと、コロンが送信されます。3回叩くと、あなたのキーボードのLEDが激しく踊るように明滅します。これは、タップダンスでできることの一例です。それは、コミュニティが提案したとても素敵なファームウェアの機能の1つで、[algernon](https://github.com/algernon) がプルリクエスト [#451](https://github.com/qmk/qmk_firmware/pull/451) で考えて作ったものです。algernon が述べる機能は次の通りです:
|
||||
|
||||
この機能を使うと、特定のキーが、タップした回数に基づいて異なる振る舞いをします。そして、割り込みがあった時は、割り込み前に上手く処理されます。
|
||||
|
||||
## タップダンスの使い方 :id=how-to-use
|
||||
## タップダンスの使い方 {#how-to-use}
|
||||
最初に、あなたの `rules.mk` ファイルで `TAP_DANCE_ENABLE = yes` と設定する必要があります。なぜならば、デフォルトでは無効になっているからです。これでファームウェアのサイズが1キロバイトほど増加します。
|
||||
|
||||
オプションで、あなたの `config.h` ファイルに次のような設定を追加して、`TAPPING_TERM` の時間をカスタマイズしたほうが良いです。
|
||||
@@ -50,7 +50,7 @@
|
||||
最後に、5番目のオプションは、もし、タップダンスキーをコードに追加した後、非タップダンスキーが奇妙な振る舞いを始めた時に特に役に立ちます。ありうる問題は、あなたがタップダンスキーを使いやすくするために `TAPPING_TERM` の時間を変更した結果、その他のキーが割り込みを処理する方法が変わってしまったというものです。
|
||||
|
||||
|
||||
## 実装の詳細 :id=implementation
|
||||
## 実装の詳細 {#implementation}
|
||||
|
||||
さて、説明の大部分はここまでです! 以下に挙げているいくつかの例に取り組むことができるようになり、あなた自身のタップダンスの機能を開発できるようになります。しかし、もし、あなたが裏側で起きていることをより深く理解したいのであれば、続けてそれが全てどのように機能するかの説明を読みましょう!
|
||||
|
||||
@@ -66,9 +66,9 @@
|
||||
|
||||
柔軟性のために、タップダンスは、キーコードの組み合わせにも、ユーザー関数にもなることができます。後者は、より高度なタップ回数の制御や、LED を点滅させたり、バックライトをいじったり、等々の制御を可能にします。これは、1つの共用体と、いくつかの賢いマクロによって成し遂げられています。
|
||||
|
||||
## 実装例 :id=examples
|
||||
## 実装例 {#examples}
|
||||
|
||||
### シンプルな実装例 :id=simple-example
|
||||
### シンプルな実装例 {#simple-example}
|
||||
|
||||
ここに1つの定義のための簡単な例があります。
|
||||
|
||||
@@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
```
|
||||
|
||||
### 複雑な実装例 :id=complex-examples
|
||||
### 複雑な実装例 {#complex-examples}
|
||||
|
||||
このセクションでは、いくつかの複雑なタップダンスの例を詳しく説明します。
|
||||
例で使われている全ての列挙型はこのように宣言します。
|
||||
@@ -111,7 +111,7 @@ enum {
|
||||
X_TAP_DANCE
|
||||
};
|
||||
```
|
||||
#### 例1: 1回タップすると `:` を送信し、2回タップすると `;` を送信する :id=example-1
|
||||
#### 例1: 1回タップすると `:` を送信し、2回タップすると `;` を送信する {#example-1}
|
||||
|
||||
```c
|
||||
void dance_cln_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
@@ -136,7 +136,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
};
|
||||
```
|
||||
|
||||
#### 例2: 100回タップした後に "Safety Dance!" を送信します :id=example-2
|
||||
#### 例2: 100回タップした後に "Safety Dance!" を送信します {#example-2}
|
||||
|
||||
```c
|
||||
void dance_egg(qk_tap_dance_state_t *state, void *user_data) {
|
||||
@@ -151,7 +151,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
};
|
||||
```
|
||||
|
||||
#### 例3: 1つずつ LED を点灯させてから消灯する :id=example-3
|
||||
#### 例3: 1つずつ LED を点灯させてから消灯する {#example-3}
|
||||
|
||||
```c
|
||||
// タップする毎に、LED を右から左に点灯します。
|
||||
@@ -201,7 +201,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
};
|
||||
```
|
||||
|
||||
#### 例4: クアッドファンクションのタップダンス :id=example-4
|
||||
#### 例4: クアッドファンクションのタップダンス {#example-4}
|
||||
|
||||
[DanielGGordon](https://github.com/danielggordon) によるもの
|
||||
|
||||
@@ -346,7 +346,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
|
||||
> この設定の "hold" は、タップダンスのタイムアウト(`ACTION_TAP_DANCE_FN_ADVANCED_TIME` 参照)の **後** に起こります。即座に "hold" を得るためには、条件から `state->interrupted` の確認を除きます。結果として、複数回のタップのための時間をより多く持つことで快適な長いタップの期限を使うことができ、そして、"hold" のために長く待たないようにすることができます(2倍の `TAPPING TERM` で開始してみてください)。
|
||||
|
||||
#### 例5: タップダンスを高度なモッドタップとレイヤータップキーに使う :id=example-5
|
||||
#### 例5: タップダンスを高度なモッドタップとレイヤータップキーに使う {#example-5}
|
||||
|
||||
タップダンスは、タップされたコードが基本的なキーコード以外の場合に、 `MT()` と `LT()` マクロをエミュレートするのに利用できます。これは、通常 `Shift` を必要とする '(' や '{' のようなキーや、`Control + X` のように他の修飾されたキーコードをタップされたキーコードとして送信することに役立ちます。
|
||||
|
||||
@@ -432,7 +432,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
|
||||
それぞれのタップダンスキーコードをキーマップに含めるときは、`TD()` マクロでキーコードをラップします。例: `TD(ALT_LP)`
|
||||
|
||||
#### 例6: タップダンスを一時的なレイヤー切り替えとレイヤートグルキーに使う :id=example-6
|
||||
#### 例6: タップダンスを一時的なレイヤー切り替えとレイヤートグルキーに使う {#example-6}
|
||||
|
||||
タップダンスは、MO(layer) と TG(layer) 機能を模倣することにも使用できます。この例では、1回タップすると `KC_QUOT` 、1回押してそのまま押し続けたら `MO(_MY_LAYER)` 、2回タップしたときは `TG(_MY_LAYER)` として機能するキーを設定します。
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ Unicode 文字はキーボードから直接入力することができます!
|
||||
4. キーマップに Unicode キーコードを追加します。
|
||||
|
||||
|
||||
## 1. メソッド :id=methods
|
||||
## 1. メソッド {#methods}
|
||||
|
||||
QMK は、Unicode 入力を有効にし、キーマップに Unicode 文字を追加するための3つの異なる方法をサポートします。それぞれに柔軟性と使いやすさの点で長所と短所があります。あなたの使い方に最適なものを選んでください。
|
||||
|
||||
@@ -23,7 +23,7 @@ QMK は、Unicode 入力を有効にし、キーマップに Unicode 文字を
|
||||
|
||||
<br />
|
||||
|
||||
### 1.1. Basic Unicode :id=basic-unicode
|
||||
### 1.1. Basic Unicode {#basic-unicode}
|
||||
|
||||
多少制限はありますが、最も使いやすい方法です。Unicode 文字をキーコードとしてキーマップ自体に格納するため、`0x7FFF` までのコードポイントのみをサポートします。これは、ほとんどの現代言語(東アジアを含む)の文字と記号を対象としますが、絵文字は対象外です。
|
||||
|
||||
@@ -37,7 +37,7 @@ UNICODE_ENABLE = yes
|
||||
|
||||
<br />
|
||||
|
||||
### 1.2. Unicode Map :id=unicode-map
|
||||
### 1.2. Unicode Map {#unicode-map}
|
||||
|
||||
このメソッドは、標準の文字の範囲に加えて、絵文字、古代文字、珍しい記号なども対象にしています。実際、可能な全てのコードポイント(`0x10FFFF`まで)がサポートされています。Unicode 文字は独立のマッピングテーブルに格納されています。キーマップファイルに `unicode_map` 配列を維持する必要があります。これには最大 16384 エントリを含めることができます。
|
||||
|
||||
@@ -75,7 +75,7 @@ const uint32_t PROGMEM unicode_map[] = {
|
||||
|
||||
<br />
|
||||
|
||||
### 1.3. UCIS :id=ucis
|
||||
### 1.3. UCIS {#ucis}
|
||||
|
||||
この方法も全ての可能なコードポイントをサポートします。Unicode Map の方法と同様に、キーマップファイル内にマッピングテーブルを保持する必要があります。ただし、この機能のための組み込みのキーコードはありません — この機能を起動するカスタムキーコードあるいは関数を作成する必要があります。
|
||||
|
||||
@@ -111,7 +111,7 @@ UCIS 入力を使うには、`qk_ucis_start()` を呼び出します。次に、
|
||||
[`process_ucis.c`](https://github.com/qmk/qmk_firmware/blob/master/quantum/process_keycode/process_ucis.c) でこれらの関数のデフォルトの実装を見つけることができます。
|
||||
|
||||
|
||||
## 2. Input モード :id=input-modes
|
||||
## 2. Input モード {#input-modes}
|
||||
|
||||
QMK での Unicode の入力は、マクロのように、OS への一連の文字列を入力することで動作します。残念ながら、これが行われる方法はプラットフォームによって異なります。特に各プラットフォームでは Unicode 入力を引き起こすために、異なるキーの組み合わせが必要です。従って、対応する入力モードが QMK で設定されなければなりません。
|
||||
|
||||
@@ -152,7 +152,7 @@ _Unicode 16進数入力_ 入力ソースの使用は、Option + 左矢印およ
|
||||
デフォルトでは、このモードは Compose キーとして右 Alt (`KC_RALT`) を使いますが、これは WinCompose 設定と他のキーで [`UNICODE_KEY_WINC`](#input-key-configuration) を定義することで変更できます。
|
||||
|
||||
|
||||
## 3. 入力モードの設定 :id=setting-the-input-mode
|
||||
## 3. 入力モードの設定 {#setting-the-input-mode}
|
||||
|
||||
目的の入力モードを設定するには、以下の定義を `config.h` に追加します:
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ ifdef RGB_ENABLE
|
||||
endif
|
||||
```
|
||||
|
||||
### デフォルトのユーザスペースの上書き :id=override-default-userspace
|
||||
### デフォルトのユーザスペースの上書き {#override-default-userspace}
|
||||
|
||||
デフォルトでは、使用されるユーザスペース名はキーマップ名と同じです。状況によってはこれは望ましくありません。例えば、[レイアウト](ja/feature_layouts.md)機能を使う場合、異なるキーマップに同じ名前 (例えば、ANSI および ISO) を使うことができません。レイアウトに `mylayout-ansi` や `mylayout-iso` という名前を付け、以下の行をレイアウトの `rules.mk` に追加します:
|
||||
|
||||
@@ -124,7 +124,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
より複雑な例については、[`/users/drashna/`](https://github.com/qmk/qmk_firmware/tree/master/users/drashna) のユーザスペースを調べてください。
|
||||
|
||||
|
||||
### カスタマイズされた関数 :id=customized-functions
|
||||
### カスタマイズされた関数 {#customized-functions}
|
||||
|
||||
QMK には、[`_quantum`、`_kb` および `_user` バージョン](ja/custom_quantum_functions.md#a-word-on-core-vs-keyboards-vs-keymap)を持つ使用可能な[関数](custom_quantum_functions.md)が山ほどあります。 ほとんどの場合、これらの関数のユーザバージョンを使う必要があります。しかし問題はそれらをユーザスペースで使う場合、キーマップで使うことができるバージョンが無いことです。
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# GPIO 制御 :id=gpio-control
|
||||
# GPIO 制御 {#gpio-control}
|
||||
|
||||
<!---
|
||||
original document: 0.13.15:docs/gpio_control.md
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
QMK には、マイクロコントローラに依存しない GPIO 制御抽象レイヤーがあります。これは異なるプラットフォーム間でピン制御に簡単にアクセスできるようにするためのものです。
|
||||
|
||||
## 関数 :id=functions
|
||||
## 関数 {#functions}
|
||||
|
||||
以下の関数は GPIO の基本的な制御を提供し、`quantum/quantum.h` にあります。
|
||||
|
||||
@@ -23,11 +23,11 @@ QMK には、マイクロコントローラに依存しない GPIO 制御抽象
|
||||
| `readPin(pin)` | ピンのレベルを返す | `_SFR_IO8(pin >> 4) & _BV(pin & 0xF)` | `palReadLine(pin)` |
|
||||
| `togglePin(pin)` | ピンレベルを反転 (ピンを出力として設定してあると仮定) | `PORTB ^= (1<<2)` | `palToggleLine(pin)` |
|
||||
|
||||
## 高度な設定 :id=advanced-settings
|
||||
## 高度な設定 {#advanced-settings}
|
||||
|
||||
各マイクロコントローラは GPIO に関して複数の高度な設定を持つことができます。この抽象レイヤーは、アーキテクチャー固有の機能の使用法を制限しません。上級ユーザは、目的のデバイスのデータシートを参照し、必要なライブラリを含めてください。AVR については、標準 avr/io.h ライブラリが使われます; STM32 については ChibiOS [PAL ライブラリ](https://chibios.sourceforge.net/docs3/hal/group___p_a_l.html)が使われます。
|
||||
|
||||
## アトミック操作 :id=atomic-operation
|
||||
## アトミック操作 {#atomic-operation}
|
||||
|
||||
上記の関数は、必ずしもアトミックに動作することが保証されているわけではありません。そのため、上記の関数を複数組み合わせて使用する際に、操作の途中での割り込みを防ぎたい場合は、以下の `ATOMIC_BLOCK_FORCEON` マクロを使用してください。
|
||||
|
||||
|
||||
+11
-11
@@ -1,4 +1,4 @@
|
||||
# I2C マスタドライバ :id=i2c-master-driver
|
||||
# I2C マスタドライバ {#i2c-master-driver}
|
||||
|
||||
<!---
|
||||
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
QMK で使われる I2C マスタドライバには、MCU 間のポータビリティを提供するための一連の関数が用意されています。
|
||||
|
||||
## I2C アドレスについての重要なメモ :id=note-on-i2c-addresses
|
||||
## I2C アドレスについての重要なメモ {#note-on-i2c-addresses}
|
||||
|
||||
このドライバが期待する全てのアドレスは、アドレスバイトの上位7ビットにプッシュする必要があります。最下位ビットの設定(読み込み/書き込みを示す)は、それぞれの関数によって行われます。データシートやインターネットで列挙されているほとんど全ての I2C アドレスは、下位7ビットを占める7ビットとして表され、1ビット左(より上位)にシフトする必要があります。これは、ビット単位のシフト演算子 `<< 1` を使用して簡単に実行できます。
|
||||
|
||||
@@ -18,7 +18,7 @@ QMK で使われる I2C マスタドライバには、MCU 間のポータビリ
|
||||
|
||||
I2C アドレスと他の技術詳細について、さらなる情報を得るためには https://www.robot-electronics.co.uk/i2c-tutorial を見てください。
|
||||
|
||||
## 使用できる関数 :id=available-functions
|
||||
## 使用できる関数 {#available-functions}
|
||||
|
||||
| 関数 | 説明 |
|
||||
|-------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
@@ -30,7 +30,7 @@ I2C アドレスと他の技術詳細について、さらなる情報を得る
|
||||
| `i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout);` | `i2c_receive` と同様ですが、 `regaddr` でスレーブのデータ読み込み先のレジスタを指定します。 |
|
||||
| `i2c_status_t i2c_stop(void);` | I2C トランザクションを終了します。 |
|
||||
|
||||
### 関数の戻り値 :id=function-return
|
||||
### 関数の戻り値 {#function-return}
|
||||
|
||||
`void i2c_init(void)` を除く上にあるすべての関数は、次の真理値表にある値を返します。
|
||||
|
||||
@@ -40,9 +40,9 @@ I2C アドレスと他の技術詳細について、さらなる情報を得る
|
||||
|`I2C_STATUS_ERROR` |-1 |処理に失敗しました。 |
|
||||
|`I2C_STATUS_TIMEOUT`|-2 |処理がタイムアウトしました。|
|
||||
|
||||
## AVR :id=avr
|
||||
## AVR {#avr}
|
||||
|
||||
### 設定 :id=avr-configuration
|
||||
### 設定 {#avr-configuration}
|
||||
|
||||
I2Cマスタドライバを設定するために、次の定義が使えます。
|
||||
|
||||
@@ -53,11 +53,11 @@ I2Cマスタドライバを設定するために、次の定義が使えます
|
||||
|
||||
AVR は通常 I2C ピンとして使う GPIO が設定されているので、これ以上の設定は必要ありません。
|
||||
|
||||
## ARM :id=arm
|
||||
## ARM {#arm}
|
||||
|
||||
ARM の場合は、内部に ChibiOS I2C HAL ドライバがあります。この節では STM32 MCU を使用していると仮定します。
|
||||
|
||||
### 設定 :id=arm-configuration
|
||||
### 設定 {#arm-configuration}
|
||||
|
||||
ARM MCU 用の設定はしばしば非常に複雑です。これは、多くの場合複数の I2C ドライバをさまざまなポートに対して割り当てられるためです。
|
||||
|
||||
@@ -89,7 +89,7 @@ ChibiOS I2C ドライバの設定項目は STM32 MCU の種類に依存します
|
||||
STM32F1xx, STM32F2xx, STM32F4xx, STM32L0xx, STM32L1xx では I2Cv1 が使われます。
|
||||
STM32F0xx, STM32F3xx, STM32F7xx, STM32L4xx では I2Cv2 が使われます。
|
||||
|
||||
#### I2Cv1 :id=i2cv1
|
||||
#### I2Cv1 {#i2cv1}
|
||||
|
||||
STM32 MCU の I2Cv1 では、クロック周波数とデューティ比を次の変数で変更できます。詳しくは <https://www.playembedded.org/blog/stm32-i2c-chibios/#I2Cv1_configuration_structure> を参照してください。
|
||||
|
||||
@@ -99,7 +99,7 @@ STM32 MCU の I2Cv1 では、クロック周波数とデューティ比を次の
|
||||
| `I2C1_CLOCK_SPEED` | `100000` |
|
||||
| `I2C1_DUTY_CYCLE` | `STD_DUTY_CYCLE` |
|
||||
|
||||
#### I2Cv2 :id=i2cv2
|
||||
#### I2Cv2 {#i2cv2}
|
||||
|
||||
STM32 MCU の I2Cv2 では、信号のタイミングパラメータを次の変数で変更できます。詳しくは <https://www.st.com/en/embedded-software/stsw-stm32126.html> を参照してください。
|
||||
|
||||
@@ -118,7 +118,7 @@ STM32 MCU では GPIO ピンを設定するとき、別の「代替機能」モ
|
||||
| `I2C1_SCL_PAL_MODE` | `4` |
|
||||
| `I2C1_SDA_PAL_MODE` | `4` |
|
||||
|
||||
#### その他 :id=other
|
||||
#### その他 {#other}
|
||||
|
||||
`void i2c_init(void)` 関数は `weak` 属性が付いており、オーバーロードすることができます。この場合、上記で設定した変数は使用されません。可能な GPIO の設定については、 MCU のデータシートを参照してください。次に示すのは初期化関数の例です:
|
||||
|
||||
|
||||
+22
-22
@@ -9,7 +9,7 @@
|
||||
|
||||
このページは参照のみです。それぞれのキーの種類毎のリンク先のページに、それぞれのキーの機能についてもっと詳細に記載しています。
|
||||
|
||||
## 基本的なキーコード :id=basic-keycodes
|
||||
## 基本的なキーコード {#basic-keycodes}
|
||||
|
||||
[基本的なキーコード](ja/keycodes_basic.md) も見てください。
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
<sup>5. iTunes では、タップすると1曲全体がスキップされます。押していると曲の中で早送り/巻き戻しになります。</sup><br/>
|
||||
<sup>6. Windows Media Player は巻き戻しキーを識別しませんが、VLC では早送り/巻き戻しキーで再生速度が変更されます。</sup>
|
||||
|
||||
## Quantum キーコード :id=quantum-keycodes
|
||||
## Quantum キーコード {#quantum-keycodes}
|
||||
|
||||
[Quantum キーコード](ja/quantum_keycodes.md#qmk-keycodes) も見てください。
|
||||
|
||||
@@ -241,7 +241,7 @@
|
||||
|`QK_DEBUG_TOGGLE`|`DB_TOGG`|デバッグモードを切り替えます |
|
||||
|`QK_CLEAR_EEPROM`|`EE_CLR` |キーボードの EEPROM (不揮発メモリ) を再初期化します |
|
||||
|
||||
## オーディオキー :id=audio-keys
|
||||
## オーディオキー {#audio-keys}
|
||||
|
||||
[オーディオ](ja/feature_audio.md) も見てください。
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
|`MU_TOG` | |音楽モードを切り替えます |
|
||||
|`MU_MOD` | |音楽モードを循環します |
|
||||
|
||||
## バックライト :id=backlighting
|
||||
## バックライト {#backlighting}
|
||||
|
||||
[バックライト](ja/feature_backlight.md) も見てください。
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
|`BL_DEC` |バックライトのレベルを下げる |
|
||||
|`BL_BRTG`|バックライトの明滅動作を切り替える |
|
||||
|
||||
## ブートマジック :id=bootmagic
|
||||
## ブートマジック {#bootmagic}
|
||||
|
||||
[ブートマジック](ja/feature_bootmagic.md) も見てください。
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
| `MAGIC_EE_HANDS_LEFT` | `EH_LEFT` | 分割キーボードのマスター側を左手に設定(`EE_HANDS` 用) |
|
||||
| `MAGIC_EE_HANDS_RIGHT` | `EH_RGHT` | 分割キーボードのマスター側を右手に設定(`EE_HANDS` 用) |
|
||||
|
||||
## Bluetooth :id=bluetooth
|
||||
## Bluetooth {#bluetooth}
|
||||
|
||||
[Bluetooth](ja/feature_bluetooth.md) も見てください。
|
||||
|
||||
@@ -320,7 +320,7 @@
|
||||
|`OUT_USB` |USB のみ |
|
||||
|`OUT_BT` |Bluetooth のみ |
|
||||
|
||||
## 動的マクロ :id=dynamic-macros
|
||||
## 動的マクロ {#dynamic-macros}
|
||||
|
||||
[動的マクロ](ja/feature_dynamic_macros.md) も見てください。
|
||||
|
||||
@@ -332,7 +332,7 @@
|
||||
|`DYN_MACRO_PLAY2`|`DM_PLY2`|マクロ 2 を再生します |
|
||||
|`DYN_REC_STOP` |`DM_RSTP`|現在記録中のマクロの記録を終了します |
|
||||
|
||||
## グレイブエスケープ :id=grave-escape
|
||||
## グレイブエスケープ {#grave-escape}
|
||||
|
||||
[グレイブエスケープ](ja/feature_grave_esc.md) も見てください。
|
||||
|
||||
@@ -340,7 +340,7 @@
|
||||
|-----------|---------|------------------------------------------------------------------|
|
||||
|`GRAVE_ESC`|`KC_GESC`|押された場合に Escape。Shift あるいは GUI が押されたままの場合は <code>`</code>|
|
||||
|
||||
## キーロック :id=key-lock
|
||||
## キーロック {#key-lock}
|
||||
|
||||
[キーロック](ja/feature_key_lock.md) も見てください。
|
||||
|
||||
@@ -348,7 +348,7 @@
|
||||
|---------|--------------------------------------------------|
|
||||
|`KC_LOCK`|キーが再び押されるまで次のキーを押したままにします |
|
||||
|
||||
## レイヤー切り替え :id=layer-switching
|
||||
## レイヤー切り替え {#layer-switching}
|
||||
|
||||
[レイヤー切り替え](ja/feature_layers.md#switching-and-toggling-layers) も見てください。
|
||||
|
||||
@@ -363,7 +363,7 @@
|
||||
|`TO(layer)` |`layer` をオンにして、デフォルトレイヤーを除く他のレイヤーをオフにします。 |
|
||||
|`TT(layer)` |複数回タップしない限り `MO` のように動作し、複数回タップすると `layer` をオンにトグルします。 |
|
||||
|
||||
## リーダーキー :id=leader-key
|
||||
## リーダーキー {#leader-key}
|
||||
|
||||
[リーダーキー](ja/feature_leader_key.md) も見てください。
|
||||
|
||||
@@ -371,7 +371,7 @@
|
||||
|---------|-------------------------------|
|
||||
|`KC_LEAD`|リーダーキーのシーケンスを開始 |
|
||||
|
||||
## マウスキー :id=mouse-keys
|
||||
## マウスキー {#mouse-keys}
|
||||
|
||||
[マウスキー](ja/feature_mouse_keys.md) も見てください。
|
||||
|
||||
@@ -394,7 +394,7 @@
|
||||
|`KC_MS_ACCEL1` |`KC_ACL1`|速度を1に設定 |
|
||||
|`KC_MS_ACCEL2` |`KC_ACL2`|速度を2に設定 |
|
||||
|
||||
## 修飾キー :id=modifiers
|
||||
## 修飾キー {#modifiers}
|
||||
|
||||
[修飾キー](ja/feature_advanced_keycodes.md#modifier-keys) も見てください。
|
||||
|
||||
@@ -420,7 +420,7 @@
|
||||
| `KC_HYPR` | | 左 Control、Shift、Alt、GUI |
|
||||
|
||||
|
||||
## モッドタップキー :id=mod-tap-keys
|
||||
## モッドタップキー {#mod-tap-keys}
|
||||
|
||||
[モッドタップキー](ja/mod_tap.md) も見てください。
|
||||
|
||||
@@ -446,7 +446,7 @@
|
||||
| `MEH_T(kc)` | | 押したままの場合は左 Control、Shift、Alt、タップした場合は `kc` |
|
||||
| `HYPR_T(kc)` | `ALL_T(kc)` | 押したままの場合は左 Control、Shift、Alt、GUI、タップした場合は `kc` - より詳しくは[ここ](https://brettterpstra.com/2012/12/08/a-useful-caps-lock-key/)を見てください |
|
||||
|
||||
## RGB ライト :id=rgb-lighting
|
||||
## RGB ライト {#rgb-lighting}
|
||||
|
||||
[RGB ライト](ja/feature_rgblight.md) も見てください。
|
||||
|
||||
@@ -471,7 +471,7 @@
|
||||
|`RGB_MODE_GRADIENT`|`RGB_M_G` |固定階調アニメーションモード |
|
||||
|`RGB_MODE_RGBTEST` |`RGB_M_T` |赤、緑、青のテストアニメーションモード |
|
||||
|
||||
## RGB マトリックスライト :id=rgb-matrix-lighting
|
||||
## RGB マトリックスライト {#rgb-matrix-lighting}
|
||||
|
||||
[RGB マトリックスライト](ja/feature_rgb_matrix.md) も見てください。
|
||||
|
||||
@@ -489,7 +489,7 @@
|
||||
|`RGB_SPI` | |エフェクトのスピード (EEPROM はまだサポートしていません) を増加させ、Shift を押していると減少させます。 |
|
||||
|`RGB_SPD` | |エフェクトのスピード (EEPROM はまだサポートしていません) を減少させ、Shift を押していると増加させます。 |
|
||||
|
||||
## 感熱式プリンタ :id=thermal-printer
|
||||
## 感熱式プリンタ {#thermal-printer}
|
||||
|
||||
[感熱式プリンタ](ja/feature_thermal_printer.md) も見てください。
|
||||
|
||||
@@ -498,7 +498,7 @@
|
||||
|`PRINT_ON` |ユーザが入力した全ての印刷を開始 |
|
||||
|`PRINT_OFF`|ユーザが入力した全ての印刷を停止 |
|
||||
|
||||
## US ANSI シフト済シンボル :id=us-ansi-shifted-symbols
|
||||
## US ANSI シフト済シンボル {#us-ansi-shifted-symbols}
|
||||
|
||||
[US ANSI シフト済シンボル](ja/keycodes_us_ansi_shifted.md) も見てください。
|
||||
|
||||
@@ -526,7 +526,7 @@
|
||||
|`KC_RIGHT_ANGLE_BRACKET`|`KC_RABK`, `KC_GT` |`>` |
|
||||
|`KC_QUESTION` |`KC_QUES` |`?` |
|
||||
|
||||
## ワンショットキー :id=one-shot-keys
|
||||
## ワンショットキー {#one-shot-keys}
|
||||
|
||||
[ワンショットキー](ja/one_shot_keys.md) も見てください。
|
||||
|
||||
@@ -535,7 +535,7 @@
|
||||
|`OSM(mod)` | 次のキーが押されるまで、`mod` を押したままにします |
|
||||
|`OSL(layer)`| 次のキーが押されるまで、一時的にレイヤーをアクティブにします |
|
||||
|
||||
## Space Cadet :id=space-cadet
|
||||
## Space Cadet {#space-cadet}
|
||||
|
||||
[Space Cadet](ja/feature_space_cadet.md) も見てください。
|
||||
|
||||
@@ -549,7 +549,7 @@
|
||||
|`KC_RAPC` |押したままの場合は右 Alt、タップした場合は `)`、 |
|
||||
|`KC_SFTENT`|押したままの場合は右 Shift、タップした場合は Enter |
|
||||
|
||||
## スワップハンド :id=swap-hands
|
||||
## スワップハンド {#swap-hands}
|
||||
|
||||
[スワップハンド](ja/feature_swap_hands.md) も見てください。
|
||||
|
||||
@@ -564,7 +564,7 @@
|
||||
| `SH_TT` | タップで切り替える。押している時に一時的に切り替える。 |
|
||||
| `SH_OS` | ワンショットスワップハンド: 押している時あるいは次のキーを押すまで切り替える。 |
|
||||
|
||||
## ユニコードサポート :id=unicode-support
|
||||
## ユニコードサポート {#unicode-support}
|
||||
|
||||
[ユニコードサポート](ja/feature_unicode.md) も見てください。
|
||||
|
||||
|
||||
+4
-4
@@ -8,7 +8,7 @@
|
||||
QMK のキーマップは C のソースファイルの中で定義されます。そのデータ構造は配列の配列です。外側はレイヤーを要素とする配列で、レイヤーはキーを要素とする配列。ほとんどのキーボードは `LAYOUT()` マクロを定義して、この配列の配列を作成しやすくしています。
|
||||
|
||||
|
||||
## キーマップとレイヤー :id=keymap-and-layers
|
||||
## キーマップとレイヤー {#keymap-and-layers}
|
||||
QMKでは、**`const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS]`**は、**アクションコード**を保持している **16 bit** データの中でキーマップ情報の複数の**レイヤー**を保持します。最大で**32個のレイヤー**を定義することができます。
|
||||
|
||||
普通のキー定義の場合、**アクションコード**の上位8ビットは全て0で、下位8ビットは**キーコード**としてキーによって生成された USB HID usage コードを保持します。
|
||||
@@ -32,7 +32,7 @@ QMKでは、**`const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS]`**は
|
||||
|
||||
TMK の歴史的経緯から、キーマップに保存されたアクションコードは、一部のドキュメントではキーコードと呼ばれる場合があります。
|
||||
|
||||
### キーマップレイヤーステータス :id=keymap-layer-status
|
||||
### キーマップレイヤーステータス {#keymap-layer-status}
|
||||
|
||||
キーマップレイヤーの状態は、2つの32ビットパラメータによって決定されます。
|
||||
|
||||
@@ -102,7 +102,7 @@ TMK の歴史的経緯から、キーマップに保存されたアクション
|
||||
* [定義](#definitions)
|
||||
* [レイヤー/キーマップデータ構造](#layers-and-keymaps)
|
||||
|
||||
### 定義 :id=definitions
|
||||
### 定義 {#definitions}
|
||||
|
||||
ファイルの上部に以下のものがあります:
|
||||
|
||||
@@ -131,7 +131,7 @@ TMK の歴史的経緯から、キーマップに保存されたアクション
|
||||
|
||||
注意: 古いキーマップファイルに `_______` および `XXXXXXX` の定義が含まれているかもしれません。これらはそれぞれ `KC_TRNS` および `KC_NO` の代わりに使うことができ、レイヤーがどのキーを上書きしているかを簡単に確認することができます。これらの定義はデフォルトで含まれるため、今では不要になりました。
|
||||
|
||||
### レイヤーとキーマップ :id=layers-and-keymaps
|
||||
### レイヤーとキーマップ {#layers-and-keymaps}
|
||||
|
||||
このファイルの主要部分は `keymaps[]` 定義です。ここで、レイヤーとそれらの内容を列挙します。ファイルのこの部分は、以下の定義から始まります:
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ QMK にはたくさんの機能があり、完全なリストは左側のサイ
|
||||
|
||||
:::
|
||||
|
||||
## ファームウェアをビルドする :id=build-your-firmware
|
||||
## ファームウェアをビルドする {#build-your-firmware}
|
||||
|
||||
キーマップの変更が完了したら、ファームウェアをビルドする必要があります。これを行うには、ターミナルウィンドウに戻り、コンパイルコマンドを実行します:
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ QMK Toolbox の `Flash` ボタンをクリックします。次のような出
|
||||
*** DFU device disconnected: Atmel Corp: ATmega32U4 (03EB:2FF4:0000)
|
||||
```
|
||||
|
||||
## コマンドラインでファームウェアを書き込む :id=flash-your-keyboard-from-the-command-line
|
||||
## コマンドラインでファームウェアを書き込む {#flash-your-keyboard-from-the-command-line}
|
||||
|
||||
これは、以前のものと比較して非常に単純になりました。
|
||||
ファームウェアをコンパイルして書き込む準備ができたら、ターミナルウィンドウを開いて書き込みコマンドを実行します:
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
:::
|
||||
|
||||
## 2. ビルド環境を準備する :id=set-up-your-environment
|
||||
## 2. ビルド環境を準備する {#set-up-your-environment}
|
||||
|
||||
私たちは、QMK を可能な限り簡単に構築できるように努力しています。Linux か Unix 環境を用意するだけで、QMK に残りをインストールさせることができます。
|
||||
|
||||
@@ -137,7 +137,7 @@ AUR から `qmk-git` パッケージを試すこともできます:
|
||||
|
||||
<!-- tabs:end -->
|
||||
|
||||
## 3. QMK の設定を行う :id=set-up-qmk
|
||||
## 3. QMK の設定を行う {#set-up-qmk}
|
||||
|
||||
<!-- tabs:start -->
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# QMK における Git 運用作法 :id=best-git-practices-for-working-with-qmk
|
||||
# QMK における Git 運用作法 {#best-git-practices-for-working-with-qmk}
|
||||
|
||||
<!---
|
||||
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
|
||||
|
||||
@@ -52,7 +52,7 @@ git push origin master
|
||||
|
||||
これにより、あなたの `master` ブランチに切り替わり、QMK リポジトリから 'refs' を取得し、現在の QMK の `master` ブランチをコンピュータにダウンロードしてから、あなたのフォークにアップロードします。
|
||||
|
||||
## 変更を行なう :id=making-changes
|
||||
## 変更を行なう {#making-changes}
|
||||
|
||||
変更するには、以下を入力して新しいブランチを作成します:
|
||||
|
||||
|
||||
@@ -10,35 +10,35 @@
|
||||
|
||||
## QMK に関するリソース
|
||||
|
||||
### 英語 :id=english-resources-qmk
|
||||
### 英語 {#english-resources-qmk}
|
||||
|
||||
* [Thomas Baart's QMK Basics Blog](https://thomasbaart.nl/category/mechanical-keyboards/firmware/qmk/qmk-basics/) – 新規ユーザーの視点から見た QMK ファームウェアの使い方の基本を網羅した、ユーザー作成のブログ。
|
||||
|
||||
### 日本語 :id=japanese-resources-qmk
|
||||
### 日本語 {#japanese-resources-qmk}
|
||||
|
||||
_日本語のリソース情報を募集中です。_
|
||||
|
||||
## コマンドラインに関するリソース :id=command-line-resources
|
||||
## コマンドラインに関するリソース {#command-line-resources}
|
||||
|
||||
### 英語 :id=english-resources-cli
|
||||
### 英語 {#english-resources-cli}
|
||||
|
||||
* [Good General Tutorial on Command Line](https://www.codecademy.com/learn/learn-the-command-line)
|
||||
* [Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)<br />
|
||||
* [Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
|
||||
|
||||
### 日本語 :id=japanese-resources-cli
|
||||
### 日本語 {#japanese-resources-cli}
|
||||
|
||||
_日本語のリソース情報を募集中です。_
|
||||
|
||||
## テキストエディタに関するリソース :id=text-editor-resources
|
||||
## テキストエディタに関するリソース {#text-editor-resources}
|
||||
|
||||
どのテキストエディタを使えば良いか分かりませんか?
|
||||
|
||||
### 英語 :id=english-resources-text-editor
|
||||
### 英語 {#english-resources-text-editor}
|
||||
|
||||
* [a great introduction to the subject](https://learntocodewith.me/programming/basics/text-editors/)
|
||||
|
||||
### 日本語 :id=japanese-resources-text-editor
|
||||
### 日本語 {#japanese-resources-text-editor}
|
||||
|
||||
_日本語のリソース情報を募集中です。_
|
||||
|
||||
@@ -48,13 +48,13 @@ _日本語のリソース情報を募集中です。_
|
||||
|
||||
## Git に関するリソース
|
||||
|
||||
### 英語 :id=english-resources-git
|
||||
### 英語 {#english-resources-git}
|
||||
|
||||
* [Great General Tutorial](https://www.codecademy.com/learn/learn-git)
|
||||
* [Flight Rules For Git](https://github.com/k88hudson/git-flight-rules)
|
||||
* [Git Game To Learn From Examples](https://learngitbranching.js.org/)
|
||||
|
||||
### 日本語 :id=japanese-resources-git
|
||||
### 日本語 {#japanese-resources-git}
|
||||
|
||||
_日本語のリソース情報を募集中です。_
|
||||
|
||||
|
||||
@@ -10,6 +10,6 @@
|
||||
|
||||
[ここに移動しました](ja/faq_misc.md#testing)
|
||||
|
||||
## デバッグ :id=debugging
|
||||
## デバッグ {#debugging}
|
||||
|
||||
[ここに移動しました](ja/faq_debug.md#debugging)
|
||||
|
||||
@@ -11,7 +11,7 @@ quantum 内の全てのキーコードは `0x0000` と `0xFFFF` の間の数値
|
||||
|
||||
このページでは、高度な quantum 機能を実装するために使われる `0x00FF` と `0xFFFF` の間のキーコードを説明します。独自のカスタムキーコードを定義する場合は、それらもこの範囲に配置されます。
|
||||
|
||||
## QMK キーコード :id=qmk-keycodes
|
||||
## QMK キーコード {#qmk-keycodes}
|
||||
|
||||
| キー | エイリアス | 説明 |
|
||||
|-----------------|---------|--------------------------------------------------------|
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
QMK には、信じられないほど便利な、またはあなたが望んでいた機能を少し追加する、隠された関数がたくさんあります。特定の機能に固有の関数はそれぞれの機能のページにあるため、ここには含まれていません。
|
||||
|
||||
## (OLKB) トライレイヤー :id=olkb-tri-layers
|
||||
## (OLKB) トライレイヤー {#olkb-tri-layers}
|
||||
|
||||
目的に応じて、実際に使うことができる別個の関数があります。
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
```markdown
|
||||
[建立你的环境](zh-cn/newbs-getting-started.md#set-up-your-environment)
|
||||
|
||||
## 建立你的环境 :id=set-up-your-environment
|
||||
## 建立你的环境 {#set-up-your-environment}
|
||||
```
|
||||
|
||||
新しい言語の翻訳が完了したら、以下のファイルも修正する必要があります:
|
||||
|
||||
Reference in New Issue
Block a user