GBDK 2020 Docs  4.4.0
API Documentation for GBDK 2020
laptop_keycodes.h File Reference
#include <gbdk/platform.h>
#include <stdint.h>
#include <stdbool.h>

Go to the source code of this file.

Macros

#define DUCK_IO_KEY_FLAG_KEY_REPEAT   0x01u
 
#define DUCK_IO_KEY_FLAG_KEY_REPEAT_BIT   0x0u
 
#define DUCK_IO_KEY_FLAG_CAPSLOCK   0x02u
 
#define DUCK_IO_KEY_FLAG_CAPSLOCK_BIT   0x1u
 
#define DUCK_IO_KEY_FLAG_SHIFT   0x04u
 
#define DUCK_IO_KEY_FLAG_SHIFT_BIT   0x2u
 
#define DUCK_IO_KEY_FLAG_PRINTSCREEN_LEFT   0x08u
 
#define DUCK_IO_KEY_FLAG_PRINTSCREEN_LEFT_BIT   0x3u
 
#define DUCK_IO_KEY_BASE_BIT   0x7u
 
#define DUCK_IO_KEY_BASE   0x80u
 
#define DUCK_IO_KEY_F1   0x80u
 
#define DUCK_IO_KEY_F2   0x84u
 
#define DUCK_IO_KEY_F3   0x88u
 
#define DUCK_IO_KEY_F4   0x8Cu
 
#define DUCK_IO_KEY_F5   0x90u
 
#define DUCK_IO_KEY_F6   0x94u
 
#define DUCK_IO_KEY_F7   0x98u
 
#define DUCK_IO_KEY_F8   0x9Cu
 
#define DUCK_IO_KEY_F9   0xA0u
 
#define DUCK_IO_KEY_F10   0xA4u
 
#define DUCK_IO_KEY_F11   0xA8u
 
#define DUCK_IO_KEY_F12   0xACu
 
#define DUCK_IO_KEY_ESCAPE   0x81u
 
#define DUCK_IO_KEY_1   0x85u
 
#define DUCK_IO_KEY_2   0x89u
 
#define DUCK_IO_KEY_3   0x8Du
 
#define DUCK_IO_KEY_4   0x91u
 
#define DUCK_IO_KEY_5   0x95u
 
#define DUCK_IO_KEY_6   0x99u
 
#define DUCK_IO_KEY_7   0x9Du
 
#define DUCK_IO_KEY_8   0xA1u
 
#define DUCK_IO_KEY_9   0xA5u
 
#define DUCK_IO_KEY_0   0xA9u
 
#define DUCK_IO_KEY_SINGLE_QUOTE   0xADu
 
#define DUCK_IO_KEY_EXCLAMATION_FLIPPED   0xB1u
 
#define DUCK_IO_KEY_BACKSPACE   0xB5u
 
#define DUCK_IO_KEY_HELP   0x82u
 
#define DUCK_IO_KEY_Q   0x86u
 
#define DUCK_IO_KEY_W   0x8Au
 
#define DUCK_IO_KEY_E   0x8Eu
 
#define DUCK_IO_KEY_R   0x92u
 
#define DUCK_IO_KEY_T   0x96u
 
#define DUCK_IO_KEY_Y   0x9Au
 
#define DUCK_IO_KEY_U   0x9Eu
 
#define DUCK_IO_KEY_I   0xA2u
 
#define DUCK_IO_KEY_O   0xA6u
 
#define DUCK_IO_KEY_P   0xAAu
 
#define DUCK_IO_KEY_BACKTICK   0xAEu
 
#define DUCK_IO_KEY_RIGHT_SQ_BRACKET   0xB2u
 
#define DUCK_IO_KEY_ENTER   0xB6u
 
#define DUCK_IO_KEY_A   0x87u
 
#define DUCK_IO_KEY_S   0x8Bu
 
#define DUCK_IO_KEY_D   0x8Fu
 
#define DUCK_IO_KEY_F   0x93u
 
