Archivé
1
0
Ce dépôt est archivé. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
keybrd/src/Key_LayeredCodeScBase.h

26 lignes
798 B
C
Brut Vue normale Historique

#ifndef KEY_LAYEREDCODESCBASE_H
#define KEY_LAYEREDCODESCBASE_H
2016-05-09 14:05:08 +00:00
#include <Arduino.h>
#include <inttypes.h>
#include "Code.h"
2016-09-20 01:46:03 +00:00
/* Class Key_LayeredCodeScBase is an abstract base class for 2-layer keys:
if layerId=0, send code0
if layerId=1, send scancode1
2016-05-09 14:05:08 +00:00
*/
class Key_LayeredCodeScBase : public Code
2016-05-09 14:05:08 +00:00
{
private:
Code& refCode0;
const uint16_t scancode1;
protected:
2016-09-20 01:46:03 +00:00
bool layerId; //active layer when key was pressed, 0 or 1
2016-05-09 14:05:08 +00:00
public:
2016-09-20 01:46:03 +00:00
Key_LayeredCodeScBase(Code& refCode0, const uint16_t scancode1, uint8_t layerId):
refCode0(refCode0), scancode1(scancode1), layerId(layerId) { }
2016-05-09 14:05:08 +00:00
virtual void press()=0;
virtual void release();
virtual void pressCode();
};
#endif