Skip to content

Commit

Permalink
[Core] Process all changed keys in one scan loop, deprecate `QMK_KEYS…
Browse files Browse the repository at this point in the history
…_PER_SCAN` (#15292)
  • Loading branch information
KarlK90 authored Aug 6, 2022
1 parent e9f9f99 commit f27b617
Show file tree
Hide file tree
Showing 96 changed files with 86 additions and 603 deletions.
2 changes: 1 addition & 1 deletion data/mappings/info_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@
"VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex"},
"QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"},
"QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int"},
"QMK_LED": {"info_key": "qmk_lufa_bootloader.led"},
"QMK_SPEAKER": {"info_key": "qmk_lufa_bootloader.speaker"},
"SECURE_UNLOCK_SEQUENCE": {"info_key": "secure.unlock_sequence", "value_type": "array.array.int", "to_json": false},
Expand Down Expand Up @@ -114,4 +113,5 @@
"DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true},
"PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
"RGBLIGHT_ANIMATIONS": {"info_key": "rgblight.animations.all", "value_type": "bool", "deprecated": true},
"QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},
}
9 changes: 0 additions & 9 deletions docs/config_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,15 +182,6 @@ If you define these options you will enable the associated feature, which may in
* how long before oneshot times out
* `#define ONESHOT_TAP_TOGGLE 2`
* how many taps before oneshot toggle is triggered
* `#define QMK_KEYS_PER_SCAN 4`
* Allows sending more than one key per scan. By default, only one key event gets
sent via `process_record()` per scan. This has little impact on most typing, but
if you're doing a lot of chords, or your scan rate is slow to begin with, you can
have some delay in processing key events. Each press and release is a separate
event. For a keyboard with 1ms or so scan times, even a very fast typist isn't
going to produce the 500 keystrokes a second needed to actually get more than a
few ms of delay from this. But if you're doing chording on something with 3-4ms
scan times? You probably want this.
* `#define COMBO_COUNT 2`
* Set this to the number of combos that you're using in the [Combo](feature_combo.md) feature. Or leave it undefined and programmatically set the count.
* `#define COMBO_TERM 200`
Expand Down
2 changes: 0 additions & 2 deletions docs/ja/config_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,6 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
* ワンショットがタイムアウトするまでの時間
* `#define ONESHOT_TAP_TOGGLE 2`
* ワンショットトグルが引き起こされるまでのタップ数
* `#define QMK_KEYS_PER_SCAN 4`
* 走査ごとに1つ以上のキーを送信できるようにします。デフォルトでは、走査ごとに `process_record()` 経由で1つのキーイベントのみが送信されます。これはほとんどのタイピングにほとんど影響しませんが、多くのコードを入力しているか、走査レートが最初から遅い場合、キーイベントの処理に多少の遅延が生じる可能性があります。それぞれのプレスとリリースは別のイベントです。スキャン時間が 1ms 程度のキーボードの場合、とても高速なタイピストでさえ、実際にキーボードから数 ms 以上の遅延を発生させるのに必要な 500 キーストロークを1秒間に生成することはないでしょう。しかし、3~4ms の走査時間でコードを入力している場合はどうでしょうか?おそらくこれが必要です。
* `#define COMBO_COUNT 2`
* [コンボ](ja/feature_combo.md)機能で使っているコンボの数にこれを設定します。
* `#define COMBO_TERM 200`
Expand Down
2 changes: 0 additions & 2 deletions keyboards/40percentclub/gherkin/keymaps/stevexyz/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@
// how long before oneshot times out
#define ONESHOT_TAP_TOGGLE 2
// how many taps before oneshot toggle is triggered
#define QMK_KEYS_PER_SCAN 4
// Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
#define COMBO_COUNT 2
// Set this to the number of combos that you're using in the Combo feature.
#define COMBO_TERM 200
Expand Down
20 changes: 0 additions & 20 deletions keyboards/ai03/jp60/keymaps/default/config.h

This file was deleted.

20 changes: 0 additions & 20 deletions keyboards/ai03/jp60/keymaps/via/config.h

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/bioi/morgan65/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { E6, C6, F4, B2, D4 }
#define MATRIX_COL_PINS { F5, F6, F7, C7, B0, B7, B5, D5, B4, D7, D6, D1, D0, B3 }

//#define QMK_KEYS_PER_SCAN 4

/* Backlight Setup */
#define BACKLIGHT_PIN B6
#define BACKLIGHT_LEVELS 12
Expand Down
3 changes: 0 additions & 3 deletions keyboards/doio/kb16/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO

/* Larger keys per scan */
#define QMK_KEYS_PER_SCAN 12

/* Use the custom font */
#define OLED_FONT_H "lib/glcdfont.c"