#define DUCK_IO_KEY_G   0x97u
 
#define DUCK_IO_KEY_H   0x9Bu
 
#define DUCK_IO_KEY_J   0x9Fu
 
#define DUCK_IO_KEY_K   0xA3u
 
#define DUCK_IO_KEY_L   0xA7u
 
#define DUCK_IO_KEY_N_TILDE   0xABu
 
#define DUCK_IO_KEY_U_UMLAUT   0xAFu
 
#define DUCK_IO_KEY_O_OVER_LINE   0xB3u
 
#define DUCK_IO_KEY_Z   0xB8u
 
#define DUCK_IO_KEY_X   0xBCu
 
#define DUCK_IO_KEY_C   0xC0u
 
#define DUCK_IO_KEY_V   0xC4u
 
#define DUCK_IO_KEY_B   0xC8u
 
#define DUCK_IO_KEY_N   0xCCu
 
#define DUCK_IO_KEY_M   0xD0u
 
#define DUCK_IO_KEY_COMMA   0xD4u
 
#define DUCK_IO_KEY_PERIOD   0xD8u
 
#define DUCK_IO_KEY_DASH   0xDCu
 
#define DUCK_IO_KEY_DELETE   0xE0u
 
#define DUCK_IO_KEY_SPACE   0xB9u
 
#define DUCK_IO_KEY_LESS_THAN   0xBDu
 
#define DUCK_IO_KEY_PAGE_UP   0xC1u
 
#define DUCK_IO_KEY_PAGE_DOWN   0xC5u
 
#define DUCK_IO_KEY_MEMORY_MINUS   0xC9u
 
#define DUCK_IO_KEY_MEMORY_PLUS   0xCDu
 
#define DUCK_IO_KEY_MEMORY_RECALL   0xD1u
 
#define DUCK_IO_KEY_SQUAREROOT   0xD5u
 
#define DUCK_IO_KEY_MULTIPLY   0xD9u
 
#define DUCK_IO_KEY_ARROW_DOWN   0xDDu
 
#define DUCK_IO_KEY_MINUS   0xE1u
 
#define DUCK_IO_KEY_ARROW_LEFT   0xE5u
 
#define DUCK_IO_KEY_EQUALS   0xE9u
 
#define DUCK_IO_KEY_ARROW_RIGHT   0xEDu
 
#define DUCK_IO_KEY_DIVIDE   0xE4u
 
#define DUCK_IO_KEY_ARROW_UP   0xE8u
 
#define DUCK_IO_KEY_PLUS   0xECu
 
#define DUCK_IO_KEY_PIANO_DO_SHARP   0xBAu
 
#define DUCK_IO_KEY_PIANO_RE_SHARP   0xBEu
 
#define DUCK_IO_KEY_PIANO_FA_SHARP   0xC6u
 
#define DUCK_IO_KEY_PIANO_SOL_SHARP   0xCAu
 
#define DUCK_IO_KEY_PIANO_LA_SHARP   0xCEu
 
#define DUCK_IO_KEY_PIANO_DO_2_SHARP   0xD6u
 
#define DUCK_IO_KEY_PIANO_RE_2_SHARP   0xDAu
 
#define DUCK_IO_KEY_PRINTSCREEN_RIGHT   0xDEu
 
#define DUCK_IO_KEY_PIANO_FA_2_SHARP   0xE2u
 
#define DUCK_IO_KEY_PIANO_SOL_2_SHARP   0xE6u
 
#define DUCK_IO_KEY_PIANO_LA_2_SHARP   0xEAu
 
#define DUCK_IO_KEY_PIANO_DO   0xBBu
 
#define DUCK_IO_KEY_PIANO_RE   0xBFu
 
#define DUCK_IO_KEY_PIANO_MI   0xC3u
 
#define DUCK_IO_KEY_PIANO_FA   0xC7u
 
#define DUCK_IO_KEY_PIANO_SOL   0xCBu
 
