Tobias Diedrich
fef19b7759
Add FN-based mouse mode switch
...
When FN is held:
- Remap buttons to back/forward buttons
- Remap Y-axis as scroll and X-axis as pan
2022-01-23 22:40:26 +01:00
Tobias Diedrich
25354c4792
Always tickle watchdog in main loop
...
Otherwise during initial setup or wakeup, nothing may happen for long
enough to trigger a watchdog reset into the bootloader.
2022-01-23 16:51:51 +01:00
Tobias Diedrich
a264ecbc27
Add debug function for writing I2C data to trackpoint
2022-01-23 16:41:44 +01:00
Tobias Diedrich
e1c342b8e6
Add debug function for poking ram
2022-01-23 16:35:36 +01:00
Tobias Diedrich
cf89637148
Add built-in default settings
...
These are read on startup to set defaults for:
- debug UART (now defaults to disabled)
- FN/CTRL swap
- FN key row lock (FnLk)
2022-01-23 16:29:06 +01:00
Tobias Diedrich
fefede36ed
Enable trackpoint HID device
...
Wheel is declared, but not supported yet, otherwise seems to work :)
2022-01-23 15:07:27 +01:00
Tobias Diedrich
4270a2dfa5
Check for slave clock stretching
...
This indeed fixes the values read back:
80000000ff No buttons, no movement
80010000ff Left button
80050000ff Left+right buttons
80070000ff All buttons
800012fdff Force applied
80000fffff force applied
2022-01-22 23:50:42 +01:00
Tobias Diedrich
b3b5bb5c58
Add basic I2C support
...
Doesn't quite work yet, most likely the trackpoint interface is using
clock stretching.
Initial values read:
ff 01 ff fd ff
Later values read:
ff 80 ff e0 3f (no buttons pressed)
ff 80 ff e0 7f (left button pressed)
ff 80 ff e0 bf (right button pressed)
2022-01-22 23:37:11 +01:00
Tobias Diedrich
c8c8d47fa6
Add debug USB commands to read ram/flash/i2c
2022-01-22 23:36:02 +01:00
Tobias Diedrich
7c3b45ad94
Enable FnLock and FnCtrlSwap functionality
...
FN+ESC -> Toggle FnLock for F1-F12 row (suppresses ESC)
FN+RCTRL -> Toggle FnCtrlSwap (does not suppress RCTRL)
2022-01-16 22:21:15 +01:00
Tobias Diedrich
7b59505799
Add FN-key handling for F1-F3
...
Enables Mute/VolumeUp/VolumeDown
2022-01-16 21:58:00 +01:00
Tobias Diedrich
4b5b06dc13
Slightly extend README
2022-01-16 19:47:50 +01:00
Tobias Diedrich
6088742e91
Additional default requests
...
Adds support for:
- CLEAR/SET FEATURE (ignored)
- GET_CONFIGURATION (always returns 1 since there is only a single config)
- GET_INTERFACE (always returns 0 since there are not altsettings)
2022-01-16 19:29:35 +01:00
Tobias Diedrich
9742b9f811
Basic SUSPEND/RESUME support
2022-01-16 19:28:11 +01:00
Tobias Diedrich
1f936f875b
HID keyboard basics working
...
Matrix is getting scanned and converted into boot-style HID interface.
Most keys are basically working.
However the enabled debug UART prevents use of the following keys:
DELETE PRINTSCREEN INSERT PAGEUP PAGEDOWN
as S15 is in fixed output mode and thus can't be sensed right now.
2022-01-15 23:10:47 +01:00
Tobias Diedrich
8a86e4bcba
Add FN key location to matrix
2022-01-13 22:14:07 +01:00
Tobias Diedrich
0da158bf01
Add rudimentary key matrix scanning
2022-01-11 17:38:55 +01:00
Tobias Diedrich
df120a1c1c
Implement USB basics
...
This now manages to get detected as an HID keyboard by Linux, but does
not yet implement any keyboard scanning logic.
2022-01-10 20:56:08 +01:00
Tobias Diedrich
a62584b7a8
Add tentative USB descriptors
2021-12-21 11:54:02 +01:00
Tobias Diedrich
afc59d5d75
Add dispatch table helpers and test
2021-12-20 21:44:38 +01:00
Tobias Diedrich
0bf18ebf6f
Initial version
...
Tested:
- UART debug output works at 115200 baud (pad S15)
- Jumps to bootloader on watchdog timeout
- Jumps to bootloader when Return is held while plugging in USB
- Jumps to bootloader when UTX/URX lines are shorted
- Measured max GPIO toggling speed is 3MHz
2021-12-19 16:28:26 +01:00
ranma
8378645f00
Initial commit
2021-12-19 16:21:56 +01:00