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 | ||
