38 #include "freertos/FreeRTOS.h" 106 void begin(gpio_num_t clkGPIO, gpio_num_t dataGPIO,
bool generateVirtualKeys =
true,
bool createVKQueue =
true);
127 void begin(
bool generateVirtualKeys,
bool createVKQueue,
int PS2Port);
275 void setCodePage(CodePage
const * codepage) { m_codepage = codepage; }
298 int getNextScancode(
int timeOutMS = -1,
bool requestResendOnTimeOut =
false);
311 bool setLEDs(
bool numLock,
bool capsLock,
bool scrollLock);
322 void getLEDs(
bool * numLock,
bool * capsLock,
bool * scrollLock);
334 bool setTypematicRateAndDelay(
int repeatRateMS,
int repeatDelayMS) {
return send_cmdTypematicRateAndDelay(repeatRateMS, repeatDelayMS); }
358 static uint8_t convScancodeSet2To1(uint8_t code);
360 #if FABGLIB_HAS_VirtualKeyO_STRING 361 static char const * virtualKeyToString(
VirtualKey virtualKey);
401 static void SCodeToVKConverterTask(
void * pvParameters);
404 bool m_keyboardAvailable;
407 TaskHandle_t m_SCodeToVKConverterTask;
408 QueueHandle_t m_virtualKeyQueue;
410 uint8_t m_VKMap[(int)(VK_LAST + 7) / 8];
415 uint8_t m_scancodeSet;
435 bool m_scrollLockLED;
437 CodePage
const * m_codepage;
void injectVirtualKey(VirtualKey virtualKey, bool keyDown, bool insert=false)
Adds or inserts a virtual key into the virtual keys queue.
All in one structure to fully represent a keyboard layout.
bool isKeyboardAvailable()
Checks if keyboard has been detected and correctly initialized.
Represents the whole application base class.
This file contains all classes related to FabGL Graphical User Interface.
int virtualKeyToASCII(VirtualKey virtualKey)
Converts virtual key to ASCII.
void setUIApp(uiApp *app)
Sets current UI app.
void emptyVirtualKeyQueue()
Empties the virtual keys queue.
This file contains keyboard layouts.
Delegate< VirtualKey *, bool > onVirtualKey
Delegate called whenever a new virtual key is decoded from scancodes.
void setCodePage(CodePage const *codepage)
Sets font codepage for virtual key to ASCII conversion.
void getLEDs(bool *numLock, bool *capsLock, bool *scrollLock)
Gets keyboard LEDs status.
bool isVKDown(VirtualKey virtualKey)
Gets the virtual keys status.
The PS2 Keyboard controller class.
A struct which contains a virtual key, key state and associated scan code.
VirtualKey
Represents each possible real or derived (SHIFT + real) key.
bool setLEDs(bool numLock, bool capsLock, bool scrollLock)
Sets keyboard LEDs status.
This file contains codepages declarations.
void begin(gpio_num_t clkGPIO, gpio_num_t dataGPIO, bool generateVirtualKeys=true, bool createVKQueue=true)
Initializes Keyboard specifying CLOCK and DATA GPIOs.
VirtualKey getNextVirtualKey(bool *keyDown=nullptr, int timeOutMS=-1)
Gets a virtual key from the queue.
int virtualKeyAvailable()
Gets the number of virtual keys available in the queue.
Base class for PS2 devices (like mouse or keyboard).
This file contains FabGL library configuration settings, like number of supported colors...
bool reset()
Sends a Reset command to the keyboard.
int getNextScancode(int timeOutMS=-1, bool requestResendOnTimeOut=false)
Gets a scancode from the queue.
int scancodeAvailable()
Gets the number of scancodes available in the queue.
static int scancodeToVirtualKeyTaskStackSize
Stack size of the task that converts scancodes to Virtual Keys Keyboard.
bool setTypematicRateAndDelay(int repeatRateMS, int repeatDelayMS)
Sets typematic rate and delay.
int scancodeSet()
Gets current scancode set.
bool setScancodeSet(int value)
Sets the scancode set.
void setLayout(KeyboardLayout const *layout)
Sets keyboard layout.
KeyboardLayout const * getLayout()
Gets current keyboard layout.
This file contains fabgl::PS2Device definition.