-
Notifications
You must be signed in to change notification settings - Fork 25
/
keyboardmodel.h
50 lines (40 loc) · 1.52 KB
/
keyboardmodel.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// -*- c++ -*-
#ifndef KEYBOARDMODEL_H
#define KEYBOARDMODEL_H
#include <QObject>
#include "program.h"
#include "trigger.h"
#include "layout.h"
class DeviceSession;
class KeyboardModel {
uint8_t mLayoutID;
uint8_t mMappingSize;
uint8_t mNumPrograms;
uint16_t mProgramSpaceRaw;
uint16_t mProgramSpace;
uint16_t mMacroIndexSize;
uint16_t mMacroStorageSize;
uint8_t mKeysPerTrigger;
QByteArray mDefaultMapping;
QList<Program> mPrograms;
QList<Trigger> mTriggers;
// not strictly part of the model, but useful for interpreting it
Layout mLayout;
QByteArray mMapping;
public:
KeyboardModel(DeviceSession *dev);
uint8_t getLayoutID() { return mLayoutID; }
uint8_t getMappingSize() { return mMappingSize; }
uint8_t getNumPrograms() { return mNumPrograms; }
uint16_t getProgramSpaceRaw() { return mProgramSpaceRaw; }
uint16_t getProgramSpace() { return mProgramSpace; }
uint16_t getMacroIndexSize() { return mMacroIndexSize; }
uint16_t getMacroStorageSize() { return mMacroStorageSize; }
uint8_t getKeysPerTrigger() { return mKeysPerTrigger; }
QByteArray getDefaultMapping() { return mDefaultMapping; }
QList<Program> * getPrograms() { return &mPrograms; }
QList<Trigger> * getTriggers() { return &mTriggers; }
const Layout* getLayout() { return &mLayout; }
QByteArray* getMapping() { return &mMapping; }
};
#endif