X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fprocess_keycode%2Fprocess_combo.c;h=1addd72e5ade966e121e8243a2b77d58f4787e4b;hb=bc98b0d9eb5eb1a4df140ab6e2158904e5e100e5;hp=e2189ad98b3636a7be9c4011c228341a425bf015;hpb=4348fb54d6eb80e8d82c0724be647631bdd524d3;p=qmk_firmware.git diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index e2189ad98..1addd72e5 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -1,3 +1,19 @@ +/* Copyright 2016 Jack Humbert + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * 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 "process_combo.h" #include "print.h" @@ -111,8 +127,12 @@ bool process_combo(uint16_t keycode, keyrecord_t *record) void matrix_scan_combo(void) { for (int i = 0; i < COMBO_COUNT; ++i) { + // Do not treat the (weak) key_combos too strict. + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Warray-bounds" combo_t *combo = &key_combos[i]; - if (combo->timer && + #pragma GCC diagnostic pop + if (combo->timer && combo->timer != COMBO_TIMER_ELAPSED && timer_elapsed(combo->timer) > COMBO_TERM) {