X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tmk_core%2Fcommon%2Fkeyboard.c;h=9466e10e2d412d1b4f50aa966a33093a3dc10f2c;hb=72e99391439c1d8abd0aed112b06982b94be03c6;hp=371d93f3e59b755130b5afdb7fc8428e879d8bf9;hpb=af119baf710c0b19cfe3351e3f3e89ddeeaacdf6;p=qmk_firmware.git diff --git a/tmk_core/common/keyboard.c b/tmk_core/common/keyboard.c index 371d93f3e..9466e10e2 100644 --- a/tmk_core/common/keyboard.c +++ b/tmk_core/common/keyboard.c @@ -14,6 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ + #include #include "keyboard.h" #include "matrix.h" @@ -50,6 +51,12 @@ along with this program. If not, see . #ifdef RGBLIGHT_ENABLE # include "rgblight.h" #endif +#ifdef STENO_ENABLE +# include "process_steno.h" +#endif +#ifdef FAUXCLICKY_ENABLE +# include "fauxclicky.h" +#endif #ifdef SERIAL_LINK_ENABLE # include "serial_link/system/serial_link.h" #endif @@ -57,23 +64,51 @@ along with this program. If not, see . # include "visualizer/visualizer.h" #endif +#ifdef MATRIX_HAS_GHOST +extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS]; +static matrix_row_t get_real_keys(uint8_t row, matrix_row_t rowdata){ + matrix_row_t out = 0; + for (uint8_t col = 0; col < MATRIX_COLS; col++) { + //read each key in the row data and check if the keymap defines it as a real key + if (pgm_read_byte(&keymaps[0][row][col]) && (rowdata & (1<