#define DUCK_IO_KEY_PIANO_LA   0xCFu
 
#define DUCK_IO_KEY_PIANO_SI   0xD3u
 
#define DUCK_IO_KEY_PIANO_DO_2   0xD7u
 
#define DUCK_IO_KEY_PIANO_RE_2   0xDBu
 
#define DUCK_IO_KEY_PIANO_MI_2   0xDFu
 
#define DUCK_IO_KEY_PIANO_FA_2   0xE3u
 
#define DUCK_IO_KEY_PIANO_SOL_2   0xE7u
 
#define DUCK_IO_KEY_PIANO_LA_2   0xEBu
 
#define DUCK_IO_KEY_PIANO_SI_2   0xEFu
 
#define DUCK_IO_KEY_LAST_KEY   (DUCK_IO_KEY_PIANO_SI_2u)
 
#define DUCK_IO_KEY_MAYBE_SYST_CODES_START   0xF0u
 
#define DUCK_IO_KEY_MAYBE_RX_NOT_A_KEY   0xF6u
 

Macro Definition Documentation

◆ DUCK_IO_KEY_FLAG_KEY_REPEAT

#define DUCK_IO_KEY_FLAG_KEY_REPEAT   0x01u

◆ DUCK_IO_KEY_FLAG_KEY_REPEAT_BIT

#define DUCK_IO_KEY_FLAG_KEY_REPEAT_BIT   0x0u

◆ DUCK_IO_KEY_FLAG_CAPSLOCK

#define DUCK_IO_KEY_FLAG_CAPSLOCK   0x02u

◆ DUCK_IO_KEY_FLAG_CAPSLOCK_BIT

#define DUCK_IO_KEY_FLAG_CAPSLOCK_BIT   0x1u

◆ DUCK_IO_KEY_FLAG_SHIFT

#define DUCK_IO_KEY_FLAG_SHIFT   0x04u

◆ DUCK_IO_KEY_FLAG_SHIFT_BIT

#define DUCK_IO_KEY_FLAG_SHIFT_BIT   0x2u

◆ DUCK_IO_KEY_FLAG_PRINTSCREEN_LEFT

#define DUCK_IO_KEY_FLAG_PRINTSCREEN_LEFT   0x08u

◆ DUCK_IO_KEY_FLAG_PRINTSCREEN_LEFT_BIT

#define DUCK_IO_KEY_FLAG_PRINTSCREEN_LEFT_BIT   0x3u

◆ DUCK_IO_KEY_BASE_BIT

#define DUCK_IO_KEY_BASE_BIT   0x7u

◆ DUCK_IO_KEY_BASE

#define DUCK_IO_KEY_BASE   0x80u

◆ DUCK_IO_KEY_F1

#define DUCK_IO_KEY_F1   0x80u

◆ DUCK_IO_KEY_F2

#define DUCK_IO_KEY_F2   0x84u

◆ DUCK_IO_KEY_F3

#define DUCK_IO_KEY_F3   0x88u

◆ DUCK_IO_KEY_F4

#define DUCK_IO_KEY_F4   0x8Cu

◆ DUCK_IO_KEY_F5

#define DUCK_IO_KEY_F5   0x90u

◆ DUCK_IO_KEY_F6

#define DUCK_IO_KEY_F6   0x94u

◆ DUCK_IO_KEY_F7

#define DUCK_IO_KEY_F7   0x98u

◆ DUCK_IO_KEY_F8

#define DUCK_IO_KEY_F8   0x9Cu

◆ DUCK_IO_KEY_F9

#define DUCK_IO_KEY_F9   0xA0u

◆ DUCK_IO_KEY_F10

#define DUCK_IO_KEY_F10   0xA4u

◆ DUCK_IO_KEY_F11

#define DUCK_IO_KEY_F11   0xA8u

◆ DUCK_IO_KEY_F12

#define DUCK_IO_KEY_F12   0xACu

◆ DUCK_IO_KEY_ESCAPE

