Création button box et MFD

si vous connaissez les commandes et qu'elles sont attribuées "en dur" et si vous savez câblez vos boutons sous forme de matrice, le code est très simple.

on teste si une touche donnée est appuyée et si oui on balance la séquence associée

#include <Keypad.h>
#include <Keyboard.h>

const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup() {
  Keyboard.begin();
}

void loop() {
  char key = keypad.getKey();
  if (key == NO_KEY) return;

  bool pressed = true;

  switch (key) {
    case '1': Keyboard.press(KEY_F1); break;
    case '2': Keyboard.press(KEY_F2); break;
    case '3': Keyboard.press(KEY_F3); break;
    case '4': Keyboard.press(KEY_F4); break;
    case '5': Keyboard.press(KEY_F5); break;
    case '6': Keyboard.press(KEY_F6); break;
    case '7': Keyboard.press(KEY_F7); break;
    case '8': Keyboard.press(KEY_F8); break;
    case '9': Keyboard.press(KEY_F9); break;
    case '0': Keyboard.press(KEY_F10); break;
    case 'A': Keyboard.press(KEY_F11); break;
    case 'B': Keyboard.press(KEY_F12); break;
    case 'C': Keyboard.press(KEY_ESC); break;
    case 'D': Keyboard.press(KEY_LEFT_CTRL); Keyboard.press('z'); break;
    case '*': Keyboard.press(KEY_LEFT_CTRL); Keyboard.press(KEY_LEFT_SHIFT); Keyboard.press('p'); break;
    case '#': Keyboard.press(KEY_LEFT_CTRL); Keyboard.press('x'); break;
    default: pressed = false; break;
  }

  if (pressed) {
    delay(100);
    Keyboard.releaseAll();
  }
}

ici j'ai mis n'importe quoi comme commandes