Expand Down
2 changes: 0 additions & 2 deletions keyboards/dztech/dz60rgb/keymaps/kgreulich/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
#define TAP_HOLD_CAPS_DELAY 0
#define USB_POLLING_INTERVAL_MS 1

#define QMK_KEYS_PER_SCAN 4

// some speed shit
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
Expand Down
2 changes: 0 additions & 2 deletions keyboards/dztech/dz60rgb/keymaps/matthewrobo/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,6 @@
// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#define QMK_KEYS_PER_SCAN 4

// #define RGB_MATRIX_KEYRELEASES

// some speed shit
Expand Down
2 changes: 0 additions & 2 deletions keyboards/dztech/dz60rgb/keymaps/xunz/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@
// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#define QMK_KEYS_PER_SCAN 4

// #define RGB_MATRIX_KEYRELEASES

#define NO_ACTION_ONESHOT
Expand Down
2 changes: 0 additions & 2 deletions keyboards/dztech/dz65rgb/keymaps/matthewrobo/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@
// #undef ENABLE_RGB_MATRIX_SOLID_SPLASH
// #undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#define QMK_KEYS_PER_SCAN 4

// #define RGB_MATRIX_KEYRELEASES

// some speed shit
Expand Down
2 changes: 0 additions & 2 deletions keyboards/dztech/dz65rgb/keymaps/yuannan/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@
#define RGB_MATRIX_VAL_STEP 8
#define RGB_MATRIX_SPD_STEP 8

//#define QMK_KEYS_PER_SCAN 12nn

#define MOUSEKEY_DELAY 0
#define MOUSEKEY_INTERVAL 1
#define MOUSEKEY_MOVE_DELTA 1
Expand Down
2 changes: 0 additions & 2 deletions keyboards/ergodox_ez/keymaps/dvorak_42_key/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
// debounce settings
// remove these after getting a new keyboard
// #define DEBOUNCE 50
// #define QMK_KEYS_PER_SCAN 4


enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE, // can always be here
Expand Down
1 change: 0 additions & 1 deletion keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@

#define LEADER_TIMEOUT 1000
#define PERMISSIVE_HOLD
#define QMK_KEYS_PER_SCAN 4
#define DANCING_TERM 175

#define ONESHOT_TAP_TOGGLE 5
Expand Down
6 changes: 1 addition & 5 deletions keyboards/ergodox_ez/keymaps/rgb_layer/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,9 @@
#define KEYMAP_CONFIG_H


#define RGBLIGHT_SLEEP
#define RGBLIGHT_SLEEP


#ifndef QMK_KEYS_PER_SCAN
#define QMK_KEYS_PER_SCAN 4
#endif // !QMK_KEYS_PER_SCAN

#define IGNORE_MOD_TAP_INTERRUPT
#undef PERMISSIVE_HOLD

Expand Down
1 change: 0 additions & 1 deletion keyboards/ergodox_ez/keymaps/rmw/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

#define USB_MAX_POWER_CONSUMPTION 500

#define QMK_KEYS_PER_SCAN 4
/* Set 0 if debouncing isn't needed */
#undef DEBOUNCE
#define DEBOUNCE 5
Expand Down
2 changes: 0 additions & 2 deletions keyboards/eternal_keypad/keymaps/kyek/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,3 @@

#define ONESHOT_TIMEOUT 2000
#define FORCE_NKRO
#define USB_POLLING_INTERVAL_MS 1
#define QMK_KEYS_PER_SCAN 12
4 changes: 0 additions & 4 deletions keyboards/gmmk/gmmk2/p96/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,6 @@
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH


/* Send up to 4 key press events per scan */
#define QMK_KEYS_PER_SCAN 4

/* Set debounce time to 5ms */
#define DEBOUNCE 5

Expand Down
3 changes: 0 additions & 3 deletions keyboards/gmmk/pro/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,6 @@
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

/* Send up to 4 key press events per scan */
#define QMK_KEYS_PER_SCAN 4

/* Set debounce time to 5ms */
#define DEBOUNCE 5

Expand Down
3 changes: 0 additions & 3 deletions keyboards/gopolar/gg86/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO

/* Change larger keys per scan for elite gaming */
#define QMK_KEYS_PER_SCAN 12

/* Use the custom font */
#define OLED_FONT_H "lib/glcdfont.c"

Expand Down
2 changes: 1 addition & 1 deletion keyboards/handwired/marauder/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, B0 }
#define DIODE_DIRECTION COL2ROW
#define LAYER_STATE_8BIT
#define QMK_KEYS_PER_SCAN 12 // moar gaming code