#define DUCK_IO_KEY_ESCAPE   0x81u

◆ DUCK_IO_KEY_1

#define DUCK_IO_KEY_1   0x85u

◆ DUCK_IO_KEY_2

#define DUCK_IO_KEY_2   0x89u

◆ DUCK_IO_KEY_3

#define DUCK_IO_KEY_3   0x8Du

◆ DUCK_IO_KEY_4

#define DUCK_IO_KEY_4   0x91u

◆ DUCK_IO_KEY_5

#define DUCK_IO_KEY_5   0x95u

◆ DUCK_IO_KEY_6

#define DUCK_IO_KEY_6   0x99u

◆ DUCK_IO_KEY_7

#define DUCK_IO_KEY_7   0x9Du

◆ DUCK_IO_KEY_8

#define DUCK_IO_KEY_8   0xA1u

◆ DUCK_IO_KEY_9

#define DUCK_IO_KEY_9   0xA5u

◆ DUCK_IO_KEY_0

#define DUCK_IO_KEY_0   0xA9u

◆ DUCK_IO_KEY_SINGLE_QUOTE

#define DUCK_IO_KEY_SINGLE_QUOTE   0xADu

◆ DUCK_IO_KEY_EXCLAMATION_FLIPPED

#define DUCK_IO_KEY_EXCLAMATION_FLIPPED   0xB1u

◆ DUCK_IO_KEY_BACKSPACE

#define DUCK_IO_KEY_BACKSPACE   0xB5u

◆ DUCK_IO_KEY_HELP

#define DUCK_IO_KEY_HELP   0x82u

◆ DUCK_IO_KEY_Q

#define DUCK_IO_KEY_Q   0x86u

◆ DUCK_IO_KEY_W

#define DUCK_IO_KEY_W   0x8Au

◆ DUCK_IO_KEY_E

#define DUCK_IO_KEY_E   0x8Eu

◆ DUCK_IO_KEY_R

#define DUCK_IO_KEY_R   0x92u

◆ DUCK_IO_KEY_T

#define DUCK_IO_KEY_T   0x96u

◆ DUCK_IO_KEY_Y

#define DUCK_IO_KEY_Y   0x9Au

◆ DUCK_IO_KEY_U

#define DUCK_IO_KEY_U   0x9Eu

◆ DUCK_IO_KEY_I

#define DUCK_IO_KEY_I   0xA2u

◆ DUCK_IO_KEY_O

#define DUCK_IO_KEY_O   0xA6u

◆ DUCK_IO_KEY_P

#define DUCK_IO_KEY_P   0xAAu

◆ DUCK_IO_KEY_BACKTICK

#define DUCK_IO_KEY_BACKTICK   0xAEu

◆ DUCK_IO_KEY_RIGHT_SQ_BRACKET

#define DUCK_IO_KEY_RIGHT_SQ_BRACKET   0xB2u

◆ DUCK_IO_KEY_ENTER

#define DUCK_IO_KEY_ENTER   0xB6u

◆ DUCK_IO_KEY_A

#define DUCK_IO_KEY_A   0x87u

◆ DUCK_IO_KEY_S

#define DUCK_IO_KEY_S   0x8Bu

◆ DUCK_IO_KEY_D

#define DUCK_IO_KEY_D   0x8Fu

◆ DUCK_IO_KEY_F

#define DUCK_IO_KEY_F   0x93u

◆ DUCK_IO_KEY_G

#define DUCK_IO_KEY_G   0x97u

◆ DUCK_IO_KEY_H

#define DUCK_IO_KEY_H   0x9Bu

◆ DUCK_IO_KEY_J

#define DUCK_IO_KEY_J   0x9Fu

◆ DUCK_IO_KEY_K

#define DUCK_IO_KEY_K   0xA3u

◆ DUCK_IO_KEY_L

#define DUCK_IO_KEY_L   0xA7u

◆ DUCK_IO_KEY_N_TILDE

