#include <bits/stdc++.h>
#include "matrix.h"
#include <Wire.h>;
#include <LiquidCrystal_I2C.h>;

using namespace std;

LiquidCrystal_I2C lcd(0x27, 20, 4);

// place of cursor
int cursorCol = -1;

void setup() {
  initPin();
  Serial.begin(115200);
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
}

void loop() {
  vector<String> pressed = checkMatrix();
  for (String i : pressed) {
    if (i == "<-" && cursorCol > -1) {
      lcd.setCursor(cursorCol, 0);
      lcd.print(" ");
      cursorCol--;
    }
    else {
      cursorCol++;
      lcd.setCursor(cursorCol, 0);
      lcd.print(i);
    }
  }
  Serial.println();
  delay(150);
}