reform

MNT Reform: Open Source Portable Computer
Log (Feed) | Files | Refs (Tags) | README

matrix_v.h (2800B)


      1 /*
      2   MNT Reform 2.0 Keyboard Firmware
      3   See keyboard.c for Copyright
      4   SPDX-License-Identifier: MIT
      5 */
      6 
      7 #include "keyboard.h"
      8 
      9 // Every line of `matrix` is a row of the keyboard, starting from the top.
     10 // Check keyboard.h for the definitions of the default rows.
     11 uint8_t matrix[KBD_MATRIX_SZ] = {
     12   MATRIX_DEFAULT_ROW_1,
     13   MATRIX_DEFAULT_ROW_2,
     14   MATRIX_DEFAULT_ROW_3,
     15   MATRIX_DEFAULT_ROW_4,
     16   MATRIX_DEFAULT_ROW_5,
     17 
     18   // Custom row six
     19   HID_KEYBOARD_SC_LEFT_CONTROL,
     20   HID_KEYBOARD_SC_LEFT_ALT,
     21   HID_KEYBOARD_SC_LEFT_GUI,
     22   KEY_SPACE,
     23   KEY_SPACE,
     24   KEY_SPACE,
     25   KEY_SPACE,
     26   HID_KEYBOARD_SC_RIGHT_ALT,
     27   HID_KEYBOARD_SC_EXECUTE,
     28   HID_KEYBOARD_SC_LEFT_ARROW,
     29   HID_KEYBOARD_SC_DOWN_ARROW,
     30   HID_KEYBOARD_SC_RIGHT_ARROW,
     31 
     32   // Marker for layout editor (FIXME)
     33   KBD_EDITOR_MARKER
     34 };
     35 
     36 // When holding down HYPER
     37 uint8_t matrix_fn[KBD_MATRIX_SZ] = {
     38   // Custom top row
     39   KEY_ESCAPE,
     40   HID_KEYBOARD_SC_MEDIA_BRIGHTNESS_DOWN,
     41   HID_KEYBOARD_SC_MEDIA_BRIGHTNESS_UP,
     42   KEY_F3,
     43   KEY_F4,
     44   KEY_F5,
     45   KEY_F6,
     46   HID_KEYBOARD_SC_MEDIA_PREVIOUS_TRACK,
     47   HID_KEYBOARD_SC_MEDIA_PLAY,
     48   HID_KEYBOARD_SC_MEDIA_NEXT_TRACK,
     49   HID_KEYBOARD_SC_MEDIA_MUTE,
     50   HID_KEYBOARD_SC_MEDIA_VOLUME_DOWN,
     51   HID_KEYBOARD_SC_MEDIA_VOLUME_UP,
     52   KEY_CIRCLE,
     53 
     54   MATRIX_DEFAULT_ROW_2,
     55   MATRIX_DEFAULT_ROW_3,
     56   MATRIX_DEFAULT_ROW_4,
     57 
     58   // Custom row 5
     59   HID_KEYBOARD_SC_LEFT_SHIFT,
     60   HID_KEYBOARD_SC_NON_US_BACKSLASH_AND_PIPE,
     61   KEY_Z,
     62   KEY_X,
     63   KEY_C,
     64   KEY_V,
     65   KEY_B,
     66   KEY_N,
     67   KEY_M,
     68   HID_KEYBOARD_SC_COMMA_AND_LESS_THAN_SIGN,
     69   HID_KEYBOARD_SC_DOT_AND_GREATER_THAN_SIGN,
     70   KEY_SLASH_AND_QUESTION_MARK,
     71   HID_KEYBOARD_SC_PAGE_UP,
     72   HID_KEYBOARD_SC_RIGHT_SHIFT,
     73 
     74   // Custom row 6
     75   HID_KEYBOARD_SC_LEFT_CONTROL,
     76   HID_KEYBOARD_SC_LEFT_ALT,
     77   HID_KEYBOARD_SC_LEFT_GUI,
     78   KEY_SPACE,
     79   KEY_SPACE,
     80   KEY_SPACE,
     81   KEY_SPACE,
     82   HID_KEYBOARD_SC_RIGHT_ALT,
     83   HID_KEYBOARD_SC_EXECUTE,
     84   HID_KEYBOARD_SC_HOME,
     85   HID_KEYBOARD_SC_PAGE_DOWN,
     86   HID_KEYBOARD_SC_END
     87 };
     88 
     89 // Second layer (toggled by HYPER+CIRCLE)
     90 uint8_t matrix_fn_toggled[KBD_MATRIX_SZ] = {
     91   // Custom top row
     92   KEY_ESCAPE,
     93   HID_KEYBOARD_SC_MEDIA_BRIGHTNESS_DOWN,
     94   HID_KEYBOARD_SC_MEDIA_BRIGHTNESS_UP,
     95   KEY_F3,
     96   KEY_F4,
     97   KEY_F5,
     98   KEY_F6,
     99   HID_KEYBOARD_SC_MEDIA_PREVIOUS_TRACK,
    100   HID_KEYBOARD_SC_MEDIA_PLAY,
    101   HID_KEYBOARD_SC_MEDIA_NEXT_TRACK,
    102   HID_KEYBOARD_SC_MEDIA_MUTE,
    103   HID_KEYBOARD_SC_MEDIA_VOLUME_DOWN,
    104   HID_KEYBOARD_SC_MEDIA_VOLUME_UP,
    105   KEY_CIRCLE,
    106 
    107   MATRIX_DEFAULT_ROW_2,
    108   MATRIX_DEFAULT_ROW_3,
    109   MATRIX_DEFAULT_ROW_4,
    110   MATRIX_DEFAULT_ROW_5,
    111 
    112   // Custom row six
    113   HID_KEYBOARD_SC_LEFT_CONTROL,
    114   HID_KEYBOARD_SC_LEFT_ALT,
    115   HID_KEYBOARD_SC_LEFT_GUI,
    116   KEY_SPACE,
    117   KEY_SPACE,
    118   KEY_SPACE,
    119   KEY_SPACE,
    120   HID_KEYBOARD_SC_RIGHT_ALT,
    121   HID_KEYBOARD_SC_EXECUTE,
    122   HID_KEYBOARD_SC_LEFT_ARROW,
    123   HID_KEYBOARD_SC_DOWN_ARROW,
    124   HID_KEYBOARD_SC_RIGHT_ARROW
    125 };