#define RGB_DI_PIN D3
#ifdef RGB_DI_PIN
#define RGBLED_NUM 7
Expand Down
1 change: 0 additions & 1 deletion keyboards/handwired/xealous/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define DEBUG_MATRIX_SCAN_RATE //Use this to determine scan-rate.
#define FORCE_NKRO

#define QMK_KEYS_PER_SCAN 4 //if we press four keys simultaneously, lets process them simultaneously...
#define DIODE_DIRECTION COL2ROW


Expand Down
3 changes: 0 additions & 3 deletions keyboards/horrortroll/chinese_pcb/black_e65/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO

/* Change larger keys per scan for elite gaming */
#define QMK_KEYS_PER_SCAN 12

/* LED Indicator */
#define LED_CAPS_LOCK_PIN C7

Expand Down
3 changes: 0 additions & 3 deletions keyboards/horrortroll/chinese_pcb/devil68_pro/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO

/* Change larger keys per scan for elite gaming */
#define QMK_KEYS_PER_SCAN 12

#ifdef RGB_MATRIX_ENABLE
#define DRIVER_LED_TOTAL 86
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
Expand Down
3 changes: 0 additions & 3 deletions keyboards/horrortroll/handwired_k552/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO

/* Change larger keys per scan for elite gaming */
#define QMK_KEYS_PER_SCAN 12

/* EEPROM size */
#define EEPROM_PAGE_SIZE
#define FEE_PAGE_SIZE 0x800
Expand Down
3 changes: 0 additions & 3 deletions keyboards/horrortroll/lemon40/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@
/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO

/* Larger keys per scan */
#define QMK_KEYS_PER_SCAN 12

/* RGB light config */
#ifdef RGBLIGHT_ENABLE

Expand Down
3 changes: 0 additions & 3 deletions keyboards/horrortroll/paws60/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,3 @@

/* Forcing to use NKRO instead 6KRO */
#define FORCE_NKRO

/* Larger keys per scan */
#define QMK_KEYS_PER_SCAN 12
2 changes: 0 additions & 2 deletions keyboards/ianklug/grooveboard/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -142,5 +142,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0

#define QMK_KEYS_PER_SCAN 4
19 changes: 0 additions & 19 deletions keyboards/jadookb/jkb2/keymaps/via/config.h

This file was deleted.

19 changes: 0 additions & 19 deletions keyboards/jadookb/jkb65/keymaps/via/config.h

This file was deleted.

2 changes: 0 additions & 2 deletions keyboards/kbdfans/kbd67/mkiirgb/keymaps/dnsnrk/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
#pragma once

/* place overrides here */
#undef QMK_KEYS_PER_SCAN
#define QMK_KEYS_PER_SCAN 4
#undef DEBOUNCE
#define DEBOUNCE 8
#undef TAPPING_TOGGLE
Expand Down
3 changes: 0 additions & 3 deletions keyboards/kbdfans/kbd67/mkiirgb/keymaps/pascalpfeil/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@
/* 1000Hz USB polling */
#define USB_POLLING_INTERVAL_MS 1

/* Send up to 4 key press events per scan */
#define QMK_KEYS_PER_SCAN 4

/* Force NKRO on boot up */
#define FORCE_NKRO

Expand Down
4 changes: 0 additions & 4 deletions keyboards/keystonecaps/gameroyadvance/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE



#define QMK_KEYS_PER_SCAN 12

#define RGB_DI_PIN C7
#ifdef RGB_DI_PIN
#define RGBLIGHT_EFFECT_BREATHING
Expand Down
5 changes: 1 addition & 4 deletions keyboards/kprepublic/bm40hsrgb/keymaps/34keys/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
// Enable rapid switch from tap to hold, disables double tap hold auto-repeat.
#define TAPPING_FORCE_HOLD

// Recommended for heavy chording.
#define QMK_KEYS_PER_SCAN 4

// Mouse key speed and acceleration.
#undef MOUSEKEY_DELAY
#define MOUSEKEY_DELAY 0
Expand Down Expand Up @@ -56,4 +53,4 @@
# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
# undef RGB_MATRIX_STARTUP_MODE
// # define RGBLIGHT_HUE_STEP 20
#endif
#endif
3 changes: 0 additions & 3 deletions keyboards/kprepublic/bm40hsrgb/keymaps/gabustoledo/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@
#define AUTO_SHIFT_TIMEOUT TAPPING_TERM
#define AUTO_SHIFT_NO_SETUP

// Recommended for heavy chording.
#define QMK_KEYS_PER_SCAN 4

// Mouse key speed and acceleration.
#undef MOUSEKEY_DELAY
#define MOUSEKEY_DELAY 0
Expand Down
Loading

0 comments on commit f27b617

Please sign in to comment.