Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define LAYOUT_GERMAN
- #define ROW_MIN 4
- #define ROW_MAX 12
- #define COL_MIN 14
- #define COL_MAX 29
- #include "keylayouts.h"
- int keymap[9][16] = {
- KEY_ESC ,KEY_F1 ,KEY_F2 ,KEY_F3 ,KEY_F4 ,KEY_F5 ,KEY_F6 ,KEY_F7 ,KEY_F8 ,KEY_F9 ,KEY_F10 ,KEY_F11 ,KEY_F12 ,KEY_PRINTSCREEN ,KEY_SCROLL_LOCK ,KEY_PAUSE,
- 0 ,0 ,KEY_TILDE ,KEY_1 ,KEY_2 ,KEY_3 ,KEY_4 ,KEY_5 ,KEY_6 ,KEY_7 ,KEY_8 ,KEY_9 ,KEY_0 ,KEY_MINUS ,KEY_EQUAL ,0,
- 0 ,0 ,KEY_TAB ,KEY_Q ,KEY_W ,KEY_E ,KEY_R ,KEY_T ,KEY_Y ,KEY_U ,KEY_I ,KEY_O ,KEY_P ,KEY_LEFT_BRACE ,KEY_RIGHT_BRACE ,0,
- 0 ,0 ,KEY_CAPS_LOCK ,KEY_A ,KEY_S ,KEY_D ,KEY_F ,KEY_G ,KEY_H ,KEY_J ,KEY_K ,KEY_L ,KEY_SEMICOLON ,KEY_QUOTE ,KEY_NON_US_NUM ,KEY_ENTER,
- 0 ,0 ,MODIFIERKEY_SHIFT,KEY_NON_US_100 ,KEY_Z ,KEY_X ,KEY_C ,KEY_V ,KEY_B ,KEY_N ,KEY_M ,KEY_COMMA ,KEY_PERIOD ,KEY_SLASH ,0 ,MODIFIERKEY_RIGHT_SHIFT,
- 0 ,0 ,MODIFIERKEY_CTRL ,MODIFIERKEY_GUI,MODIFIERKEY_ALT,0 ,0 ,KEY_SPACE ,0 ,0 ,0 ,MODIFIERKEY_RIGHT_ALT,MODIFIERKEY_RIGHT_GUI,KEY_MENU ,MODIFIERKEY_RIGHT_CTRL,KEY_LEFT,
- KEY_BACKSPACE,KEY_INSERT,KEY_HOME ,KEY_PAGE_UP ,KEY_NUM_LOCK ,KEYPAD_SLASH,KEYPAD_ASTERIX,KEYPAD_PLUS,KEY_DELETE ,KEY_END ,KEY_PAGE_DOWN ,KEYPAD_7 ,KEYPAD_8 ,KEYPAD_9 ,KEYPAD_4 ,KEYPAD_5,
- KEY_RIGHT ,KEYPAD_0 ,KEYPAD_PERIOD ,KEYPAD_ENTER ,KEYPAD_1 ,KEYPAD_2 ,KEYPAD_6 ,KEYPAD_3 ,KEY_DOWN ,KEY_UP ,0 ,0 ,0 ,0 ,0 ,0,
- 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,KEY_MEDIA_VOLUME_DEC,KEY_MEDIA_VOLUME_INC,KEY_MEDIA_PLAY_PAUSE,KEY_MEDIA_STOP ,KEY_MEDIA_NEXT_TRACK ,KEY_MEDIA_PREV_TRACK,KEYPAD_MINUS ,KEY_MEDIA_MUTE
- };
- void setup() {
- Serial.begin(38400);
- while (!Serial) {;}
- Serial.println("Start");
- for (int r = ROW_MIN; r <= ROW_MAX; r++) {
- pinMode(r, OUTPUT);
- for (int c = COL_MIN; c <= COL_MAX; c++) {
- pinMode(c, INPUT_PULLUP);
- }
- }
- Serial.println(keymap[0][0]);
- Serial.println(KEY_ESC);
- }
- void loop() {
- for (int r = ROW_MIN; r <= ROW_MAX; r++) {
- digitalWrite(r, LOW);
- Serial.print(r-ROW_MIN);
- Serial.print(", ");
- Serial.println(analogRead(COL_MAX+1));
- digitalWrite(r, HIGH);
- }
- delay(1000);
- }
- void _loop() {
- for (int r = ROW_MIN; r <= ROW_MAX; r++) {
- digitalWrite(r, LOW);
- for (int c = COL_MIN; c <= COL_MAX; c++) {
- int code = keymap[r-ROW_MIN][c-COL_MIN];
- if (digitalRead(c) == LOW && code > 0) {
- Serial.print(r-ROW_MIN);
- Serial.print(", ");
- Serial.println(c-COL_MIN);
- //Keyboard.press(code);
- //Keyboard.release(code);
- }
- }
- digitalWrite(r, HIGH);
- }
- delay(20);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement