Dependencies:   LCD_DISCO_F429ZI mbed TS_DISCO_F429ZI BSP_DISCO_F429ZI

Keyboard.cpp

Committer:
domino5740
Date:
2020-06-15
Revision:
0:b7f6cb529d74

File content as of revision 0:b7f6cb529d74:

#include "Keyboard.h"
#include "LCD_DISCO_F429ZI.h"
#include "TS_DISCO_F429ZI.h"

extern LCD_DISCO_F429ZI lcd;

Keyboard::Keyboard(unsigned char ucColumn) {
    ts.Init(lcd.GetXSize(), lcd.GetYSize());
    ucColXPos = ucColumn * 80;
    if(ucColXPos != 0) ucColXPos -= 1;
}

enum Read Keyboard::eRead() {
    ts.GetState(&TS_State);      
    if (TS_State.TouchDetected)
    {
        x = TS_State.X;
        y = TS_State.Y;     
        if(x >= ucColXPos && x <= (79 + ucColXPos)) {
            if(y <= 79)                  return BUTTON_0;
            else if(y > 79 && y <= 159)  return BUTTON_1;
            else if(y > 159 && y <= 239) return BUTTON_2;
            else if(y > 239 && y <= 319) return BUTTON_3;
        }
    }
    return NO_BUTTON;
}