Basic Docs
Updated Final cleanup
This commit is contained in:
70
docs/unicode.md
Normal file
70
docs/unicode.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Macros And Unicode
|
||||
Macros are used for sending multiple keystrokes in a single action. This is useful for
|
||||
things like unicode input, sending strings of text, or other automation.
|
||||
|
||||
## Basic Macros
|
||||
The most basic macro is send_string(). It can be used to send any standard ASCII keycode, including the return and tab key.
|
||||
```python
|
||||
from kmk.macros.simple import send_string
|
||||
|
||||
WOW = send_string("Wow, KMK is awesome!")
|
||||
|
||||
keymap = [...WOW,...]
|
||||
```
|
||||
# Unicode
|
||||
Before using unicode mode, you will need to set your platform. This can be done either of these ways.
|
||||
You can use both in cases where you want to use one operating system, but occasionally use another.
|
||||
This allows you to change modes on the fly without having to change your keymap.
|
||||
|
||||
unicode_mode = UnicodeModes.LINUX
|
||||
Or
|
||||
keymap = [...KC.UC_MODE_LINUX,...]
|
||||
|
||||
|
||||
### Unicode Modes:
|
||||
On Linux IBUS is required, and on Windows, requires [WinCompose](https://github.com/samhocevar/wincompose)
|
||||
- Linux : UnicodeModes.LINUX or UnicodeModes.IBUS
|
||||
- Mac: UnicodeModes.MACOS or UnicodeModes.OSX or UnicodeModes.RALT
|
||||
- Windows: UnicodeModes.WINC
|
||||
|
||||
A note for IBUS users on Linux. This mode is not enabled by default, and will need to be turned on for this to work.
|
||||
This works on X11, though if you are on Wayland, or in some GTK apps, it MAY work, but is not supported.
|
||||
|
||||
export IBUS_ENABLE_CTRL_SHIFT_U=1
|
||||
|
||||
### Unicode Examples
|
||||
|
||||
To send a simple unicode symbol
|
||||
```python
|
||||
FLIP = unicode_string_sequence('(ノಠ痊ಠ)ノ彡┻━┻')
|
||||
keymap = [...FLIP,...]
|
||||
```
|
||||
|
||||
And for many single character unicode:
|
||||
|
||||
```python
|
||||
from kmk.types import AttrDic
|
||||
|
||||
emoticons = AttrDict({
|
||||
'BEER': r'🍺',
|
||||
'HAND_WAVE': r'👋',
|
||||
})
|
||||
|
||||
for k, v in emoticons.items():
|
||||
emoticons[k] = unicode_string_sequence(v)
|
||||
|
||||
keymap = [...emoticons.BEER, emoticons.HAND_WAVE...]
|
||||
```
|
||||
|
||||
If you need to send a unicode hex string, use unicode_codepoint_sequence()
|
||||
|
||||
```python
|
||||
from kmk.macros.unicode import unicode_codepoint_sequence
|
||||
|
||||
TABLE_FLIP = unicode_codepoint_sequence([
|
||||
"28", "30ce", "ca0", "75ca","ca0", "29",
|
||||
"30ce", "5f61", "253b", "2501", "253b",
|
||||
])
|
||||
|
||||
keymap = [...TABLE_FLIP,...]
|
||||
```
|
Reference in New Issue
Block a user