68 Commits

Author SHA1 Message Date
Daniel Schaefer
c39ea59510 Revert "fl16: Keep keyboard out of suspend at least 30s"
This reverts commit f449ecc07401a1c794394ea4c867597ff5daaf40.
2023-11-24 14:43:01 +08:00
Daniel Schaefer
1e7fc086a1 fl16: Allow next/prev effect keys to turn RGB on
If using VIA the backlight was set to effect 0, the only way to turn it
back on is using VIA or the RGB toggle key. But the user would expect
the next/prev animation key to also work.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-24 14:41:28 +08:00
Daniel Schaefer
2d03f0eabf fl16: Bump version to 0.2.7
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-21 16:11:29 +08:00
Daniel Schaefer
f449ecc074 fl16: Keep keyboard out of suspend at least 30s
With selective suspend windows likes to suspend the keyboard very
eagerly after 5 seconds without activity. So we send keyboard reports
every second for 25 seconds to keep it awake.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-21 16:10:53 +08:00
Daniel Schaefer
daa14d08fd fl16: Bump version to v0.2.6
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-18 01:08:42 +08:00
Daniel Schaefer
9a6c749a83 fl16: Bump to v0.2.5
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-17 19:11:13 +08:00
Daniel Schaefer
1e6896999f fl16: Don't turn off LEDs in USB suspend
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-17 19:04:24 +08:00
Daniel Schaefer
302011713d fl16: Make media keys default instead of F1-F12
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-17 18:49:22 +08:00
Daniel Schaefer
64d541cc0c fl16/macropad: Make numpad layout the default
And put RGB controls on the numlock layer.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-17 18:13:56 +08:00
Daniel Schaefer
dae3cbe572 fl16: Bump to v0.2.4
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-15 09:03:38 +08:00
Daniel Schaefer
771d183c1a fl16: Dynamic threshold
based on keys pressed in one row of the matrix

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-11-10 12:48:41 +08:00
Daniel Schaefer
ff5e181afd fl16: Enable higher pwm frequency on RGB keyboard
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-10-30 09:26:33 +08:00
Daniel Schaefer
f30e12adcf framework: Increase to 10 layers in VIA
Allow more flexibilty and some layers can't be used because they're
needed for FN and FN lock.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-10-26 13:57:06 +08:00
Daniel Schaefer
ae20af46ce fl16: Update version to 0.2.3
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-30 15:09:19 +08:00
Daniel Schaefer
b71e202389 fl16: Extend UEFI hotkey mode to all F keys
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-30 14:48:14 +08:00
Daniel Schaefer
bc80535a49 keyboards/framework/ansi: Move LEDs under artwork
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-30 14:48:14 +08:00
Daniel Schaefer
6ea4debb40 framework: Update debug to print voltage
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-30 14:48:13 +08:00
Daniel Schaefer
d7e315241c fixup! fl16/macropad: Add factory mode 2023-08-08 20:36:31 +08:00
Daniel Schaefer
a7e5bc820d fl16: Update to v0.2.2
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-08 20:35:43 +08:00
Daniel Schaefer
436a9cc02c fl16: Refactor factory mode
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-08 20:32:22 +08:00
Daniel Schaefer
ddfb8f4934 fl16/macropad: Add factory mode
Factory mode enables layer 2 which has a regular keycode mapped to every
key. This way the factory can easily test whether the keys are working
or not.
It can either be disabled again or it'll turn of itself when the
keyboard resets.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-08 20:21:32 +08:00
Daniel Schaefer
9c752c120e fl16: Fix white backlight not recovering after reset
If the backlight brightness was changed and the keyboard unplugged and
replugged, the lights would stay off. They should come back to the
previous value, which will happen automatically but the code would
override.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-07 19:42:18 +08:00
Daniel Schaefer
ca08e9373a fl16: Validate serial number with CRC32B checksum
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-07 19:42:18 +08:00
Daniel Schaefer
8093dfeb18 fl16: Increase EEPROM size and reserve last 4K sector
More space, more wear leveling and don't use sector that's reserved for
the serial number.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-08-07 19:42:18 +08:00
Daniel Schaefer
7c2001a515 fl16: Add advanced layout
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-21 16:21:25 +08:00
Daniel Schaefer
21fd6d199c fl16: Implement BIOS mode
When enabled, overrides whatever keyboard layout and always makes the
keys in the physical location of F2, F10 and F12 send the keycodes for
F2/F10/F12.
BIOS is supposed to enable this right after USB enumeration, so that the
BIOS hot keys always work, even if FN-lock is enabled or the user has
remapped their keyboard.
BIOS mode is exited either by the keyboard resetting or by sending the
disable message.

