master
forksand-xd87
future
future_unformatted
python_tests
qmk_clang_format
fix/oled_timeout
docs/rgb_matrix_startup
fix/print_buffer_overflow
planck_thk
vuepress
clueboard_2x1800_2019
future_ppdis_none
tweak_clang_format
enforce-clang-format
clang-format
arm-dac-work
titmlb
planck-ez-a5-high
planck_ez_wdg
planck_ez_with_5372
arm_rgb
rgb7seg
peasy
clueboard_66hs_arm
hf/docs_typo
clockworkpi
embedded
i18n
subatomic
unorthodox
touchpad
qwiic_joystiic
automate_kc_prefix
qwiic_hud
matrix_update
peb
clueboard_66hs
pragma_once
olkb-defaults
edez2
muon_light
qwiic_hub
muon_light_dc
keymap_folders
planck_light_rev2
internal/led_qa
l100
docsify_setup
fywut
keycode_versioning
readme-update
clueboard_hotswap
handwire
twi2c
arm_audio_fixes
xmega_support
audio_out
gb_port
clueboard_1
info_json_populate
pjrc_hid
subvendor_ids
stm32l476
ps2avrgb
travis_phases
dz_support
make_autocomplete
hid_api
clueboard_arm
sid
keyboards_json
keyboard_identifiers
pp_definitions
teensy_lc_synth
eeprom_update
process_keycode_update
b6_b7_audio
example_keyboards
preonic-1.0
planck-4.0
0.5.0
0.5.1
0.5.10
0.5.100
0.5.101
0.5.102
0.5.103
0.5.104
0.5.105
0.5.106
0.5.107
0.5.108
0.5.109
0.5.11
0.5.110
0.5.111
0.5.112
0.5.113
0.5.114
0.5.115
0.5.116
0.5.117
0.5.118
0.5.119
0.5.12
0.5.120
0.5.121
0.5.122
0.5.123
0.5.124
0.5.125
0.5.126
0.5.127
0.5.128
0.5.129
0.5.13
0.5.130
0.5.131
0.5.132
0.5.133
0.5.134
0.5.135
0.5.136
0.5.137
0.5.138
0.5.139
0.5.14
0.5.140
0.5.141
0.5.142
0.5.143
0.5.144
0.5.145
0.5.146
0.5.147
0.5.148
0.5.149
0.5.15
0.5.150
0.5.151
0.5.152
0.5.153
0.5.154
0.5.155
0.5.156
0.5.157
0.5.158
0.5.159
0.5.16
0.5.160
0.5.161
0.5.162
0.5.163
0.5.164
0.5.165
0.5.166
0.5.167
0.5.168
0.5.169
0.5.17
0.5.170
0.5.171
0.5.172
0.5.173
0.5.174
0.5.175
0.5.176
0.5.177
0.5.178
0.5.179
0.5.180
0.5.181
0.5.182
0.5.183
0.5.184
0.5.185
0.5.186
0.5.187
0.5.188
0.5.189
0.5.190
0.5.191
0.5.192
0.5.193
0.5.194
0.5.195
0.5.196
0.5.197
0.5.198
0.5.199
0.5.2
0.5.20
0.5.200
0.5.201
0.5.202
0.5.203
0.5.204
0.5.205
0.5.206
0.5.207
0.5.208
0.5.209
0.5.21
0.5.210
0.5.211
0.5.212
0.5.213
0.5.214
0.5.215
0.5.216
0.5.217
0.5.218
0.5.219
0.5.22
0.5.220
0.5.221
0.5.222
0.5.223
0.5.224
0.5.225
0.5.226
0.5.227
0.5.228
0.5.229
0.5.23
0.5.230
0.5.231
0.5.232
0.5.233
0.5.234
0.5.235
0.5.236
0.5.237
0.5.238
0.5.239
0.5.24
0.5.240
0.5.241
0.5.242
0.5.243
0.5.244
0.5.245
0.5.246
0.5.247
0.5.248
0.5.249
0.5.25
0.5.250
0.5.251
0.5.252
0.5.253
0.5.254
0.5.255
0.5.256
0.5.257
0.5.258
0.5.259
0.5.26
0.5.260
0.5.261
0.5.262
0.5.263
0.5.264
0.5.27
0.5.28
0.5.29
0.5.3
0.5.30
0.5.31
0.5.32
0.5.33
0.5.34
0.5.35
0.5.36
0.5.37
0.5.38
0.5.39
0.5.4
0.5.40
0.5.41
0.5.42
0.5.43
0.5.44
0.5.45
0.5.46
0.5.47
0.5.48
0.5.49
0.5.5
0.5.50
0.5.51
0.5.52
0.5.53
0.5.54
0.5.55
0.5.56
0.5.57
0.5.58
0.5.59
0.5.6
0.5.60
0.5.61
0.5.62
0.5.63
0.5.64
0.5.65
0.5.66
0.5.67
0.5.68
0.5.69
0.5.7
0.5.70
0.5.71
0.5.72
0.5.73
0.5.74
0.5.75
0.5.76
0.5.77
0.5.78
0.5.79
0.5.8
0.5.80
0.5.81
0.5.82
0.5.83
0.5.84
0.5.85
0.5.86
0.5.87
0.5.88
0.5.89
0.5.9
0.5.90
0.5.91
0.5.92
0.5.93
0.5.94
0.5.95
0.5.96
0.5.97
0.5.98
0.5.99
0.6.0
0.6.1
0.6.10
0.6.100
0.6.101
0.6.102
0.6.103
0.6.104
0.6.105
0.6.106
0.6.107
0.6.108
0.6.109
0.6.11
0.6.110
0.6.111
0.6.112
0.6.113
0.6.114
0.6.115
0.6.116
0.6.117
0.6.118
0.6.119
0.6.12
0.6.120
0.6.121
0.6.122
0.6.123
0.6.124
0.6.125
0.6.126
0.6.127
0.6.128
0.6.129
0.6.13
0.6.130
0.6.131
0.6.132
0.6.133
0.6.134
0.6.135
0.6.136
0.6.137
0.6.138
0.6.139
0.6.14
0.6.140
0.6.141
0.6.142
0.6.143
0.6.144
0.6.145
0.6.146
0.6.147
0.6.148
0.6.149
0.6.15
0.6.150
0.6.151
0.6.152
0.6.153
0.6.154
0.6.155
0.6.156
0.6.157
0.6.158
0.6.159
0.6.16
0.6.160
0.6.161
0.6.162
0.6.163
0.6.164
0.6.165
0.6.166
0.6.167
0.6.168
0.6.169
0.6.17
0.6.170
0.6.171
0.6.172
0.6.173
0.6.174
0.6.175
0.6.176
0.6.177
0.6.178
0.6.179
0.6.18
0.6.180
0.6.181
0.6.182
0.6.183
0.6.184
0.6.185
0.6.186
0.6.187
0.6.188
0.6.189
0.6.19
0.6.190
0.6.191
0.6.192
0.6.193
0.6.194
0.6.195
0.6.196
0.6.197
0.6.198
0.6.199
0.6.2
0.6.20
0.6.200
0.6.201
0.6.202
0.6.203
0.6.204
0.6.205
0.6.206
0.6.207
0.6.208
0.6.209
0.6.21
0.6.210
0.6.211
0.6.212
0.6.213
0.6.214
0.6.215
0.6.216
0.6.217
0.6.218
0.6.219
0.6.22
0.6.220
0.6.221
0.6.222
0.6.223
0.6.224
0.6.225
0.6.226
0.6.227
0.6.228
0.6.229
0.6.23
0.6.230
0.6.231
0.6.232
0.6.233
0.6.234
0.6.235
0.6.236
0.6.237
0.6.238
0.6.239
0.6.24
0.6.240
0.6.241
0.6.242
0.6.243
0.6.244
0.6.245
0.6.246
0.6.247
0.6.248
0.6.249
0.6.25
0.6.250
0.6.251
0.6.252
0.6.253
0.6.254
0.6.255
0.6.256
0.6.257
0.6.258
0.6.259
0.6.26
0.6.260
0.6.261
0.6.262
0.6.263
0.6.264
0.6.265
0.6.266
0.6.267
0.6.268
0.6.269
0.6.27
0.6.270
0.6.271
0.6.272
0.6.273
0.6.274
0.6.275
0.6.276
0.6.277
0.6.278
0.6.279
0.6.28
0.6.280
0.6.281
0.6.282
0.6.283
0.6.284
0.6.285
0.6.286
0.6.287
0.6.288
0.6.289
0.6.29
0.6.290
0.6.291
0.6.292
0.6.293
0.6.294
0.6.295
0.6.296
0.6.297
0.6.298
0.6.299
0.6.3
0.6.30
0.6.300
0.6.301
0.6.302
0.6.303
0.6.304
0.6.305
0.6.306
0.6.307
0.6.308
0.6.309
0.6.31
0.6.310
0.6.311
0.6.312
0.6.313
0.6.314
0.6.315
0.6.316
0.6.317
0.6.318
0.6.319
0.6.32
0.6.320
0.6.321
0.6.322
0.6.323
0.6.324
0.6.325
0.6.326
0.6.327
0.6.328
0.6.329
0.6.33
0.6.330
0.6.331
0.6.332
0.6.333
0.6.334
0.6.335
0.6.336
0.6.337
0.6.338
0.6.339
0.6.34
0.6.340
0.6.341
0.6.342
0.6.343
0.6.344
0.6.345
0.6.346
0.6.347
0.6.348
0.6.349
0.6.35
0.6.350
0.6.351
0.6.352
0.6.353
0.6.354
0.6.355
0.6.356
0.6.357
0.6.358
0.6.359
0.6.36
0.6.360
0.6.361
0.6.362
0.6.363
0.6.364
0.6.365
0.6.366
0.6.367
0.6.368
0.6.369
0.6.37
0.6.370
0.6.371
0.6.372
0.6.373
0.6.374
0.6.375
0.6.376
0.6.377
0.6.378
0.6.379
0.6.38
0.6.380
0.6.381
0.6.382
0.6.383
0.6.384
0.6.385
0.6.386
0.6.387
0.6.388
0.6.389
0.6.39
0.6.390
0.6.391
0.6.392
0.6.393
0.6.394
0.6.395
0.6.396
0.6.397
0.6.398
0.6.399
0.6.4
0.6.40
0.6.400
0.6.401
0.6.402
0.6.403
0.6.404
0.6.405
0.6.406
0.6.41
0.6.412
0.6.413
0.6.414
0.6.415
0.6.416
0.6.417
0.6.418
0.6.419
0.6.42
0.6.420
0.6.421
0.6.422
0.6.423
0.6.424
0.6.425
0.6.426
0.6.427
0.6.428
0.6.429
0.6.43
0.6.430
0.6.431
0.6.432
0.6.433
0.6.434
0.6.435
0.6.436
0.6.437
0.6.438
0.6.439
0.6.44
0.6.440
0.6.441
0.6.442
0.6.443
0.6.444
0.6.445
0.6.446
0.6.447
0.6.448
0.6.449
0.6.45
0.6.450
0.6.451
0.6.452
0.6.453
0.6.454
0.6.455
0.6.456
0.6.457
0.6.458
0.6.459
0.6.46
0.6.460
0.6.461
0.6.462
0.6.463
0.6.464
0.6.47
0.6.48
0.6.49
0.6.5
0.6.50
0.6.51
0.6.52
0.6.53
0.6.54
0.6.55
0.6.56
0.6.57
0.6.58
0.6.59
0.6.6
0.6.60
0.6.61
0.6.62
0.6.63
0.6.64
0.6.65
0.6.66
0.6.67
0.6.68
0.6.69
0.6.7
0.6.70
0.6.71
0.6.72
0.6.73
0.6.74
0.6.75
0.6.76
0.6.77
0.6.78
0.6.79
0.6.8
0.6.80
0.6.81
0.6.82
0.6.83
0.6.84
0.6.85
0.6.86
0.6.87
0.6.88
0.6.89
0.6.9
0.6.90
0.6.91
0.6.92
0.6.93
0.6.94
0.6.95
0.6.96
0.6.97
0.6.98
0.6.99
LUFA-111009
LUFA-130901
LUFA-130901-BETA
LUFA-140302
LUFA-140928
LUFA-151115
LUFA-170418
breakpoint_2019_08_30
ergodox_ez-161205
gh60-0.1
planck-4.1
planck-4.2
planck-5.0
planck-6.0
planck-6.1
planck-light-1.0
preonic-2.0
v4.0
${ noResults }
6 Commits (a9f88d121e44d00c2a1f935c397c984c9f2f96fe)
Author | SHA1 | Message | Date |
---|---|---|---|
Bob |
dc9736a806
|
Switch process_combo to using global register and timer (#2561)
Since combos keep local state about what keys have been previously pressed, when combos are layered, multiple keypresses will register for any key with multiple combos assigned to it. In order to fix this, I switched process_combo to use a global keycode / keyrecord register and timer. When a keypress is consumed by a combo, it gets stored in the register and the timer is updated; when the next keypress takes too long or a key is pressed that isn't part of any combo, the buffer is emitted and the timer reset. This has a few side effects. For instance, I couldn't _not_ fix combo keys printing out of order while also fixing this bug, so combo keys print in order correctly when a combo fails. since combos no longer have local timers, the logic around when combos time out has changed. now that there is a single timer pressing any combo key (including one in a different combo) will reset the timer for all combos, making combo entry a little more lenient. Since combos no longer have local keycode / keyrecord state, there is an edge case where incomplete combo keys can be consumed. if you have a combo for a+s = tab and a combo for b+n = space, if you press a+b+n, only a space will be emitted. This is because when b+n completes successfully, it drops the register. |
6 years ago |
Shihpin Tseng | 1950a145c7 |
Fix process_combo which assign -1 to uint16_t
|
6 years ago |
skullydazed | 23839b8c6d |
Clarify the quantum license (#1042)
* Clarify the license for files we have signoff on * Update against the currently signed off files * Remove unused and not clearly licensed headers * Replace an #endif I accidentally removed while resolving merge conflicts |
8 years ago |
Ofer Plesser | 6e7cfa83b9 |
Refactored as well as added support for action keys in combos
|
8 years ago |
Ofer Plesser | b6bf4e0dce |
Added support for timing out combos if a key as been pressed for longer than COMBO_TERM
|
8 years ago |
Ofer Plesser | eac8fa7999 |
Implemented basic key combination feature
|
8 years ago |