MinitelAsKeyboard.ino 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /**
  2. * Minitel library for Arduino (v0.1) / May 2013
  3. * http://github.com/01010101/Minitel
  4. *
  5. * By Jerome Saint-Clair aka 01010101
  6. * http://saint-clair.net
  7. *
  8. * For the Graffiti Research Lab France
  9. * http://graffitiresearchlab.fr
  10. *
  11. * Based on works by the Tetalab (Fabrice, Renaud, PG & Phil)
  12. * http://tetalab.org
  13. */
  14. /**
  15. * Use Fnct T + E to disable echo
  16. *
  17. */
  18. #include <SoftwareSerial.h>
  19. #include <Minitel.h>
  20. Minitel m(6,7);
  21. boolean input = true;
  22. char key = '^';
  23. boolean isMenu = false;
  24. void setup() {
  25. m.clearScreen();
  26. Serial.begin(1200);
  27. m.textMode();
  28. m.cursor();
  29. }
  30. void loop() {
  31. // Read key each 2 loops only
  32. if (input) {
  33. key = m.getKey();
  34. if (m.isMenuKey()) {
  35. isMenu = true;
  36. }
  37. }
  38. else {
  39. if (key != '^') {
  40. if (isMenu) {
  41. if (key == '3') { // Return
  42. m.moveCursorTo(HOME);
  43. m.moveCursor(DOWN,1);
  44. }
  45. else if (key == '6') { // Correction
  46. m.moveCursor(LEFT,1);
  47. m.textChar(' ');
  48. m.moveCursor(LEFT, 1);
  49. }
  50. else { // Clear screen
  51. m.clearScreen();
  52. }
  53. isMenu = false;
  54. }
  55. else { // Display char
  56. m.textChar(key);
  57. }
  58. }
  59. }
  60. input = !input;
  61. }