#define DUCK_IO_KEY_N_TILDE   0xABu

◆ DUCK_IO_KEY_U_UMLAUT

#define DUCK_IO_KEY_U_UMLAUT   0xAFu

◆ DUCK_IO_KEY_O_OVER_LINE

#define DUCK_IO_KEY_O_OVER_LINE   0xB3u

◆ DUCK_IO_KEY_Z

#define DUCK_IO_KEY_Z   0xB8u

◆ DUCK_IO_KEY_X

#define DUCK_IO_KEY_X   0xBCu

◆ DUCK_IO_KEY_C

#define DUCK_IO_KEY_C   0xC0u

◆ DUCK_IO_KEY_V

#define DUCK_IO_KEY_V   0xC4u

◆ DUCK_IO_KEY_B

#define DUCK_IO_KEY_B   0xC8u

◆ DUCK_IO_KEY_N

#define DUCK_IO_KEY_N   0xCCu

◆ DUCK_IO_KEY_M

#define DUCK_IO_KEY_M   0xD0u

◆ DUCK_IO_KEY_COMMA

#define DUCK_IO_KEY_COMMA   0xD4u

◆ DUCK_IO_KEY_PERIOD

#define DUCK_IO_KEY_PERIOD   0xD8u

◆ DUCK_IO_KEY_DASH

#define DUCK_IO_KEY_DASH   0xDCu

◆ DUCK_IO_KEY_DELETE

#define DUCK_IO_KEY_DELETE   0xE0u

◆ DUCK_IO_KEY_SPACE

#define DUCK_IO_KEY_SPACE   0xB9u

◆ DUCK_IO_KEY_LESS_THAN

#define DUCK_IO_KEY_LESS_THAN   0xBDu

◆ DUCK_IO_KEY_PAGE_UP

#define DUCK_IO_KEY_PAGE_UP   0xC1u

◆ DUCK_IO_KEY_PAGE_DOWN

#define DUCK_IO_KEY_PAGE_DOWN   0xC5u

◆ DUCK_IO_KEY_MEMORY_MINUS

#define DUCK_IO_KEY_MEMORY_MINUS   0xC9u

◆ DUCK_IO_KEY_MEMORY_PLUS

#define DUCK_IO_KEY_MEMORY_PLUS   0xCDu

◆ DUCK_IO_KEY_MEMORY_RECALL

#define DUCK_IO_KEY_MEMORY_RECALL   0xD1u

◆ DUCK_IO_KEY_SQUAREROOT

#define DUCK_IO_KEY_SQUAREROOT   0xD5u

◆ DUCK_IO_KEY_MULTIPLY

#define DUCK_IO_KEY_MULTIPLY   0xD9u

◆ DUCK_IO_KEY_ARROW_DOWN

#define DUCK_IO_KEY_ARROW_DOWN   0xDDu

◆ DUCK_IO_KEY_MINUS

#define DUCK_IO_KEY_MINUS   0xE1u

◆ DUCK_IO_KEY_ARROW_LEFT

#define DUCK_IO_KEY_ARROW_LEFT   0xE5u

◆ DUCK_IO_KEY_EQUALS

#define DUCK_IO_KEY_EQUALS   0xE9u

◆ DUCK_IO_KEY_ARROW_RIGHT

#define DUCK_IO_KEY_ARROW_RIGHT   0xEDu

◆ DUCK_IO_KEY_DIVIDE

#define DUCK_IO_KEY_DIVIDE   0xE4u

◆ DUCK_IO_KEY_ARROW_UP

#define DUCK_IO_KEY_ARROW_UP   0xE8u

◆ DUCK_IO_KEY_PLUS

#define DUCK_IO_KEY_PLUS   0xECu

◆ DUCK_IO_KEY_PIANO_DO_SHARP

#define DUCK_IO_KEY_PIANO_DO_SHARP   0xBAu

◆ DUCK_IO_KEY_PIANO_RE_SHARP

