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 }
![]() |
11 years ago | |
---|---|---|
.. | ||
Makefile | Make ps2_usart default and fix SpaceFN | 12 years ago |
Makefile.jis | Fix PS/2 protocol build options | 13 years ago |
Makefile.pjrc | Add new keymap file | 12 years ago |
Makefile.vusb | Fix BOOTLOADER_SIZE setting | 12 years ago |
README.md | Spellchecking converter README files. | 11 years ago |
config.h | Fix key stack and PS/2 Overrun | 12 years ago |
keymap_common.c | Add new keymap file | 12 years ago |
keymap_common.h | Add new keymap file | 12 years ago |
keymap_jis.c | Add SpaceFN keymap and JIS keymap | 12 years ago |
keymap_plain.c | Add SpaceFN keymap and JIS keymap | 12 years ago |
keymap_spacefn.c | Make ps2_usart default and fix SpaceFN | 12 years ago |
led.c | Made directories for keyboard and converter projects. | 13 years ago |
matrix.c | Fix key stack and PS/2 Overrun | 12 years ago |
usbconfig.h | Fix PS/2 protocol build options | 13 years ago |
README.md
PS/2 to USB keyboard converter
This firmware converts PS/2 keyboard protocol to USB and supports only Scan Code Set 2.
PS/2 signal handling implementations
Following three methods are used to implement PS/2 signal handling.
Simple and stupid busy-wait(ps2_busywait.c)
This is expected to implemented with portable C code for reference.
Interrupt driven(ps2_interrupt.c)
Uses pin interrupt to detect falling edge of clock line.
USART hardware module(ps2_usart.c)
Uses AVR USART engine to receive PS/2 signal.
To select method edit Makefile.
Connect Wires
In case of Teensy2.0(ATMega32U4):
- Connect Vcc and GND.
- Connect Clock and Data line.
- Busywait: Clock is on PD5 and Data on PD2.
- Interrupt: Clock is on PD1 and Data on PD2.
- USART: Clock is on PD5 and Data on PD2.
- Optionally you need pull-up register. 1K-10K Ohm is OK.
To change pin configuration edit config.h.
Build Firmware
Just run make
:
$ make
To select keymap:
$ make KEYMAP=[plain|jis|spacefn|...]
Keymap
Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named keymap_<name>.c
and see keymap document(you can find in top README.md) and existent keymap files.
V-USB Support
You can also use this converter on ATmega(168/328) with V-USB instead of Teensy. The converter on V-USB lacks some features for now: USB NKRO and System/Media control.
Circuit:
+---+ +---------------+
USB GND | | ATmega168 |
=== C3 | |
5V <-------+--------+---|Vcc,AVCC | PS/2
R1 | | ====
D- <----+--+-----R2-----|INT1 RXD|------->DATA
D+ <----|---+----R3-----|INT0 XCK|------->CLOCK
Z1 Z2 | | ->5V
GND<----+---+--+--+-----|GND | ->GND
| | | |
| C2-+--|XTAL1 |
| X1 | |
+--C3-+--|XTAL2 |
+---------------+
R1: 1.5K Ohm
R2,R3: 68 Ohm
Z1,Z2: Zenner 3.6V
C1,C2: 22pF
C3: 0.1uF
X1: Crystal 20MHz(16MHz/12MHz)