László Monda
a8bde4e007
Add {GET,SET}_USB_BUFFER_UINT* and use them wherever possible. Get rid of SetUsb*() functions.
2017-11-05 22:09:34 +01:00
László Monda
58778feb5b
Move UsbStatusCode_JumpToSlaveBootloader_InvalidModuleDriverId to usb_command_jump_to_slave_bootloader.h
2017-11-05 19:33:08 +01:00
László Monda
d78ac1bcf0
Start USB command specific status codes from 2 since 0 and 1 are taken.
2017-11-05 19:28:40 +01:00
László Monda
6db3eb3045
Rename UsbResponse_*() to UsbStatusCode_*(), SetUsbError() to SetUsbStatusCode(), and other USB status codes consistently.
2017-11-05 19:25:13 +01:00
László Monda
eb451d6153
Set UsbResponse_InvalidCommand upon encountering with an invalid USB command.
2017-11-05 19:12:37 +01:00
László Monda
3f52819c0e
Move UsbDebugInfo into usb_command_get_debug_info.[ch] and remove external UsbDebugInfo references.
2017-11-05 19:07:12 +01:00
László Monda
ebd06ebbc6
Reorder includes according to USB command ids.
2017-11-05 19:02:24 +01:00
László Monda
8c42ec27dd
Remove the now unused UsbCommandId_WriteLedDriver
2017-11-05 18:13:57 +01:00
László Monda
6dcfcca10f
Remove unneeded includes and comments from usb_protocol_handler.c
2017-11-05 18:10:35 +01:00
László Monda
45420a348b
Extract UsbCommand_SetLedPwmBrightness() into its own file.
2017-11-05 18:08:35 +01:00
László Monda
84ffe50dac
Extract UsbCommand_GetAdcValue() to its own file.
2017-11-05 01:35:12 +01:00
László Monda
68f9aac883
Extract UsbCommand_SetTestLed() into its own file.
2017-11-05 01:28:15 +01:00
László Monda
d547b9b324
Remove UsbCommandId_ReadMergeSensor now that it can be queried via UsbCommandId_GetKeyboardState.
2017-11-05 01:21:23 +01:00
László Monda
e907e65751
Extract UsbCommand_Reenumerate() into its own file.
2017-11-05 01:18:37 +01:00
László Monda
fe74ea1578
Extract UsbCommand_GetDebugInfo() into its own file.
2017-11-04 10:46:04 +01:00
László Monda
67e304a787
Extract UsbCommand_GetKeyboardState() into its own file.
2017-11-04 10:30:37 +01:00
László Monda
4de340967c
Extract UsbCommand_LaunchEepromTransferLegacy() into its own file.
2017-11-04 10:06:55 +01:00
László Monda
54496ca210
Extract UsbCommand_WriteConfig()
2017-11-04 08:43:27 +01:00
László Monda
232f595b41
Extract UsbCommand_SendKbootCommand()
2017-11-04 08:38:19 +01:00
László Monda
8a255aaf5f
Extract UsbCommand_JumpToSlaveBootloader()
2017-11-04 08:32:54 +01:00
László Monda
ad4fe1a18d
Extract system properties to usb_command_get_property.c
2017-11-04 02:38:00 +01:00
László Monda
336c2e5368
Extract UsbCommand_ReadConfig() to usb_command_read_config.c. Rename Set{Response,Error}* to SetUsb{Response,Error}
2017-11-04 02:11:49 +01:00
László Monda
c0b41b8e60
Remove the ApplyConfig() prototype because it doesn't exist anymore.
2017-11-04 01:36:55 +01:00
László Monda
457f4802d4
Rename usb_command_t to usb_command_id_t and UsbCommand_* to UsbCommandId_*
2017-11-04 01:35:31 +01:00
László Monda
ae3efce452
Extract the applyConfig USB command into usb_command_apply_config.[ch]
2017-11-04 01:32:03 +01:00
László Monda
330a899625
Make the getAdcValue and getDebugInfo USB commands utilize the first byte of the response to provide status as dictated by the UHK protocol.
2017-11-04 01:02:19 +01:00
László Monda
e7f34dcdc6
Simplify code by utilizing type casing on uint8_t arrays.
2017-11-04 00:30:40 +01:00
László Monda
c2a1a94349
Switch keymap only upon keypress.
2017-11-03 22:39:18 +01:00
László Monda
35b8f0084b
Don't put a zero scancode into ActiveUsbBasicKeyboardReport->scancodes[basicScancodeIndex++]
2017-11-03 22:32:10 +01:00
László Monda
0688c1bdfc
Rename keymaps.[ch] to keymap.[ch]
2017-11-03 19:01:56 +01:00
László Monda
4072a0ea33
Rename Keymap_Switch() to SwitchKeymap()
2017-11-03 18:59:58 +01:00
László Monda
e169627cde
Move updateLayerStates() and getActiveLayer() into the newly created layer.c
2017-11-03 18:53:17 +01:00
László Monda
aeb325a09f
Being static variables, lowercamelcase HeldLayers and PressedLayers.
2017-11-03 18:43:26 +01:00
László Monda
0df7879358
Get rid of the unused PreviousToggledLayer.
2017-11-03 18:42:04 +01:00
László Monda
bbbecb8f87
Handle layer toggle actions.
2017-11-03 18:29:17 +01:00
László Monda
05bbd28877
Maintain the states of previous key states.
2017-11-03 13:43:16 +01:00
László Monda
b18cb651ce
Leave the active layer active even if another layer switcher key gets pressed while holding it.
2017-11-03 12:49:55 +01:00
László Monda
88fac5c1ff
Rename key_matrix_instance.[ch] to right_key_matrix.[ch]
2017-11-03 03:30:14 +01:00
László Monda
fe2e611bb1
Update KeyStates[SlotId_RightKeyboardHalf] within usb_report_updater.c instead of main.c
2017-11-03 03:22:56 +01:00
László Monda
599b78a676
Don't expose UpdateUsbReports() anymore.
2017-11-03 03:20:08 +01:00
László Monda
a0a162ae9e
Extend key states to include not only the current state but also the previous state and suppressed state.
2017-11-03 03:17:46 +01:00
László Monda
e0868ac866
Rename CurrentKeyStates to KeyStates and move it to the newly created key_states.[ch]
2017-11-03 02:46:34 +01:00
László Monda
31b7dddef4
Read the new UserConfig.userConfigLength field.
2017-11-02 23:10:22 +01:00
László Monda
ecf7f10b9c
Exchange Ctrl and Alt according to the official UHK default keymap.
2017-11-02 22:03:43 +01:00
László Monda
2aaef66d85
Convert LAYER_ID_* macros to LayerId_* enum values.
2017-11-02 21:48:30 +01:00
László Monda
00dfd96d55
Instead of scanning the keyboard matrix from the main loop and utilizing busy loops, try to use a PIT interrupt handler to do the same thing, scanning one row per interrupt call without busy loops.
...
For some reason, this makes the movement of the mouse pointer very slow and makes it jump from time to time, so I ended up adding INTERRUPT_KEY_SCANNER and disabling the timer interrupt.
Also double bufferred the mouse report just like the others. Unfortunately this does not affect this issue.
2017-11-02 01:11:41 +01:00
László Monda
ba5a49f7d1
Hoist {left,right}/build/kds/* to {left,right}/build to simplify the directory hierarchy.
2017-10-31 23:11:22 +01:00
László Monda
1d7790f74e
Generate .hex files instead of .srec for the right half firmware.
2017-10-29 22:27:47 +01:00
László Monda
808d916687
Clean up .cproject and .gitignore files after the rename of the build and run configurations.
2017-10-29 22:04:48 +01:00
László Monda
52bb02bc3d
Rename build and run configurations to reflect device ids.
2017-10-29 21:54:02 +01:00