#define DUCK_IO_KEY_PIANO_RE_SHARP   0xBEu

◆ DUCK_IO_KEY_PIANO_FA_SHARP

#define DUCK_IO_KEY_PIANO_FA_SHARP   0xC6u

◆ DUCK_IO_KEY_PIANO_SOL_SHARP

#define DUCK_IO_KEY_PIANO_SOL_SHARP   0xCAu

◆ DUCK_IO_KEY_PIANO_LA_SHARP

#define DUCK_IO_KEY_PIANO_LA_SHARP   0xCEu

◆ DUCK_IO_KEY_PIANO_DO_2_SHARP

#define DUCK_IO_KEY_PIANO_DO_2_SHARP   0xD6u

◆ DUCK_IO_KEY_PIANO_RE_2_SHARP

#define DUCK_IO_KEY_PIANO_RE_2_SHARP   0xDAu

◆ DUCK_IO_KEY_PRINTSCREEN_RIGHT

#define DUCK_IO_KEY_PRINTSCREEN_RIGHT   0xDEu

◆ DUCK_IO_KEY_PIANO_FA_2_SHARP

#define DUCK_IO_KEY_PIANO_FA_2_SHARP   0xE2u

◆ DUCK_IO_KEY_PIANO_SOL_2_SHARP

#define DUCK_IO_KEY_PIANO_SOL_2_SHARP   0xE6u

◆ DUCK_IO_KEY_PIANO_LA_2_SHARP

#define DUCK_IO_KEY_PIANO_LA_2_SHARP   0xEAu

◆ DUCK_IO_KEY_PIANO_DO

#define DUCK_IO_KEY_PIANO_DO   0xBBu

◆ DUCK_IO_KEY_PIANO_RE

#define DUCK_IO_KEY_PIANO_RE   0xBFu

◆ DUCK_IO_KEY_PIANO_MI

#define DUCK_IO_KEY_PIANO_MI   0xC3u

◆ DUCK_IO_KEY_PIANO_FA

#define DUCK_IO_KEY_PIANO_FA   0xC7u

◆ DUCK_IO_KEY_PIANO_SOL

#define DUCK_IO_KEY_PIANO_SOL   0xCBu

◆ DUCK_IO_KEY_PIANO_LA

#define DUCK_IO_KEY_PIANO_LA   0xCFu

◆ DUCK_IO_KEY_PIANO_SI

#define DUCK_IO_KEY_PIANO_SI   0xD3u

◆ DUCK_IO_KEY_PIANO_DO_2

#define DUCK_IO_KEY_PIANO_DO_2   0xD7u

◆ DUCK_IO_KEY_PIANO_RE_2

#define DUCK_IO_KEY_PIANO_RE_2   0xDBu

◆ DUCK_IO_KEY_PIANO_MI_2

#define DUCK_IO_KEY_PIANO_MI_2   0xDFu

◆ DUCK_IO_KEY_PIANO_FA_2

#define DUCK_IO_KEY_PIANO_FA_2   0xE3u

◆ DUCK_IO_KEY_PIANO_SOL_2

#define DUCK_IO_KEY_PIANO_SOL_2   0xE7u

◆ DUCK_IO_KEY_PIANO_LA_2

#define DUCK_IO_KEY_PIANO_LA_2   0xEBu

◆ DUCK_IO_KEY_PIANO_SI_2

#define DUCK_IO_KEY_PIANO_SI_2   0xEFu

◆ DUCK_IO_KEY_LAST_KEY

#define DUCK_IO_KEY_LAST_KEY   (DUCK_IO_KEY_PIANO_SI_2u)

◆ DUCK_IO_KEY_MAYBE_SYST_CODES_START

#define DUCK_IO_KEY_MAYBE_SYST_CODES_START   0xF0u

◆ DUCK_IO_KEY_MAYBE_RX_NOT_A_KEY

#define DUCK_IO_KEY_MAYBE_RX_NOT_A_KEY   0xF6u