From 9cadba7b895a81f329a4c2eee253e57c11715b80 Mon Sep 17 00:00:00 2001 From: skullY Date: Mon, 3 Jul 2017 12:39:15 -0700 Subject: Add missing files to _summary.md --- docs/_summary.md | 15 ++++--- docs/unicode.md | 54 +++++++++++++++++++++++++ docs/unicode_and_additional_language_support.md | 54 ------------------------- 3 files changed, 63 insertions(+), 60 deletions(-) create mode 100644 docs/unicode.md delete mode 100644 docs/unicode_and_additional_language_support.md diff --git a/docs/_summary.md b/docs/_summary.md index 5b6ec7001..8a649a337 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -15,6 +15,7 @@ * [Space Cadet](space_cadet_shift.md) * [Tap Dance](tap_dance.md) * [Mouse keys](mouse_keys.md) + * [Unicode](unicode.md) * Reference * [Glossary](glossary.md) @@ -22,21 +23,23 @@ * [Keycodes](keycodes.md) * [Basic Keycodes](basic_keycodes.md) * [Quantum Keycodes](quantum_keycodes.md) - * [The Config File](config_options.md) + * [The `config.h` File](config_options.md) * [Customizing Functionality](custom_quantum_functions.md) * [Documentation Best Practices](documentation_best_practices.md) + * [Unit Testing](unit_testing.md) -* For makers and modders +* For Makers and Modders * [Adding a keyboard to QMK](adding_a_keyboard_to_qmk.md) - * [Porting your keyboard to QMK](porting_your_keyboard_to_qmk.md) - * [Modding your keyboard](modding_your_keyboard.md) * [Adding features to QMK](adding_features_to_qmk.md) + * [Hand Wiring Guide](hand_wiring.md) * [ISP flashing guide](isp_flashing_guide.md) + * [Modding your keyboard](modding_your_keyboard.md) + * [Porting your keyboard to QMK](porting_your_keyboard_to_qmk.md) -* For Deeper Understanding +* For a Deeper Understanding * [How Keyboards Work](basic_how_keyboards_work.md) * [Understanding QMK](understanding_qmk.md) -* Other topics +* Other Topics * [General FAQ](faq.md) * [Using Eclipse with QMK](eclipse.md) diff --git a/docs/unicode.md b/docs/unicode.md new file mode 100644 index 000000000..ae722fe2b --- /dev/null +++ b/docs/unicode.md @@ -0,0 +1,54 @@ +# Unicode support + +There are three Unicode keymap definition method available in QMK: + +## UNICODE_ENABLE + +Supports Unicode input up to 0xFFFF. The keycode function is `UC(n)` in +keymap file, where *n* is a 4 digit hexadecimal. + +## UNICODEMAP_ENABLE + +Supports Unicode up to 0xFFFFFFFF. You need to maintain a separate mapping +table `const uint32_t PROGMEM unicode_map[] = {...}` in your keymap file. +The keycode function is `X(n)` where *n* is the array index of the mapping +table. + +## UCIS_ENABLE + +TBD + +Unicode input in QMK works by inputing a sequence of characters to the OS, +sort of like macro. Unfortunately, each OS has different ideas on how Unicode is inputted. + +This is the current list of Unicode input method in QMK: + +* UC_OSX: MacOS Unicode Hex Input support. Works only up to 0xFFFF. Disabled by default. To enable: go to System Preferences -> Keyboard -> Input Sources, and enable Unicode Hex. +* UC_LNX: Unicode input method under Linux. Works up to 0xFFFFF. Should work almost anywhere on ibus enabled distros. Without ibus, this works under GTK apps, but rarely anywhere else. +* UC_WIN: (not recommended) Windows built-in Unicode input. To enable: create registry key under `HKEY_CURRENT_USER\Control Panel\Input Method\EnableHexNumpad` of type `REG_SZ` called `EnableHexNumpad`, set its value to 1, and reboot. This method is not recommended because of reliability and compatibility issue, use WinCompose method below instead. +* UC_WINC: Windows Unicode input using WinCompose. Requires [WinCompose](https://github.com/samhocevar/wincompose). Works reliably under many (all?) variations of Windows. + +# Additional language support + +In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `ù` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware. + +# International Characters on Windows + +[AutoHotkey](https://autohotkey.com) allows Windows users to create custom hotkeys among others. + +The method does not require Unicode support in the keyboard itself but depends instead of AutoHotkey running in the background. + +First you need to select a modifier combination that is not in use by any of your programs. +CtrlAltWin is not used very widely and should therefore be perfect for this. +There is a macro defined for a mod-tab combo `LCAG_T`. +Add this mod-tab combo to a key on your keyboard, e.g.: `LCAG_T(KC_TAB)`. +This makes the key behave like a tab key if pressed and released immediately but changes it to the modifier if used with another key. + +In the default script of AutoHotkey you can define custom hotkeys. + + <^ Keyboard -> Input Sources, and enable Unicode Hex. -* UC_LNX: Unicode input method under Linux. Works up to 0xFFFFF. Should work almost anywhere on ibus enabled distros. Without ibus, this works under GTK apps, but rarely anywhere else. -* UC_WIN: (not recommended) Windows built-in Unicode input. To enable: create registry key under `HKEY_CURRENT_USER\Control Panel\Input Method\EnableHexNumpad` of type `REG_SZ` called `EnableHexNumpad`, set its value to 1, and reboot. This method is not recommended because of reliability and compatibility issue, use WinCompose method below instead. -* UC_WINC: Windows Unicode input using WinCompose. Requires [WinCompose](https://github.com/samhocevar/wincompose). Works reliably under many (all?) variations of Windows. - -# Additional language support - -In `quantum/keymap_extras/`, you'll see various language files - these work the same way as the alternative layout ones do. Most are defined by their two letter country/language code followed by an underscore and a 4-letter abbreviation of its name. `FR_UGRV` which will result in a `ù` when using a software-implemented AZERTY layout. It's currently difficult to send such characters in just the firmware. - -# International Characters on Windows - -[AutoHotkey](https://autohotkey.com) allows Windows users to create custom hotkeys among others. - -The method does not require Unicode support in the keyboard itself but depends instead of AutoHotkey running in the background. - -First you need to select a modifier combination that is not in use by any of your programs. -CtrlAltWin is not used very widely and should therefore be perfect for this. -There is a macro defined for a mod-tab combo `LCAG_T`. -Add this mod-tab combo to a key on your keyboard, e.g.: `LCAG_T(KC_TAB)`. -This makes the key behave like a tab key if pressed and released immediately but changes it to the modifier if used with another key. - -In the default script of AutoHotkey you can define custom hotkeys. - - <^