summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/_summary.md16
-rw-r--r--docs/data_driven_config.md5
-rw-r--r--docs/feature_midi.md6
-rw-r--r--docs/feature_unicode.md11
-rw-r--r--docs/flashing.md11
-rw-r--r--docs/gpio_control.md (renamed from docs/internals_gpio_control.md)0
-rw-r--r--docs/internals/defines.md (renamed from docs/internals_defines.md)0
-rw-r--r--docs/internals/input_callback_reg.md (renamed from docs/internals_input_callback_reg.md)0
-rw-r--r--docs/internals/midi_device.md (renamed from docs/internals_midi_device.md)0
-rw-r--r--docs/internals/midi_device_setup_process.md (renamed from docs/internals_midi_device_setup_process.md)0
-rw-r--r--docs/internals/midi_util.md (renamed from docs/internals_midi_util.md)0
-rw-r--r--docs/internals/send_functions.md (renamed from docs/internals_send_functions.md)0
-rw-r--r--docs/internals/sysex_tools.md (renamed from docs/internals_sysex_tools.md)0
-rw-r--r--docs/ja/_summary.md16
-rw-r--r--docs/ja/feature_unicode.md11
-rw-r--r--docs/ja/gpio_control.md (renamed from docs/ja/internals_gpio_control.md)4
-rw-r--r--docs/ja/internals_defines.md78
-rw-r--r--docs/ja/internals_input_callback_reg.md173
-rw-r--r--docs/ja/internals_midi_device.md148
-rw-r--r--docs/ja/internals_midi_device_setup_process.md36
-rw-r--r--docs/ja/internals_midi_util.md59
-rw-r--r--docs/ja/internals_send_functions.md246
-rw-r--r--docs/ja/internals_sysex_tools.md66
-rw-r--r--docs/ja/proton_c_conversion.md2
-rw-r--r--docs/proton_c_conversion.md2
-rw-r--r--docs/zh-cn/_summary.md16
26 files changed, 45 insertions, 861 deletions
diff --git a/docs/_summary.md b/docs/_summary.md
index 74203aa0f8..250a48fe6b 100644
--- a/docs/_summary.md
+++ b/docs/_summary.md
@@ -147,7 +147,7 @@
* [EEPROM Driver](eeprom_driver.md)
* ['serial' Driver](serial_driver.md)
* [UART Driver](uart_driver.md)
- * [GPIO Controls](internals_gpio_control.md)
+ * [GPIO Controls](gpio_control.md)
* [Keyboard Guidelines](hardware_keyboard_guidelines.md)
* Python Development
@@ -183,10 +183,10 @@
* [Understanding QMK](understanding_qmk.md)
* QMK Internals (In Progress)
- * [Defines](internals_defines.md)
- * [Input Callback Reg](internals_input_callback_reg.md)
- * [Midi Device](internals_midi_device.md)
- * [Midi Device Setup Process](internals_midi_device_setup_process.md)
- * [Midi Util](internals_midi_util.md)
- * [Send Functions](internals_send_functions.md)
- * [Sysex Tools](internals_sysex_tools.md)
+ * [Defines](internals/defines.md)
+ * [Input Callback Reg](internals/input_callback_reg.md)
+ * [Midi Device](internals/midi_device.md)
+ * [Midi Device Setup Process](internals/midi_device_setup_process.md)
+ * [Midi Util](internals/midi_util.md)
+ * [Send Functions](internals/send_functions.md)
+ * [Sysex Tools](internals/sysex_tools.md)
diff --git a/docs/data_driven_config.md b/docs/data_driven_config.md
index 38fb5dbf14..cdcf21a19c 100644
--- a/docs/data_driven_config.md
+++ b/docs/data_driven_config.md
@@ -44,7 +44,7 @@ In other cases you should group like options together in an `object`. This is pa
In most cases you can add a simple mapping. These are maintained as JSON files in `data/mappings/info_config.json` and `data/mappings/info_rules.json`, and control mapping for `config.h` and `rules.mk`, respectively. Each mapping is keyed by the `config.h` or `rules.mk` variable, and the value is a hash with the following keys:
* `info_key`: (required) The location within `info.json` for this value. See below.
-* `value_type`: (optional) Default `str`. The format for this variable's value. See below.
+* `value_type`: (optional) Default `raw`. The format for this variable's value. See below.
* `to_json`: (optional) Default `true`. Set to `false` to exclude this mapping from info.json
* `to_c`: (optional) Default `true`. Set to `false` to exclude this mapping from config.h
* `warn_duplicate`: (optional) Default `true`. Set to `false` to turn off warning when a value exists in both places
@@ -57,7 +57,7 @@ Under the hood we use [Dotty Dict](https://dotty-dict.readthedocs.io/en/latest/)
#### Value Types
-By default we treat all values as simple strings. If your value is more complex you can use one of these types to intelligently parse the data:
+By default we treat all values as unquoted "raw" data. If your value is more complex you can use one of these types to intelligently parse the data:
* `array`: A comma separated array of strings
* `array.int`: A comma separated array of integers
@@ -65,6 +65,7 @@ By default we treat all values as simple strings. If your value is more complex
* `hex`: A number formatted as hex
* `list`: A space separate array of strings
* `mapping`: A hash of key/value pairs
+* `str`: A quoted string literal
### Add code to extract it
diff --git a/docs/feature_midi.md b/docs/feature_midi.md
index 3da5c4940a..490bf7cc7d 100644
--- a/docs/feature_midi.md
+++ b/docs/feature_midi.md
@@ -254,7 +254,7 @@ For the above, the `MI_C` keycode will produce a C3 (note number 48), and so on.
<!--
#### QMK Internals (Autogenerated)
- * [Internals/MIDI Device Setup Process](internals_midi_device_setup_process.md)
- * [Internals/MIDI Device](internals_midi_device.md)
- * [Internals/MIDI Util](internals_midi_util.md)
+ * [Internals/MIDI Device Setup Process](internals/midi_device_setup_process.md)
+ * [Internals/MIDI Device](internals/midi_device.md)
+ * [Internals/MIDI Util](internals/midi_util.md)
-->
diff --git a/docs/feature_unicode.md b/docs/feature_unicode.md
index 6c3e2a1a2f..bced419a03 100644
--- a/docs/feature_unicode.md
+++ b/docs/feature_unicode.md
@@ -230,17 +230,6 @@ send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻");
Example uses include sending Unicode strings when a key is pressed, as described in [Macros](feature_macros.md).
-### `send_unicode_hex_string()` (Deprecated)
-
-Similar to `send_unicode_string()`, but the characters are represented by their Unicode code points, written in hexadecimal and separated by spaces. For example, the table flip above would be achieved with:
-
-```c
-send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B");
-```
-
-An easy way to convert your Unicode string to this format is to use [this site](https://r12a.github.io/app-conversion/) and take the result in the "Hex/UTF-32" section.
-
-
## Additional Language Support
In `quantum/keymap_extras`, you'll see various language files — these work the same way as the ones for alternative layouts such as Colemak or BÉPO. When you include one of these language headers, you gain access to keycodes specific to that language / national layout. Such keycodes are defined by a 2-letter country/language code, followed by an underscore and a 4-letter abbreviation of the character to which the key corresponds. For example, including `keymap_french.h` and using `FR_UGRV` in your keymap will output `ù` when typed on a system with a native French AZERTY layout.
diff --git a/docs/flashing.md b/docs/flashing.md
index 83f4bf82ae..ae31f9c621 100644
--- a/docs/flashing.md
+++ b/docs/flashing.md
@@ -347,3 +347,14 @@ Flashing sequence:
2. Wait for the OS to detect the device
3. Copy the .uf2 file to the new USB disk
4. Wait for the keyboard to become available
+
+or
+
+CLI Flashing sequence:
+
+1. Enter the bootloader using any of the following methods:
+ * Tap the `RESET` keycode
+ * Double-tap the `nRST` button on the PCB.
+2. Wait for the OS to detect the device
+3. Flash via QMK CLI eg. `qmk flash --keyboard handwired/onekey/blackpill_f411_tinyuf2 --keymap default`
+4. Wait for the keyboard to become available
diff --git a/docs/internals_gpio_control.md b/docs/gpio_control.md
index e1f1515b71..e1f1515b71 100644
--- a/docs/internals_gpio_control.md
+++ b/docs/gpio_control.md
diff --git a/docs/internals_defines.md b/docs/internals/defines.md
index fdcb553589..fdcb553589 100644
--- a/docs/internals_defines.md
+++ b/docs/internals/defines.md
diff --git a/docs/internals_input_callback_reg.md b/docs/internals/input_callback_reg.md
index 4ea132a83a..4ea132a83a 100644
--- a/docs/internals_input_callback_reg.md
+++ b/docs/internals/input_callback_reg.md
diff --git a/docs/internals_midi_device.md b/docs/internals/midi_device.md
index 5b57abd454..5b57abd454 100644
--- a/docs/internals_midi_device.md
+++ b/docs/internals/midi_device.md
diff --git a/docs/internals_midi_device_setup_process.md b/docs/internals/midi_device_setup_process.md
index ae82197c5c..ae82197c5c 100644
--- a/docs/internals_midi_device_setup_process.md
+++ b/docs/internals/midi_device_setup_process.md
diff --git a/docs/internals_midi_util.md b/docs/internals/midi_util.md
index 97821bd180..97821bd180 100644
--- a/docs/internals_midi_util.md
+++ b/docs/internals/midi_util.md
diff --git a/docs/internals_send_functions.md b/docs/internals/send_functions.md
index b331508008..b331508008 100644
--- a/docs/internals_send_functions.md
+++ b/docs/internals/send_functions.md
diff --git a/docs/internals_sysex_tools.md b/docs/internals/sysex_tools.md
index 55dbe9e164..55dbe9e164 100644
--- a/docs/internals_sysex_tools.md
+++ b/docs/internals/sysex_tools.md
diff --git a/docs/ja/_summary.md b/docs/ja/_summary.md
index b90480041c..81b5756c27 100644
--- a/docs/ja/_summary.md
+++ b/docs/ja/_summary.md
@@ -137,7 +137,7 @@
* [EEPROM ドライバ](ja/eeprom_driver.md)
* [シリアル ドライバ](ja/serial_driver.md)
* [UART ドライバ](ja/uart_driver.md)
- * [GPIO 制御](ja/internals_gpio_control.md)
+ * [GPIO 制御](ja/gpio_control.md)
* [キーボード ガイドライン](ja/hardware_keyboard_guidelines.md)
* Python 開発
@@ -173,10 +173,10 @@
* [QMK を理解する](ja/understanding_qmk.md)
* QMK の内部詳細(作成中)
- * [定義](ja/internals_defines.md)
- * [入力コールバック登録](ja/internals_input_callback_reg.md)
- * [Midi デバイス](ja/internals_midi_device.md)
- * [Midi デバイスのセットアップ手順](ja/internals_midi_device_setup_process.md)
- * [Midi ユーティリティ](ja/internals_midi_util.md)
- * [Midi 送信関数](ja/internals_send_functions.md)
- * [Sysex Tools](ja/internals_sysex_tools.md)
+ * [定義](ja/internals/defines.md)
+ * [入力コールバック登録](ja/internals/input_callback_reg.md)
+ * [Midi デバイス](ja/internals/midi_device.md)
+ * [Midi デバイスのセットアップ手順](ja/internals/midi_device_setup_process.md)
+ * [Midi ユーティリティ](ja/internals/midi_util.md)
+ * [Midi 送信関数](ja/internals/send_functions.md)
+ * [Sysex Tools](ja/internals/sysex_tools.md)
diff --git a/docs/ja/feature_unicode.md b/docs/ja/feature_unicode.md
index bfcb866ce1..2158678f3c 100644
--- a/docs/ja/feature_unicode.md
+++ b/docs/ja/feature_unicode.md
@@ -233,17 +233,6 @@ send_unicode_string("(ノಠ痊ಠ)ノ彡┻━┻");
使用例には、[Macros](ja/feature_macros.md) で説明されているように、キーが押された時に Unicode 文字列を送信することが含まれます。
-### `send_unicode_hex_string()`
-
-`send_unicode_string()` に似ていますが、文字は Unicode コードポイントで表され、16進数で記述され、空白で区切られています。例えば、上記のちゃぶ台返しは以下で表されます:
-
-```c
-send_unicode_hex_string("0028 30CE 0CA0 75CA 0CA0 0029 30CE 5F61 253B 2501 253B");
-```
-
-[このサイト](https://r12a.github.io/app-conversion/)で結果を "Hex/UTF-32" で受け取ることで、Unicode 文字列をこの形式に簡単に変換できます。
-
-
## 追加の言語サポート
`quantum/keymap_extras` には、様々な言語ファイルがあります — これらは Colemak または BÉPO のような代替レイアウトのファイルと同じように動作します。これらの言語ヘッダのいずれかを `#include` すると、その言語/国のレイアウトに固有のキーコードにアクセスできます。このようなキーコードは、2文字の国/言語コードの後に、アンダースコアとキーが対応する4文字の略語が続くことで定義されます。例えば、キーマップに `keymap_french.h` を含め、`FR_UGRV` を使うと、ネイティブのフランス語 AZERTY レイアウトを使うシステムで入力すると、`ù` が出力されます。
diff --git a/docs/ja/internals_gpio_control.md b/docs/ja/gpio_control.md
index 60c5367870..7bece3e0c7 100644
--- a/docs/ja/internals_gpio_control.md
+++ b/docs/ja/gpio_control.md
@@ -1,8 +1,8 @@
# GPIO 制御 :id=gpio-control
<!---
- original document: 0.13.15:docs/internals_gpio_control.md
- git diff 0.13.15 HEAD -- docs/internals_gpio_control.md | cat
+ original document: 0.13.15:docs/gpio_control.md
+ git diff 0.13.15 HEAD -- docs/gpio_control.md | cat
-->
QMK には、マイクロコントローラに依存しない GPIO 制御抽象レイヤーがあります。これは異なるプラットフォーム間でピン制御に簡単にアクセスできるようにするためのものです。
diff --git a/docs/ja/internals_defines.md b/docs/ja/internals_defines.md
deleted file mode 100644
index 512730df75..0000000000
--- a/docs/ja/internals_defines.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# `defines` グループ {#group__defines}
-
-## 概要
-
-メンバー | 説明
---------------------------------|---------------------------------------------
-`define `[`SYSEX_BEGIN`](#group__defines_1ga1a3c39bb790dda8a368c4247caabcf79) |
-`define `[`SYSEX_END`](#group__defines_1ga753706d1d28e6f96d7caf1973e80feed) |
-`define `[`MIDI_STATUSMASK`](#group__defines_1gab78a1c818a5f5dab7a8946543f126c69) |
-`define `[`MIDI_CHANMASK`](#group__defines_1ga239edc0a6f8405d3a8f2804f1590b909) |
-`define `[`MIDI_CC`](#group__defines_1ga45f116a1daab76b3c930c2cecfaef215) |
-`define `[`MIDI_NOTEON`](#group__defines_1gafd416f27bf3590868c0c1f55c30be4c7) |
-`define `[`MIDI_NOTEOFF`](#group__defines_1gabed24bea2d989fd655e2ef2ad0765adc) |
-`define `[`MIDI_AFTERTOUCH`](#group__defines_1ga3a322d8cfd53576a2e167c1840551b0f) |
-`define `[`MIDI_PITCHBEND`](#group__defines_1gabcc799504e8064679bca03f232223af4) |
-`define `[`MIDI_PROGCHANGE`](#group__defines_1gaefb3f1595ffbb9db66b46c2c919a3d42) |
-`define `[`MIDI_CHANPRESSURE`](#group__defines_1gaeb3281cc7fcd0daade8ed3d2dfc33dbe) |
-`define `[`MIDI_CLOCK`](#group__defines_1gafa5e4e295aafd15ab7893344599b3b89) |
-`define `[`MIDI_TICK`](#group__defines_1ga3b99408ff864613765d4c3c2ceb52aa7) |
-`define `[`MIDI_START`](#group__defines_1ga8233631c85823aa546f932ad8975caa4) |
-`define `[`MIDI_CONTINUE`](#group__defines_1gab24430f0081e27215b0da84dd0ee745c) |
-`define `[`MIDI_STOP`](#group__defines_1ga3af9271d4b1f0d22904a0b055f48cf62) |
-`define `[`MIDI_ACTIVESENSE`](#group__defines_1gacd88ed42dba52bb4b2052c5656362677) |
-`define `[`MIDI_RESET`](#group__defines_1ga02947f30ca62dc332fdeb10c5868323b) |
-`define `[`MIDI_TC_QUARTERFRAME`](#group__defines_1gaaa072f33590e236d1bfd8f28e833ae31) |
-`define `[`MIDI_SONGPOSITION`](#group__defines_1ga412f6ed33a2150051374bee334ee1705) |
-`define `[`MIDI_SONGSELECT`](#group__defines_1gafcab254838b028365ae0259729e72c4e) |
-`define `[`MIDI_TUNEREQUEST`](#group__defines_1ga8100b907b8c0a84e58b1c53dcd9bd795) |
-`define `[`SYSEX_EDUMANUFID`](#group__defines_1ga5ef855ed955b00a2239ca16afbeb164f) |
-
-## メンバー
-
-#### `define `[`SYSEX_BEGIN`](#group__defines_1ga1a3c39bb790dda8a368c4247caabcf79) {#group__defines_1ga1a3c39bb790dda8a368c4247caabcf79}
-
-#### `define `[`SYSEX_END`](#group__defines_1ga753706d1d28e6f96d7caf1973e80feed) {#group__defines_1ga753706d1d28e6f96d7caf1973e80feed}
-
-#### `define `[`MIDI_STATUSMASK`](#group__defines_1gab78a1c818a5f5dab7a8946543f126c69) {#group__defines_1gab78a1c818a5f5dab7a8946543f126c69}
-
-#### `define `[`MIDI_CHANMASK`](#group__defines_1ga239edc0a6f8405d3a8f2804f1590b909) {#group__defines_1ga239edc0a6f8405d3a8f2804f1590b909}
-
-#### `define `[`MIDI_CC`](#group__defines_1ga45f116a1daab76b3c930c2cecfaef215) {#group__defines_1ga45f116a1daab76b3c930c2cecfaef215}
-
-#### `define `[`MIDI_NOTEON`](#group__defines_1gafd416f27bf3590868c0c1f55c30be4c7) {#group__defines_1gafd416f27bf3590868c0c1f55c30be4c7}
-
-#### `define `[`MIDI_NOTEOFF`](#group__defines_1gabed24bea2d989fd655e2ef2ad0765adc) {#group__defines_1gabed24bea2d989fd655e2ef2ad0765adc}
-
-#### `define `[`MIDI_AFTERTOUCH`](#group__defines_1ga3a322d8cfd53576a2e167c1840551b0f) {#group__defines_1ga3a322d8cfd53576a2e167c1840551b0f}
-
-#### `define `[`MIDI_PITCHBEND`](#group__defines_1gabcc799504e8064679bca03f232223af4) {#group__defines_1gabcc799504e8064679bca03f232223af4}
-
-#### `define `[`MIDI_PROGCHANGE`](#group__defines_1gaefb3f1595ffbb9db66b46c2c919a3d42) {#group__defines_1gaefb3f1595ffbb9db66b46c2c919a3d42}
-
-#### `define `[`MIDI_CHANPRESSURE`](#group__defines_1gaeb3281cc7fcd0daade8ed3d2dfc33dbe) {#group__defines_1gaeb3281cc7fcd0daade8ed3d2dfc33dbe}
-
-#### `define `[`MIDI_CLOCK`](#group__defines_1gafa5e4e295aafd15ab7893344599b3b89) {#group__defines_1gafa5e4e295aafd15ab7893344599b3b89}
-
-#### `define `[`MIDI_TICK`](#group__defines_1ga3b99408ff864613765d4c3c2ceb52aa7) {#group__defines_1ga3b99408ff864613765d4c3c2ceb52aa7}
-
-#### `define `[`MIDI_START`](#group__defines_1ga8233631c85823aa546f932ad8975caa4) {#group__defines_1ga8233631c85823aa546f932ad8975caa4}
-
-#### `define `[`MIDI_CONTINUE`](#group__defines_1gab24430f0081e27215b0da84dd0ee745c) {#group__defines_1gab24430f0081e27215b0da84dd0ee745c}
-
-#### `define `[`MIDI_STOP`](#group__defines_1ga3af9271d4b1f0d22904a0b055f48cf62) {#group__defines_1ga3af9271d4b1f0d22904a0b055f48cf62}
-
-#### `define `[`MIDI_ACTIVESENSE`](#group__defines_1gacd88ed42dba52bb4b2052c5656362677) {#group__defines_1gacd88ed42dba52bb4b2052c5656362677}
-
-#### `define `[`MIDI_RESET`](#group__defines_1ga02947f30ca62dc332fdeb10c5868323b) {#group__defines_1ga02947f30ca62dc332fdeb10c5868323b}
-
-#### `define `[`MIDI_TC_QUARTERFRAME`](#group__defines_1gaaa072f33590e236d1bfd8f28e833ae31) {#group__defines_1gaaa072f33590e236d1bfd8f28e833ae31}
-
-#### `define `[`MIDI_SONGPOSITION`](#group__defines_1ga412f6ed33a2150051374bee334ee1705) {#group__defines_1ga412f6ed33a2150051374bee334ee1705}
-
-#### `define `[`MIDI_SONGSELECT`](#group__defines_1gafcab254838b028365ae0259729e72c4e) {#group__defines_1gafcab254838b028365ae0259729e72c4e}
-
-#### `define `[`MIDI_TUNEREQUEST`](#group__defines_1ga8100b907b8c0a84e58b1c53dcd9bd795) {#group__defines_1ga8100b907b8c0a84e58b1c53dcd9bd795}
-
-#### `define `[`SYSEX_EDUMANUFID`](#group__defines_1ga5ef855ed955b00a2239ca16afbeb164f) {#group__defines_1ga5ef855ed955b00a2239ca16afbeb164f}
-
diff --git a/docs/ja/internals_input_callback_reg.md b/docs/ja/internals_input_callback_reg.md
deleted file mode 100644
index 864b1d5750..0000000000
--- a/docs/ja/internals_input_callback_reg.md
+++ /dev/null
@@ -1,173 +0,0 @@
-# group `input_callback_reg` {#group__input__callback__reg}
-
-<!---
- original document: 0.9.34:docs/internals_input_callback_reg.md
- git diff 0.9.34 HEAD -- docs/internals_input_callback_reg.md | cat
--->
-
-これらは受信コールバックを登録するために使用する関数です。
-
-関数は、適切な midi メッセージが関連するデバイスの入力と一致した場合に呼び出されます。
-
-## 概要
-
-| メンバー | 説明 |
---------------------------------|---------------------------------------------
-| `public void `[`midi_register_cc_callback`](#group__input__callback__reg_1ga64ab672abbbe393c9c4a83110c8df718)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | コントロールチェンジメッセージ受信コールバックを登録する。 |
-| `public void `[`midi_register_noteon_callback`](#group__input__callback__reg_1ga3962f276c17618923f1152779552103e)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | ノートオン受信コールバックを登録する。 |
-| `public void `[`midi_register_noteoff_callback`](#group__input__callback__reg_1gac847b66051bd6d53b762958be0ec4c6d)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | ノートオフ受信コールバックを登録する。 |
-| `public void `[`midi_register_aftertouch_callback`](#group__input__callback__reg_1gaa95bc901bd9edff956a667c9a69dd01f)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | アフタータッチ受信コールバックを登録する。 |
-| `public void `[`midi_register_pitchbend_callback`](#group__input__callback__reg_1ga071a28f02ba14f53de219be70ebd9a48)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | ピッチベンド受信コールバックを登録する。 |
-| `public void `[`midi_register_songposition_callback`](#group__input__callback__reg_1gaf2adfd79637f3553d8f26deb1ca22ed6)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` | ソングポジション受信コールバックを登録する。 |
-| `public void `[`midi_register_progchange_callback`](#group__input__callback__reg_1gae6ba1a35a4cde9bd15dd42f87401d127)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` | プログラムチェンジ受信コールバックを登録する。 |
-| `public void `[`midi_register_chanpressure_callback`](#group__input__callback__reg_1ga39b31f1f4fb93917ce039b958f21b4f5)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` | チャンネルプレッシャー受信コールバックを登録する。 |
-| `public void `[`midi_register_songselect_callback`](#group__input__callback__reg_1gaf9aafc76a2dc4b9fdbb4106cbda6ce72)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` | ソングセレクト受信コールバックを登録する。 |
-| `public void `[`midi_register_tc_quarterframe_callback`](#group__input__callback__reg_1ga0a119fada2becc628cb15d753b257e6e)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` | タイムコードクォータフレーム受信コールバックを登録する。 |
-| `public void `[`midi_register_realtime_callback`](#group__input__callback__reg_1ga764f440e857b89084b1a07f9da2ff93a)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_one_byte_func_t func)` | リアルタイム受信コールバックを登録する。 |
-| `public void `[`midi_register_tunerequest_callback`](#group__input__callback__reg_1gae40ff3ce20bda79fef87da24b8321cb1)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_one_byte_func_t func)` | チューンリクエスト受信コールバックを登録する。 |
-| `public void `[`midi_register_sysex_callback`](#group__input__callback__reg_1ga63ce9631b025785c1848d0122d4c4c48)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_sysex_func_t func)` | システムエクスクルーシブ受信コールバックを登録する。 |
-| `public void `[`midi_register_fallthrough_callback`](#group__input__callback__reg_1ga7ed189164aa9682862b3181153afbd94)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t func)` | フォールスルー受信コールバックを登録する。 |
-| `public void `[`midi_register_catchall_callback`](#group__input__callback__reg_1ga9dbfed568d047a6cd05708f11fe39e99)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t func)` | キャッチオール受信コールバックを登録する。 |
-
-## メンバー
-
-#### `public void `[`midi_register_cc_callback`](#group__input__callback__reg_1ga64ab672abbbe393c9c4a83110c8df718)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1ga64ab672abbbe393c9c4a83110c8df718}
-
-コントロールチェンジメッセージ受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_noteon_callback`](#group__input__callback__reg_1ga3962f276c17618923f1152779552103e)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1ga3962f276c17618923f1152779552103e}
-
-ノートオン受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_noteoff_callback`](#group__input__callback__reg_1gac847b66051bd6d53b762958be0ec4c6d)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1gac847b66051bd6d53b762958be0ec4c6d}
-
-ノートオフ受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_aftertouch_callback`](#group__input__callback__reg_1gaa95bc901bd9edff956a667c9a69dd01f)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1gaa95bc901bd9edff956a667c9a69dd01f}
-
-アフタータッチ受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_pitchbend_callback`](#group__input__callback__reg_1ga071a28f02ba14f53de219be70ebd9a48)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1ga071a28f02ba14f53de219be70ebd9a48}
-
-ピッチベンド受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_songposition_callback`](#group__input__callback__reg_1gaf2adfd79637f3553d8f26deb1ca22ed6)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_three_byte_func_t func)` {#group__input__callback__reg_1gaf2adfd79637f3553d8f26deb1ca22ed6}
-
-ソングポジション受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_progchange_callback`](#group__input__callback__reg_1gae6ba1a35a4cde9bd15dd42f87401d127)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` {#group__input__callback__reg_1gae6ba1a35a4cde9bd15dd42f87401d127}
-
-プログラムチェンジ受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_chanpressure_callback`](#group__input__callback__reg_1ga39b31f1f4fb93917ce039b958f21b4f5)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` {#group__input__callback__reg_1ga39b31f1f4fb93917ce039b958f21b4f5}
-
-チャンネルプレッシャー受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_songselect_callback`](#group__input__callback__reg_1gaf9aafc76a2dc4b9fdbb4106cbda6ce72)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` {#group__input__callback__reg_1gaf9aafc76a2dc4b9fdbb4106cbda6ce72}
-
-ソングセレクト受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_tc_quarterframe_callback`](#group__input__callback__reg_1ga0a119fada2becc628cb15d753b257e6e)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_two_byte_func_t func)` {#group__input__callback__reg_1ga0a119fada2becc628cb15d753b257e6e}
-
-タイムコードクォータフレーム受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_realtime_callback`](#group__input__callback__reg_1ga764f440e857b89084b1a07f9da2ff93a)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_one_byte_func_t func)` {#group__input__callback__reg_1ga764f440e857b89084b1a07f9da2ff93a}
-
-リアルタイム受信コールバックを登録する。
-
-全てのリアルタイムメッセージ型に対してコールバックが呼ばれます。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_tunerequest_callback`](#group__input__callback__reg_1gae40ff3ce20bda79fef87da24b8321cb1)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_one_byte_func_t func)` {#group__input__callback__reg_1gae40ff3ce20bda79fef87da24b8321cb1}
-
-チューンリクエスト受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_sysex_callback`](#group__input__callback__reg_1ga63ce9631b025785c1848d0122d4c4c48)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_sysex_func_t func)` {#group__input__callback__reg_1ga63ce9631b025785c1848d0122d4c4c48}
-
-システムエクスクルーシブ受信コールバックを登録する。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_fallthrough_callback`](#group__input__callback__reg_1ga7ed189164aa9682862b3181153afbd94)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t func)` {#group__input__callback__reg_1ga7ed189164aa9682862b3181153afbd94}
-
-フォールスルー受信コールバックを登録する。
-
-より具体的なコールバックが見つからない場合にのみ呼ばれます。例えば、ノートオン受信コールバックを登録していないがノートオンメッセージを受け取った場合、フォールスルー受信コールバックが登録されている場合はそれが呼ばれます。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
-
-#### `public void `[`midi_register_catchall_callback`](#group__input__callback__reg_1ga9dbfed568d047a6cd05708f11fe39e99)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t func)` {#group__input__callback__reg_1ga9dbfed568d047a6cd05708f11fe39e99}
-
-キャッチオール受信コールバックを登録する。
-
-登録されている場合は、より具体的なコールバックあるいはフォールスルー受信コールバックが登録されている場合でも、一致する全てのメッセージに対してキャッチオール受信コールバックが呼ばれます。
-
-#### パラメータ
-* `device` 関連するデバイス
-
-* `func` 登録するコールバック関数
diff --git a/docs/ja/internals_midi_device.md b/docs/ja/internals_midi_device.md
deleted file mode 100644
index 6adc2d5ad9..0000000000
--- a/docs/ja/internals_midi_device.md
+++ /dev/null
@@ -1,148 +0,0 @@
-# `midi_device` グループ {#group__midi__device}
-
-<!---
- original document: 0.10.9:docs/internals_midi_device.md
- git diff 0.10.9 HEAD -- docs/internals_midi_device.md | cat
--->
-
-独自の MIDI デバイスを実装する時に、関数を使います。
-
-実際にデバイスを介してバイトを送信するために、送信関数を設定します。このメソッドは、このデバイスで例えば midi_send_cc のような送信関数を呼ぶ時に呼ばれます。
-
-midi_device_input を使ってデバイスからの入力データを処理し、それをデバイスに関連付けられたコールバックで渡します。
-
-デバイスのプロセス関数の最初に呼び出される関数が必要な場合、midi_device_set_pre_input_process_func を使います。通常、入力をポーリングして midi_device_input に渡します。
-
-## 概要
-
-メンバー | 説明
---------------------------------|---------------------------------------------
-`define `[`MIDI_INPUT_QUEUE_LENGTH`](#group__midi__device_1ga4aaa419caebdca2bbdfc1331e79781a8) |
-`enum `[`input_state_t`](#group__midi__device_1gac203e877d3df4275ceb8e7180a61f621) |
-`public void `[`midi_device_input`](#group__midi__device_1gad8d3db8eb35d9cfa51ef036a0a9d70db)`(`[`MidiDevice`](#struct__midi__device)` * device,uint8_t cnt,uint8_t * input)` | 入力バイトを処理します。この関数はバイトを解析し、指定されたデバイスに関連する適切なコールバックを呼びます。この関数は、カスタムデバイスを作成していて、MIDI 入力が必要な場合に使います。
-`public void `[`midi_device_set_send_func`](#group__midi__device_1ga59f5a46bdd4452f186cc73d9e96d4673)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_var_byte_func_t send_func)` | 出力データバイトの送信に使われるコールバック関数を設定します。これは、カスタムデバイスを作成している場合のみ使われます。ロックを気にすることなく様々な MIDI 送信関数を呼び出すことができるように、コールバック関数で割り込みを無効にすることができます。
-`public void `[`midi_device_set_pre_input_process_func`](#group__midi__device_1ga4de0841b87c04fc23cb56b6451f33b69)`(`[`MidiDevice`](#struct__midi__device)` * device,midi_no_byte_func_t pre_process_func)` | midi_device_process 呼び出しの最初に呼ばれるコールバックを設定します。これは入力データをポーリングし、midi_device_input 関数を介してデータを送信できます。カスタムデバイスを作成している場合のみ、これを使う可能性があります。
-`struct `[`_midi_device`](docs/api_midi_device.md#struct__midi__device) | この構造体は、MIDI デバイスの入出力関数と処理データを表します。
-
-## メンバー
-
-#### `define `[`MIDI_INPUT_QUEUE_LENGTH`](#group__midi__device_1ga4aaa419caebdca2bbdfc1331e79781a8) {#group__midi__device_1ga4aaa419caebdca2bbdfc1331e79781a8}
-
-#### `enum `[`input_state_t`](#group__midi__device_1gac203e877d3df4275ceb8e7180a61f621