You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nathan
develop
master
keymap/jackhumbert
joystick_improvements
static_version
feature_supported
make_cli_parsing
refactor_process_record_kb_user
arm_split
autogen_usb_description
revert-7280-chibios_rgblight_sleep
subvendor_ids
subatomic_encoders
encoder_matrix
led_matrix_direct
better_chibios_wait
i18n_docs
fix/print_buffer_overflow
planck_thk
arm-dac-work
titmlb
planck-ez-a5-high
planck_ez_wdg
planck_ez_with_5372
arm_rgb
rgb7seg
peasy
clockworkpi
embedded
subatomic
unorthodox
qwiic_joystiic
automate_kc_prefix
qwiic_hud
matrix_update
peb
pragma_once
edez2
muon_light
qwiic_hub
muon_light_dc
keymap_folders
planck_light_rev2
internal/led_qa
l100
fywut
keycode_versioning
handwire
twi2c
xmega_support
audio_out
gb_port
info_json_populate
pjrc_hid
ps2avrgb
travis_phases
hid_api
sid
keyboards_json
keyboard_identifiers
pp_definitions
eeprom_update
b6_b7_audio
example_keyboards
preonic-1.0
planck-4.0
v4.0
preonic-2.0
planck-light-1.0
planck-6.1
planck-6.0
planck-5.0
planck-4.2
planck-4.1
gh60-0.1
ergodox_ez-161205
breakpoint_2020_02_29
breakpoint_2019_11_30
breakpoint_2019_08_30
LUFA-170418
LUFA-151115
LUFA-140928
LUFA-140302
LUFA-130901-BETA
LUFA-130901
LUFA-111009
0.9.9
0.9.8
0.9.7
0.9.6
0.9.59
0.9.58
0.9.57
0.9.56
0.9.55
0.9.54
0.9.53
0.9.52
0.9.51
0.9.50
0.9.5
0.9.49
0.9.48
0.9.47
0.9.46
0.9.45
0.9.44
0.9.43
0.9.42
0.9.41
0.9.40
0.9.4
0.9.39
0.9.38
0.9.37
0.9.36
0.9.35
0.9.34
0.9.33
0.9.32
0.9.31
0.9.30
0.9.3
0.9.29
0.9.28
0.9.27
0.9.26
0.9.25
0.9.24
0.9.23
0.9.22
0.9.21
0.9.20
0.9.2
0.9.19
0.9.18
0.9.17
0.9.16
0.9.15
0.9.14
0.9.13
0.9.12
0.9.11
0.9.10
0.9.1
0.9.0
0.8.99
0.8.98
0.8.97
0.8.96
0.8.95
0.8.94
0.8.93
0.8.92
0.8.91
0.8.90
0.8.9
0.8.89
0.8.88
0.8.87
0.8.86
0.8.85
0.8.84
0.8.83
0.8.82
0.8.81
0.8.80
0.8.8
0.8.79
0.8.78
0.8.77
0.8.76
0.8.75
0.8.74
0.8.73
0.8.72
0.8.71
0.8.70
0.8.7
0.8.69
0.8.68
0.8.67
0.8.66
0.8.65
0.8.64
0.8.63
0.8.62
0.8.61
0.8.60
0.8.6
0.8.59
0.8.58
0.8.57
0.8.56
0.8.55
0.8.54
0.8.53
0.8.52
0.8.51
0.8.50
0.8.5
0.8.49
0.8.48
0.8.47
0.8.46
0.8.45
0.8.44
0.8.43
0.8.42
0.8.41
0.8.40
0.8.4
0.8.39
0.8.38
0.8.37
0.8.36
0.8.35
0.8.34
0.8.33
0.8.32
0.8.31
0.8.30
0.8.3
0.8.29
0.8.28
0.8.27
0.8.26
0.8.25
0.8.24
0.8.23
0.8.22
0.8.21
0.8.20
0.8.2
0.8.192
0.8.191
0.8.190
0.8.19
0.8.189
0.8.188
0.8.187
0.8.186
0.8.185
0.8.184
0.8.183
0.8.182
0.8.181
0.8.180
0.8.18
0.8.179
0.8.178
0.8.177
0.8.176
0.8.175
0.8.174
0.8.173
0.8.172
0.8.171
0.8.170
0.8.17
0.8.169
0.8.168
0.8.167
0.8.166
0.8.165
0.8.164
0.8.163
0.8.162
0.8.161
0.8.160
0.8.16
0.8.159
0.8.158
0.8.157
0.8.156
0.8.155
0.8.154
0.8.153
0.8.152
0.8.151
0.8.150
0.8.15
0.8.149
0.8.148
0.8.147
0.8.146
0.8.145
0.8.144
0.8.143
0.8.142
0.8.141
0.8.140
0.8.14
0.8.139
0.8.138
0.8.137
0.8.136
0.8.135
0.8.134
0.8.133
0.8.132
0.8.131
0.8.130
0.8.13
0.8.129
0.8.128
0.8.127
0.8.126
0.8.125
0.8.124
0.8.123
0.8.122
0.8.121
0.8.120
0.8.12
0.8.119
0.8.118
0.8.117
0.8.116
0.8.115
0.8.114
0.8.113
0.8.112
0.8.111
0.8.110
0.8.11
0.8.109
0.8.108
0.8.107
0.8.106
0.8.105
0.8.104
0.8.103
0.8.102
0.8.101
0.8.100
0.8.10
0.8.1
0.8.0
0.7.99
0.7.98
0.7.97
0.7.96
0.7.95
0.7.94
0.7.93
0.7.92
0.7.91
0.7.90
0.7.9
0.7.89
0.7.88
0.7.87
0.7.86
0.7.85
0.7.84
0.7.83
0.7.82
0.7.81
0.7.80
0.7.8
0.7.79
0.7.78
0.7.77
0.7.76
0.7.75
0.7.74
0.7.73
0.7.72
0.7.71
0.7.70
0.7.7
0.7.69
0.7.68
0.7.67
0.7.66
0.7.65
0.7.64
0.7.63
0.7.62
0.7.61
0.7.60
0.7.6
0.7.59
0.7.58
0.7.57
0.7.56
0.7.55
0.7.54
0.7.53
0.7.52
0.7.51
0.7.50
0.7.5
0.7.49
0.7.48
0.7.47
0.7.46
0.7.45
0.7.44
0.7.43
0.7.42
0.7.41
0.7.40
0.7.4
0.7.39
0.7.38
0.7.37
0.7.36
0.7.35
0.7.34
0.7.33
0.7.32
0.7.31
0.7.30
0.7.3
0.7.29
0.7.28
0.7.27
0.7.26
0.7.25
0.7.24
0.7.23
0.7.22
0.7.21
0.7.20
0.7.2
0.7.19
0.7.18
0.7.172
0.7.171
0.7.170
0.7.17
0.7.169
0.7.168
0.7.167
0.7.166
0.7.165
0.7.164
0.7.163
0.7.162
0.7.161
0.7.160
0.7.16
0.7.159
0.7.158
0.7.157
0.7.156
0.7.155
0.7.154
0.7.153
0.7.152
0.7.151
0.7.150
0.7.15
0.7.149
0.7.148
0.7.147
0.7.146
0.7.145
0.7.144
0.7.143
0.7.142
0.7.141
0.7.140
0.7.14
0.7.139
0.7.138
0.7.137
0.7.136
0.7.135
0.7.134
0.7.133
0.7.132
0.7.131
0.7.130
0.7.13
0.7.129
0.7.128
0.7.127
0.7.126
0.7.125
0.7.124
0.7.123
0.7.122
0.7.121
0.7.120
0.7.12
0.7.119
0.7.118
0.7.117
0.7.116
0.7.115
0.7.114
0.7.113
0.7.112
0.7.111
0.7.110
0.7.11
0.7.109
0.7.108
0.7.107
0.7.106
0.7.105
0.7.104
0.7.103
0.7.102
0.7.101
0.7.100
0.7.10
0.7.1
0.7.0
0.6.99
0.6.98
0.6.97
0.6.96
0.6.95
0.6.94
0.6.93
0.6.92
0.6.91
0.6.90
0.6.9
0.6.89
0.6.88
0.6.87
0.6.86
0.6.85
0.6.84
0.6.83
0.6.82
0.6.81
0.6.80
0.6.8
0.6.79
0.6.78
0.6.77
0.6.76
0.6.75
0.6.74
0.6.73
0.6.72
0.6.71
0.6.70
0.6.7
0.6.69
0.6.68
0.6.67
0.6.66
0.6.65
0.6.64
0.6.63
0.6.62
0.6.61
0.6.60
0.6.6
0.6.59
0.6.58
0.6.57
0.6.56
0.6.55
0.6.54
0.6.53
0.6.52
0.6.51
0.6.50
0.6.5
0.6.49
0.6.48
0.6.47
0.6.463
0.6.462
0.6.461
0.6.460
0.6.46
0.6.459
0.6.458
0.6.457
0.6.456
0.6.455
0.6.454
0.6.453
0.6.452
0.6.451
0.6.450
0.6.45
0.6.449
0.6.448
0.6.447
0.6.446
0.6.445
0.6.444
0.6.443
0.6.442
0.6.441
0.6.440
0.6.44
0.6.439
0.6.438
0.6.437
0.6.436
0.6.435
0.6.434
0.6.433
0.6.432
0.6.431
0.6.430
0.6.43
0.6.429
0.6.428
0.6.427
0.6.426
0.6.425
0.6.424
0.6.423
0.6.422
0.6.421
0.6.420
0.6.42
0.6.419
0.6.418
0.6.417
0.6.416
0.6.415
0.6.414
0.6.413
0.6.412
0.6.41
0.6.406
0.6.405
0.6.404
0.6.403
0.6.402
0.6.401
0.6.400
0.6.40
0.6.4
0.6.399
0.6.398
0.6.397
0.6.396
0.6.395
0.6.394
0.6.393
0.6.392
0.6.391
0.6.390
0.6.39
0.6.389
0.6.388
0.6.387
0.6.386
0.6.385
0.6.384
0.6.383
0.6.382
0.6.381
0.6.380
0.6.38
0.6.379
0.6.378
0.6.377
0.6.376
0.6.375
0.6.374
0.6.373
0.6.372
0.6.371
0.6.370
0.6.37
0.6.369
0.6.368
0.6.367
0.6.366
0.6.365
0.6.364
0.6.363
0.6.362
0.6.361
0.6.360
0.6.36
0.6.359
0.6.358
0.6.357
0.6.356
0.6.355
0.6.354
0.6.353
0.6.352
0.6.351
0.6.350
0.6.35
0.6.349
0.6.348
0.6.347
0.6.346
0.6.345
0.6.344
0.6.343
0.6.342
0.6.341
0.6.340
0.6.34
0.6.339
0.6.338
0.6.337
0.6.336
0.6.335
0.6.334
0.6.333
0.6.332
0.6.331
0.6.330
0.6.33
0.6.329
0.6.328
0.6.327
0.6.326
0.6.325
0.6.324
0.6.323
0.6.322
0.6.321
0.6.320
0.6.32
0.6.319
0.6.318
0.6.317
0.6.316
0.6.315
0.6.314
0.6.313
0.6.312
0.6.311
0.6.310
0.6.31
0.6.309
0.6.308
0.6.307
0.6.306
0.6.305
0.6.304
0.6.303
0.6.302
0.6.301
0.6.300
0.6.30
0.6.3
0.6.299
0.6.298
0.6.297
0.6.296
0.6.295
0.6.294
0.6.293
0.6.292
0.6.291
0.6.290
0.6.29
0.6.289
0.6.288
0.6.287
0.6.286
0.6.285
0.6.284
0.6.283
0.6.282
0.6.281
0.6.280
0.6.28
0.6.279
0.6.278
0.6.277
0.6.276
0.6.275
0.6.274
0.6.273
0.6.272
0.6.271
0.6.270
0.6.27
0.6.269
0.6.268
0.6.267
0.6.266
0.6.265
0.6.264
0.6.263
0.6.262
0.6.261
0.6.260
0.6.26
0.6.259
0.6.258
0.6.257
0.6.256
0.6.255
0.6.254
0.6.253
0.6.252
0.6.251
0.6.250
0.6.25
0.6.249
0.6.248
0.6.247
0.6.246
0.6.245
0.6.244
0.6.243
0.6.242
0.6.241
0.6.240
0.6.24
0.6.239
0.6.238
0.6.237
0.6.236
0.6.235
0.6.234
0.6.233
0.6.232
0.6.231
0.6.230
0.6.23
0.6.229
0.6.228
0.6.227
0.6.226
0.6.225
0.6.224
0.6.223
0.6.222
0.6.221
0.6.220
0.6.22
0.6.219
0.6.218
0.6.217
0.6.216
0.6.215
0.6.214
0.6.213
0.6.212
0.6.211
0.6.210
0.6.21
0.6.209
0.6.208
0.6.207
0.6.206
0.6.205
0.6.204
0.6.203
0.6.202
0.6.201
0.6.200
0.6.20
0.6.2
0.6.199
0.6.198
0.6.197
0.6.196
0.6.195
0.6.194
0.6.193
0.6.192
0.6.191
0.6.190
0.6.19
0.6.189
0.6.188
0.6.187
0.6.186
0.6.185
0.6.184
0.6.183
0.6.182
0.6.181
0.6.180
0.6.18
0.6.179
0.6.178
0.6.177
0.6.176
0.6.175
0.6.174
0.6.173
0.6.172
0.6.171
0.6.170
0.6.17
0.6.169
0.6.168
0.6.167
0.6.166
0.6.165
0.6.164
0.6.163
0.6.162
0.6.161
0.6.160
0.6.16
0.6.159
0.6.158
0.6.157
0.6.156
0.6.155
0.6.154
0.6.153
0.6.152
0.6.151
0.6.150
0.6.15
0.6.149
0.6.148
0.6.147
0.6.146
0.6.145
0.6.144
0.6.143
0.6.142
0.6.141
0.6.140
0.6.14
0.6.139
0.6.138
0.6.137
0.6.136
0.6.135
0.6.134
0.6.133
0.6.132
0.6.131
0.6.130
0.6.13
0.6.129
0.6.128
0.6.127
0.6.126
0.6.125
0.6.124
0.6.123
0.6.122
0.6.121
0.6.120
0.6.12
0.6.119
0.6.118
0.6.117
0.6.116
0.6.115
0.6.114
0.6.113
0.6.112
0.6.111
0.6.110
0.6.11
0.6.109
0.6.108
0.6.107
0.6.106
0.6.105
0.6.104
0.6.103
0.6.102
0.6.101
0.6.100
0.6.10
0.6.1
0.6.0
0.5.99
0.5.98
0.5.97
0.5.96
0.5.95
0.5.94
0.5.93
0.5.92
0.5.91
0.5.90
0.5.9
0.5.89
0.5.88
0.5.87
0.5.86
0.5.85
0.5.84
0.5.83
0.5.82
0.5.81
0.5.80
0.5.8
0.5.79
0.5.78
0.5.77
0.5.76
0.5.75
0.5.74
0.5.73
0.5.72
0.5.71
0.5.70
0.5.7
0.5.69
0.5.68
0.5.67
0.5.66
0.5.65
0.5.64
0.5.63
0.5.62
0.5.61
0.5.60
0.5.6
0.5.59
0.5.58
0.5.57
0.5.56
0.5.55
0.5.54
0.5.53
0.5.52
0.5.51
0.5.50
0.5.5
0.5.49
0.5.48
0.5.47
0.5.46
0.5.45
0.5.44
0.5.43
0.5.42
0.5.41
0.5.40
0.5.4
0.5.39
0.5.38
0.5.37
0.5.36
0.5.35
0.5.34
0.5.33
0.5.32
0.5.31
0.5.30
0.5.3
0.5.29
0.5.28
0.5.27
0.5.264
0.5.263
0.5.262
0.5.261
0.5.260
0.5.26
0.5.259
0.5.258
0.5.257
0.5.256
0.5.255
0.5.254
0.5.253
0.5.252
0.5.251
0.5.250
0.5.25
0.5.249
0.5.248
0.5.247
0.5.246
0.5.245
0.5.244
0.5.243
0.5.242
0.5.241
0.5.240
0.5.24
0.5.239
0.5.238
0.5.237
0.5.236
0.5.235
0.5.234
0.5.233
0.5.232
0.5.231
0.5.230
0.5.23
0.5.229
0.5.228
0.5.227
0.5.226
0.5.225
0.5.224
0.5.223
0.5.222
0.5.221
0.5.220
0.5.22
0.5.219
0.5.218
0.5.217
0.5.216
0.5.215
0.5.214
0.5.213
0.5.212
0.5.211
0.5.210
0.5.21
0.5.209
0.5.208
0.5.207
0.5.206
0.5.205
0.5.204
0.5.203
0.5.202
0.5.201
0.5.200
0.5.20
0.5.2
0.5.199
0.5.198
0.5.197
0.5.196
0.5.195
0.5.194
0.5.193
0.5.192
0.5.191
0.5.190
0.5.189
0.5.188
0.5.187
0.5.186
0.5.185
0.5.184
0.5.183
0.5.182
0.5.181
0.5.180
0.5.179
0.5.178
0.5.177
0.5.176
0.5.175
0.5.174
0.5.173
0.5.172
0.5.171
0.5.170
0.5.17
0.5.169
0.5.168
0.5.167
0.5.166
0.5.165
0.5.164
0.5.163
0.5.162
0.5.161
0.5.160
0.5.16
0.5.159
0.5.158
0.5.157
0.5.156
0.5.155
0.5.154
0.5.153
0.5.152
0.5.151
0.5.150
0.5.15
0.5.149
0.5.148
0.5.147
0.5.146
0.5.145
0.5.144
0.5.143
0.5.142
0.5.141
0.5.140
0.5.14
0.5.139
0.5.138
0.5.137
0.5.136
0.5.135
0.5.134
0.5.133
0.5.132
0.5.131
0.5.130
0.5.13
0.5.129
0.5.128
0.5.127
0.5.126
0.5.125
0.5.124
0.5.123
0.5.122
0.5.121
0.5.120
0.5.12
0.5.119
0.5.118
0.5.117
0.5.116
0.5.115
0.5.114
0.5.113
0.5.112
0.5.111
0.5.110
0.5.11
0.5.109
0.5.108
0.5.107
0.5.106
0.5.105
0.5.104
0.5.103
0.5.102
0.5.101
0.5.100
0.5.10
0.5.1
0.5.0
0.10.9
0.10.8
0.10.7
0.10.6
0.10.5
0.10.4
0.10.3
0.10.24
0.10.23
0.10.22
0.10.21
0.10.20
0.10.2
0.10.19
0.10.18
0.10.17
0.10.16
0.10.15
0.10.14
0.10.13
0.10.12
0.10.11
0.10.10
0.10.1
0.10.0
${ noResults }
61 lines
1.7 KiB
C
61 lines
1.7 KiB
C
/*
|
|
Copyright 2011 Jun Wako <wakojun@gmail.com>
|
|
|
|
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 <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef MATRIX_H
|
|
#define MATRIX_H
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
|
|
#if (MATRIX_COLS <= 8)
|
|
typedef uint8_t matrix_row_t;
|
|
#elif (MATRIX_COLS <= 16)
|
|
typedef uint16_t matrix_row_t;
|
|
#elif (MATRIX_COLS <= 32)
|
|
typedef uint32_t matrix_row_t;
|
|
#else
|
|
#error "MATRIX_COLS: invalid value"
|
|
#endif
|
|
|
|
#define MATRIX_IS_ON(row, col) (matrix_get_row(row) && (1<<col))
|
|
|
|
|
|
/* number of matrix rows */
|
|
uint8_t matrix_rows(void);
|
|
/* number of matrix columns */
|
|
uint8_t matrix_cols(void);
|
|
/* intialize matrix for scaning. should be called once. */
|
|
void matrix_init(void);
|
|
/* scan all key states on matrix */
|
|
uint8_t matrix_scan(void);
|
|
/* whether modified from previous scan. used after matrix_scan. */
|
|
bool matrix_is_modified(void);
|
|
/* whether ghosting occur on matrix. */
|
|
bool matrix_has_ghost(void);
|
|
/* whether a swtich is on */
|
|
bool matrix_is_on(uint8_t row, uint8_t col);
|
|
/* matrix state on row */
|
|
matrix_row_t matrix_get_row(uint8_t row);
|
|
/* count keys pressed */
|
|
uint8_t matrix_key_count(void);
|
|
/* print matrix for debug */
|
|
void matrix_print(void);
|
|
|
|
|
|
#endif
|