aiie/teensy/teensy-keyboard.h

42 lines
826 B
C
Raw Normal View History

2017-02-20 18:55:16 +00:00
#ifndef __TEENSY_KEYBOARD_H
#define __TEENSY_KEYBOARD_H
#include "physicalkeyboard.h"
class TeensyKeyboard : public PhysicalKeyboard {
public:
TeensyKeyboard(VMKeyboard *k);
virtual ~TeensyKeyboard();
// Interface used by the VM...
virtual void maintainKeyboard();
// Interface used by the BIOS...
virtual bool kbhit();
virtual int8_t read();
2017-02-20 18:55:16 +00:00
public:
// These are only public b/c teensy.ino (not a class) needs them.
2017-02-20 18:55:16 +00:00
void pressedKey(uint8_t key);
void releasedKey(uint8_t key);
2021-01-20 01:42:15 +00:00
private:
bool addEvent(uint8_t kc, bool pressed);
bool popEvent(uint8_t *kc, bool *pressed);
2022-01-07 17:24:07 +00:00
uint8_t modifyKeycode(uint8_t key);
2017-02-20 18:55:16 +00:00
private:
bool leftShiftPressed;
bool rightShiftPressed;
bool ctrlPressed;
bool capsLock;
bool leftApplePressed;
bool rightApplePressed;
int8_t numPressed;
};
#endif