Tasos Sahanidis
ee8ca741c8
Update K95 platinum firmware to 3.29
2021-12-04 16:40:35 +02:00
Tasos Sahanidis
1c98bf9b2a
Fix GUI segfault on HW profile switch w/clean config
...
Closes #763
2021-11-19 18:23:29 +02:00
Tasos Sahanidis
1a73a0ea1d
Fix hacks for WL in handle_bragi_key_input
2021-11-09 01:34:05 +02:00
Tasos Sahanidis
36ee1cd1c5
Mark harpoon WL as wireless
2021-11-08 13:16:14 +02:00
Tasos Sahanidis
fbc028ac7e
Use monotonic clock in GUI
2021-11-08 02:57:48 +02:00
Tasos Sahanidis
71642287f2
Split legacy protocol commands to a separate file
2021-11-07 02:29:27 +02:00
Tasos Sahanidis
0c4ece6519
Don't use indices to identify tabs in GUI
2021-11-07 02:07:00 +02:00
Tasos Sahanidis
8f5e6cffd8
Add Legacy Lighting tab with instructions for K95
2021-11-07 01:16:22 +02:00
Tasos Sahanidis
de73302149
Add lighting programming button to K95 Legacy
2021-11-07 00:21:36 +02:00
Tasos Sahanidis
9faec7e00e
Add search for NULL keys in keymap
2021-11-06 23:51:31 +02:00
Tasos Sahanidis
5a279b7bb2
Move GUI save functionality to its own timer
...
This way we avoid issues with time changes
2021-11-06 21:06:56 +02:00
Tasos Sahanidis
f159ab6bf8
Copy vtable to usbdevice to allow patching
2021-11-05 19:44:54 +02:00
Tasos Sahanidis
4cd6626785
Bragi SW input is always 64 bytes
2021-10-28 04:29:51 +03:00
Tasos Sahanidis
1582047576
dev-detect: Get env vars as a normal user
2021-10-27 12:45:23 +03:00
Tasos Sahanidis
757b0e853d
Fix data race when accessing dongle children
2021-10-26 02:25:39 +03:00
Tasos Sahanidis
0ba38d8d83
Fix hangs in led thread due to race conditions
2021-10-26 01:59:49 +03:00
Tasos Sahanidis
d87bef94f5
Fix broken and duplicate key input regression
...
I forgot to ignore HW packets while in SW mode, both for bragi, and
all others.
2021-10-25 23:52:50 +03:00
Tasos Sahanidis
8565f8dcba
Add nightsword to USES_FILE_HWSAVE()
...
Closes issue #753
2021-10-25 16:44:24 +03:00
Tasos Sahanidis
933cf8d7c3
Add K57 WL dongle to daemon
2021-10-25 14:46:38 +03:00
Tasos Sahanidis
80122bda67
Split bragi keyboard input
...
This is needed to get SW key input in the K57 WL and possibly others
as unfortunately the header "01 02" in bragi means device 1
key input, but it just means "NKRO input" in NXP and legacy.
Perhaps the size check could be moved to the top, but there's no
reason to risk breaking older devices.
2021-10-25 14:31:34 +03:00
Tasos Sahanidis
3ae62f68c2
Remove macOS mention in readme heading
2021-10-25 02:44:20 +03:00
Tasos Sahanidis
fdff155617
Process wireless bragi input correctly
2021-10-25 01:44:29 +03:00
Tasos Sahanidis
35f77b20c5
Fix build
...
I forgot to rename the enum members during the rebase
2021-10-24 23:06:30 +03:00
Tasos Sahanidis
57e18edc26
Merge branch 'bragi-dongle-hack'
...
It's no longer a hack since the connection status enum was added.
2021-10-24 22:47:08 +03:00
Tasos Sahanidis
32f7e2bae3
Properly init bragi dongle and probe for devices
2021-10-24 22:46:32 +03:00
Tasos Sahanidis
40c67631c4
Detect and ignore bragi notifications
...
This stops the cursor from moving to the right due to parsing the
notification events as input packets.
2021-10-08 09:43:35 +03:00
Tasos Sahanidis
4f419b144f
Properly fix harpoon wl wired key mapping
2021-10-08 09:33:54 +03:00
Tasos Sahanidis
3b2426c835
Fix harpoon wl wired left click
2021-10-08 08:55:51 +03:00
Tasos Sahanidis
193db5123b
Rewrite bragi mouse input to handle variable length
2021-10-07 15:48:40 +03:00
Tasos Sahanidis
cf364e9517
Add Harpoon WL wired scroll wheel hack
2021-10-07 14:26:08 +03:00
Tasos Sahanidis
d1183f27cc
Print endpoint in print_urb_buffer()
2021-10-02 10:26:45 +03:00
Tasos Sahanidis
783e3ebc01
Merge remote-tracking branch 'michaelni/katar_pro_xt'
...
Add support for Katar Pro XT
2021-10-02 02:09:43 +03:00
Tasos Sahanidis
ee38138f94
Add workaround for mice lacking scroll on SW pkt
2021-10-02 02:06:45 +03:00
Tasos Sahanidis
05512995c2
Fix K95 platinum XT NKRO
...
Packets are 21 bytes instead of 16
2021-09-30 12:50:39 +03:00
Tasos Sahanidis
16815035a1
Fix devices not showing as disconnected
2021-09-30 12:25:49 +03:00
Tasos Sahanidis
e896ba41b9
Fix rwin in hw mode bragi
2021-09-30 11:45:54 +03:00
Tasos Sahanidis
276be263fa
Rewrite bragi keyboard input handling
...
This should also fix the K95 Platinum XT numpad 7 and also add
support for ISO keyboards.
2021-09-30 11:02:20 +03:00
Tasos Sahanidis
c45878d6ed
Add K57 WL to daemon
...
Also, fix the rgb packets and keymap led offsets.
2021-09-30 10:50:31 +03:00
Tasos Sahanidis
e15ff771c9
Pick appropriate bragi EPs at runtime
2021-09-27 02:48:38 +03:00
Tasos Sahanidis
5f6bc8ad4b
Use -O3 by default
2021-09-26 13:23:12 +03:00
Tasos Sahanidis
bf29e2ef2c
Replace IS_CONNECTED with proper state tracking
2021-09-26 12:51:06 +03:00
Tasos Sahanidis
dc04037a6e
Merge remote-tracking branch 'ckb-next-ndowens/master'
2021-09-21 18:56:23 +03:00
Tasos Sahanidis
dc4dc54c5e
Don't enable unneeded axes in mouse device
...
Specifically, we used to enable HI_RES wheel events without ever
sending any. This breaks scrolling in latest libinput as it expects
us to actually send HI_RES events.
2021-09-20 14:48:18 +03:00
Tasos Sahanidis
43fa97c1b2
Properly implement bragi mouse RGB
2021-08-24 16:20:03 +03:00
Tasos Sahanidis
ae0b1ddb7d
Change default tab to lighting in GUI
2021-08-20 02:44:30 +03:00
Tasos Sahanidis
3133b96a1f
Force 0x4 EP out on bragi
2021-08-20 02:42:08 +03:00
Tasos Sahanidis
899a051148
Add basic support for wireless Harpoon
2021-08-20 02:34:50 +03:00
Tasos Sahanidis
0d38a43754
Clean up GUI notify Kb destructor
2021-08-20 02:10:29 +03:00
Tasos Sahanidis
95e81c3d7f
Don't call terminate in GUI unless necessary
2021-08-20 01:42:42 +03:00
Tasos Sahanidis
56367e00b1
Fix infinite loop when unable to read wMaxPacketSize
2021-08-19 23:08:25 +03:00
Tasos Sahanidis
1e61686f60
Add support for bragi battery reading
...
Also clean up the GUI battery code.
2021-08-08 19:02:47 +03:00
Tasos Sahanidis
cafb5435e0
Properly parse the features string in the GUI
2021-08-07 14:18:59 +03:00
Tasos Sahanidis
3a57b1e8ed
Add initial bragi dongle support
2021-08-07 14:09:31 +03:00
Tasos Sahanidis
443c240853
Fix bragi write to handle mouse offset
2021-08-07 09:22:12 +03:00
Tasos Sahanidis
11359270da
Add support for bragi jumbo packets
2021-08-06 08:02:37 +03:00
Tasos Sahanidis
6e3b7ff424
Warn about unused functions only in debug builds
2021-08-05 01:46:33 +03:00
Tasos Sahanidis
4271f0f065
Statically allocate keymap and interrupt buffer
2021-08-02 00:27:52 +03:00
Tasos Sahanidis
03d683cfe4
Don't error on duplicate scancodes in rgb RRGGBB
2021-07-17 22:33:38 +03:00
Tasos Sahanidis
7a615a2bee
Don't spam rgb commands to daemon with lights off
2021-07-17 22:18:01 +03:00
Tasos Sahanidis
3f136e9617
Add new pipe section to README
2021-07-17 14:29:58 +03:00
Tasos Sahanidis
c2c12fc981
Fix cmake reconfiguration with quazip 1
2021-07-16 17:43:52 +03:00
Tasos Sahanidis
941ff7dc89
Fix K95 Platinum topbar
...
Some LEDs would get overwritten as they accidentally shared
scancodes with the mouse dpi LEDs.
Closes #438
2021-07-15 20:38:33 +03:00
Tasos Sahanidis
82b0174784
Rename DEBUG to ANIM_DEBUG for animations
2021-07-15 20:35:00 +03:00
Tasos Sahanidis
51c858c2bd
Implement LED scancode overwrite detection
...
There are some nasty bugs created by scancodes that are duplicated
since the GUI might set leds for keys that do not exist in a given
device.
2021-07-15 20:34:28 +03:00
Tasos Sahanidis
9b59ae5c95
Merge remote-tracking branch 'olokos/master'
2021-07-04 03:33:38 +03:00
Tasos Sahanidis
a9186d9df7
Fix scroll wheel on Dark Core RGB Pro
2021-07-04 03:29:57 +03:00
Tasos Sahanidis
cba50cfe9a
Rework input to handle scroll wheels as axes
...
Additionally, mouse and keyboard events are now queued up and are
"flushed" when os_inputsync() is called.
2021-07-04 03:20:23 +03:00
Tasos Sahanidis
2c328fb318
Constify device-related variables
2021-06-30 00:40:01 +03:00
Tasos Sahanidis
2b824fde87
Show cpp warnings only under Debug
2021-06-28 12:51:23 +03:00
Tasos Sahanidis
7703e82c91
Merge branch 'new-devices-redux'
2021-06-27 23:29:03 +03:00
Tasos Sahanidis
7e2a725bb0
Remove VLAs
2021-06-22 23:24:25 +03:00
Tasos Sahanidis
142621fa64
Add experimental devices to macro
2021-06-21 01:55:42 +03:00
Tasos Sahanidis
6d4d334b2e
Add bragi led indicator hack
2021-06-21 01:51:14 +03:00
Tasos Sahanidis
aed4b75db1
Increase iProduct string descriptor len
2021-06-21 01:51:14 +03:00
Tasos Sahanidis
c3538f9dfe
Clear input when switching between modes
2021-06-21 01:51:14 +03:00
Tasos Sahanidis
26ff42b81e
Report the K95XT as a k95p to the gui
2021-06-21 01:51:14 +03:00
Tasos Sahanidis
f03f1f07b1
Add K95 XT Platinum LED mapping
...
Thanks to @dcat52 for mapping it out
2021-06-21 01:51:14 +03:00
Tasos Sahanidis
f0c775510b
Fix bragi rgb packet overwrite
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
73111a78e1
Remove duplicate bragi hid entries
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
f64879d7fc
Finally fix bragi hid
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
61d38d1ae1
Implement remaining bragi HID keys
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
f891061856
Implement bragi HID G keys
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
fe4868c230
Fix off by one in bragi hid again
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
c7e85f41e4
Rework bragi hid to account for extra bytes
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
37811ee240
Fix bragi HID off by one
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
6909d7a75c
Fix last bragi HID byte
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
88d9224c1e
Partly implement bragi keyboard HID
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
8b271a892d
Add K95P XT id properly
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
304560a12e
Add K95P XT id
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
54fa7755b1
Implement DPI and working RGB
2021-06-21 01:51:13 +03:00
Tasos Sahanidis
e4e2d0a3b2
Implement bragi hid input
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
66ed17a398
Open the lighting handle after we switch to SW mode
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
4dcebdf921
Bragi sends all packets via the input thread
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
6fd1d7efc3
Clean up bragi input handling
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
6fe0da1c4e
Make sure bragi devices are in HW mode during init
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
34f1e5f1a7
Fix bragi RGB
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
78dbe77ddb
Implement bragi pollrate and RGB
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
d4dbe11cae
Relock imutex if usbrecv fails to get battery info
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
8667410f6d
Only call rgbcmp for the dark core in dpi.c
2021-06-21 01:51:12 +03:00
Tasos Sahanidis
d9d003fe23
Add dark core se as a mouse
2021-06-21 01:31:24 +03:00