Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Core] Process all changed keys in one scan loop, deprecate QMK_KEYS_PER_SCAN #15292

Merged
merged 2 commits into from
Aug 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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