diff options
author | Christoffer Holmberg <skug@skug.fi> | 2018-10-17 21:54:37 +0300 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-10-17 16:51:51 -0700 |
commit | d08f9cb6e4d5f14409d49ea5df93cb91777357da (patch) | |
tree | ea76049af353939047b1aa65a429777437159964 /docs/how_keyboards_work.md | |
parent | 397d404ce0b2a0730e493897f72a86f7a40f4207 (diff) | |
download | qmk_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.md | 14 |
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 | ||
30 | The [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. | 30 | The [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 | ||
32 | The firmware does not send actually letters or characters, but only scancodes. | 32 | The firmware does not send actual letters or characters, but only scancodes. |
33 | Thus, by modifying the firmware, you only can modify what scancode is sent over | 33 | Thus, by modifying the firmware, you can only modify what scancode is sent over |
34 | USB for a given key. | 34 | USB for a given key. |
35 | 35 | ||
36 | ## 3. What the Operating System Does | 36 | ## 3. What the Operating System Does |
37 | 37 | ||
38 | Once the keycode reaches the operating system, a piece of software has to have | 38 | Once the keycode reaches the operating system, a piece of software has to have |
39 | it match an actual character thanks to a keyboard layout. For example, if your | 39 | it match an actual character thanks to a keyboard layout. For example, if your |
40 | layout is set to QWERTY, a sample of the matching table is as follow: | 40 | layout 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 | ||
58 | Putting 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**. | 58 | Putting 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 | ||
60 | For 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. | 60 | For 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 | ||
62 | You 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. | 62 | You 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 | ||