aboutsummaryrefslogtreecommitdiff
path: root/docs/how_keyboards_work.md
diff options
context:
space:
mode:
authorChristoffer Holmberg <skug@skug.fi>2018-10-17 21:54:37 +0300
committerDrashna Jaelre <drashna@live.com>2018-10-17 16:51:51 -0700
commitd08f9cb6e4d5f14409d49ea5df93cb91777357da (patch)
treeea76049af353939047b1aa65a429777437159964 /docs/how_keyboards_work.md
parent397d404ce0b2a0730e493897f72a86f7a40f4207 (diff)
downloadqmk_firmware-d08f9cb6e4d5f14409d49ea5df93cb91777357da.tar.gz
qmk_firmware-d08f9cb6e4d5f14409d49ea5df93cb91777357da.zip
Fix grammar, typos, and the link to HID specification
Diffstat (limited to 'docs/how_keyboards_work.md')
-rw-r--r--docs/how_keyboards_work.md14
1 files changed, 7 insertions, 7 deletions
diff --git a/docs/how_keyboards_work.md b/docs/how_keyboards_work.md
index fac2b5a48..cc54e566a 100644
--- a/docs/how_keyboards_work.md
+++ b/docs/how_keyboards_work.md
@@ -27,17 +27,17 @@ This usually happens with a periodic scan of key presses. This speed often is li
27 27
28## 2. What the Firmware Sends 28## 2. What the Firmware Sends
29 29
30The [HID specification](http://www.usb.org/developers/hidpage/Hut1_12v2.pdf) tells what a keyboard can actually send through USB to have a chance to be properly recognised. This includes a pre-defined list of scancodes which are simple numbers from `0x00` to `0xE7`. The firmware assigns a scancode to each key of the keyboard. 30The [HID specification](https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf) tells what a keyboard can actually send through USB to have a chance to be properly recognised. This includes a pre-defined list of scancodes which are simple numbers from `0x00` to `0xE7`. The firmware assigns a scancode to each key of the keyboard.
31 31
32The firmware does not send actually letters or characters, but only scancodes. 32The firmware does not send actual letters or characters, but only scancodes.
33Thus, by modifying the firmware, you only can modify what scancode is sent over 33Thus, by modifying the firmware, you can only modify what scancode is sent over
34USB for a given key. 34USB for a given key.
35 35
36## 3. What the Operating System Does 36## 3. What the Operating System Does
37 37
38Once the keycode reaches the operating system, a piece of software has to have 38Once the keycode reaches the operating system, a piece of software has to have
39it match an actual character thanks to a keyboard layout. For example, if your 39it match an actual character thanks to a keyboard layout. For example, if your
40layout is set to QWERTY, a sample of the matching table is as follow: 40layout is set to QWERTY, a sample of the matching table is as follows:
41 41
42| keycode | character | 42| keycode | character |
43|---------|-----------| 43|---------|-----------|
@@ -55,11 +55,11 @@ As the layout is generally fixed (unless you create your own), the firmware can
55 55
56## List of Characters You Can Send 56## List of Characters You Can Send
57 57
58Putting aside shortcuts, having a limited set of keycodes mapped to a limited layout means that **the list of characters you can assign to a given key only is the ones present in the layout**. 58Putting aside shortcuts, having a limited set of keycodes mapped to a limited layout means that **the list of characters you can assign to a given key are only the ones present in the layout**.
59 59
60For example, this means that if you have a QWERTY US layout, and you want to assign 1 key to produce `€` (euro currency symbol), you are unable to do so, because the QWERTY US layout does not have such mapping. You could fix that by using a QWERTY UK layout, or a QWERTY US International. 60For example, this means that if you have a QWERTY US layout, and you want to assign one key to produce `€` (euro currency symbol), you are unable to do so, because the QWERTY US layout does not have such mapping. You could fix that by using a QWERTY UK layout, or a QWERTY US International.
61 61
62You may wonder why a keyboard layout containing all of Unicode is not devised then? The limited number of keycode available through USB simply disallow such a thing. 62You may wonder why a keyboard layout containing all of Unicode is not devised then? The limited number of keycodes available through USB simply disallows such a thing.
63 63
64## How to (Maybe) Enter Unicode Characters 64## How to (Maybe) Enter Unicode Characters
65 65