How to send:

1. Find USB devices with Framework VID 0x32AC
2. Filter by interface number == 0x01 and usage page == 0xFF60
3. Set HID report with the following body:

Enable:  0x00 0x0B 0x05 0x01 0xFE 0xFE ... pad the 32 byte buffer with 0xFE
Disable: 0x00 0x0B 0x05 0x00 0xFE 0xFE ... pad the 32 byte buffer with 0xFE
Where the first byte is the report ID 0x00

TODO:

- [ ] Test on ANSI keyboard
- [x] Test on ISO keyboard
- [ ] Test on JIS keyboard
- [ ] Add method to get current status

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-21 15:56:46 +08:00
Daniel Schaefer
4e2e213040 fixup! fl16: On sleep pin only turn off backlight 2023-07-21 15:49:14 +08:00
Daniel Schaefer
1de95cd8af fl16: Enable and force NKRO for all keyboards
Seems to work fine on our UEFI.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-21 15:13:59 +08:00
Daniel Schaefer
cf07d6f01f fl16: Add custom layout for Esther
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-21 15:12:35 +08:00
Daniel Schaefer
27f917f945 fl16: On sleep pin only turn off backlight
Other low power states should be handled perfectly fine by USB suspend,
since this is now fixed in chibios.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-21 10:09:22 +08:00
Daniel Schaefer
7c414248c5 fl16: Set RGB current limit to stay under 500mA
Also reduces noise even further.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-20 19:00:11 +08:00
Daniel Schaefer
c230a834cb fl16: Update to v0.2.1
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-20 14:01:28 +08:00
Daniel Schaefer
e1d4878627 fl16: Disable unused SW pins in RGB LED controller
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-20 13:43:10 +08:00
Daniel Schaefer
b49c27a492 fl16: Rename remaining gridpad files
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-14 15:42:29 +08:00
Daniel Schaefer
2f5d5d692d fl16: Fix activating virtual numlock layer
Would stay in base layer even when numlock was toggled.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-14 09:42:22 +08:00
Daniel Schaefer
db5b134239 fl16: Release 0.2.0
0.1.10 is not allowed as part of bcdDevice

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-14 09:32:10 +08:00
Daniel Schaefer
88736837b2 fl16: Release v0.1.10
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-13 23:49:51 +08:00
Daniel Schaefer
0bb3443cb5 fl16: Sync numlock with numlock layers
Otherwise we might get stuck in numlock disabled state and wouldn't be
able to type numbers anymore or get out of the mode.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-13 23:36:29 +08:00
Daniel Schaefer
d4005cf3c7 fl16: Change backlight PWM frequency to 24kHz
The default of 2048Hz causes loud audible noise.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-13 20:23:38 +08:00
Daniel Schaefer
c88903142d fl16: Save RGB brightness step level
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 09:56:06 +08:00
Daniel Schaefer
ad0354f638 fl16: Rename gridpad to macropad
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 04:44:44 +08:00
Daniel Schaefer
be3d3eed91 fl16: Add backlight step key to macropad
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 04:44:44 +08:00
Daniel Schaefer
fb43a39886 fl16: Fix missing up-arrow key on gridpad
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 04:26:51 +08:00
Daniel Schaefer
ed8cbb8975 fl16: Implement step brightness for RGB keyboards
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 04:25:55 +08:00
Daniel Schaefer
0f2f4fb052 fl16: Update to 0.1.9
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 03:42:44 +08:00
Daniel Schaefer
9a64719a95 fl16: Add useful default mapping for gridpad
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 03:04:24 +08:00
Daniel Schaefer
99457e8cc7 fl16: Add brightness control to numlock layer
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 02:21:03 +08:00
Daniel Schaefer
f2f4de1429 fl16: Implement virtual numlock
Benefits:

- We can put other useful functions on the unused keys

Drawbacks:

- The OS doesn't know when the user is in numlock mode

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 02:02:13 +08:00
Daniel Schaefer
7d36a7a868 fl16: Temporarily remove dynamic serialnumber reading
Causes slow enumeration and raw HID command interface.

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 01:46:46 +08:00
Daniel Schaefer
7efec62552 fl16: Update via design marketing names
Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-07-11 01:43:16 +08:00