Commit Graph
1053 Commits
Author SHA1 Message Date
László Monda 7e524d97b1 Don't read (the default 250ms) DoubleTapSwitchLayerTimeout from the user configuration but rather set it to 150ms which feels quite optimal. 2018-03-05 10:16:58 +01:00
László Monda 2e53331a0f Set KEY_DEBOUNCER_TIMEOUT_MSEC to 30. This looks like a safe bet to eliminate key chattering for every switch. 2018-02-27 23:01:39 +01:00
László Monda 8666a495d8 Set KEY_DEBOUNCER_TIMEOUT_MSEC from 15 to 20 ms. 2018-02-17 21:37:02 +01:00
Kristian Sloth Lauszus 33bbf44199 Fix system keyboard descriptor, so it is byte-aligned (#93)
I have verified that the descriptor shows up correctly on Windows 7 and macOS

The descriptor is based on the two following pages: https://github.com/Microsoft/Windows-driver-samples/tree/master/hid/hidusbfx2 and https://docs.microsoft.com/en-us/windows-hardware/drivers/gpiobtn/hid-button-report-descriptors

Fixes #76
2018-02-14 00:27:53 +01:00
László Monda f8fd99f588 Set KEY_DEBOUNCER_TIMEOUT_MSEC from 10 to 15 msec. 2018-02-12 18:08:53 +01:00
Kristian Sloth Lauszus fa8c9dc907 Logical maximum is wrongly assumed to be an unsigned integer, thus 0xFF is interpreted as -1 and not 255 (#92)
Simply setting the number of bits to 16 solves this
2018-02-12 04:51:59 +01:00
László Monda 0911e67bf6 Fix the coding style of usb_interface_basic_keyboard.c 2018-02-11 22:28:12 +01:00
László Monda 57a7cee62a Remove debug statements from updateActiveUsbReports() 2018-02-11 22:25:29 +01:00
Kristian Sloth Lauszus 1af28a79db Detect Caps Lock state and set the LED accordingly (#91)
Fixes #65
2018-02-11 12:45:46 +01:00
László Monda 2c9a6c0bd2 Add doubleTapSwitchLayerReleaseTimeout and set it to 100ms. Resolves #79. 2018-02-11 04:09:15 +01:00
László Monda 0c94cbb256 Make doubleTapSwitchLayerKey and doubleTapSwitchLayerStartTime static. 2018-02-11 03:29:15 +01:00
László Monda 8a655e3cfd Lock layers every time when double-tapping their layer switcher keys. Fixes #81. 2018-02-10 23:53:35 +01:00
László Monda a0803875c4 Make UsbCommand_GetModuleProperty() branch based on modulePropertyId 2018-01-15 00:04:22 +01:00
László Monda f5716bdadc Rename some private functions in init_peripherals.c from upper to lower camel case. 2018-01-14 20:30:46 +01:00
László Monda b76b3c0e4f Slow down main bus I2C baud rate to 30kHz when BusPal is on to make firmware transfer more robust. 2018-01-14 20:27:17 +01:00
László Monda 2661c3d909 Implement DevicePropertyId_Uptime 2018-01-14 18:32:18 +01:00
László Monda c854e98d84 Implement DevicePropertyId_I2cMainBusBaudRate 2018-01-14 18:10:04 +01:00
László Monda 72d8e49717 Make UsbProtocolHandler() invoke UsbCommand_SetI2cBaudRate() when requested. 2018-01-13 19:54:48 +01:00
László Monda 0fd95b71b2 Add usb_command_set_i2c_baud_rate.[ch] 2018-01-13 03:54:06 +01:00
László Monda 4d83bc2e75 Add I2cMainBusBaudRateBps 2018-01-13 03:29:01 +01:00
László Monda cf7b05ab72 Make InitI2cMainBus() private. 2018-01-13 03:21:12 +01:00
László Monda 055f1945d0 Include slave_scheduler.h from init_peripherals.c instead of i2c_watchdog.c which I forgot to do in the previous commit. 2018-01-13 03:19:24 +01:00
László Monda fa4a3abf84 Extract ReinitI2cMainBus() 2018-01-13 03:14:42 +01:00
László Monda 96c7ccd758 Remove some dead code from PIT_I2C_WATCHDOG_HANDLER 2018-01-13 03:03:42 +01:00
László Monda 76d319ec19 Remove comment that says that 100 kHz works with a 20 meter long bridge cable. It was true for UART, not so much for I2C. 2018-01-11 23:44:59 +01:00
László Monda 4a4c471b9e Implement DevicePropertyId_CurrentKbootCommand 2018-01-10 02:58:31 +01:00
László Monda fcd75b2af2 Use identifiers instead of the magic numbers of kboot_driver.[ch] 2018-01-06 21:21:36 +01:00
László Monda f318c6872e Move the definition of previousSlave within the if (isFirstCycle) block. 2018-01-06 17:25:07 +01:00
László Monda ae1240c103 Rename isFirstIteration to isFirstCycle and kStatus_Uhk_NoTransfer to kStatus_Uhk_IdleCycle. 2018-01-06 17:05:37 +01:00
László Monda e75d366245 Update and log previous I2C status within the if (isFirstIteration) block. 2018-01-06 17:00:59 +01:00
László Monda da20cdacc4 Only check currentSlaveId overrun after incrementing it. 2018-01-06 16:36:57 +01:00
László Monda 5a986d367e Only call LogI2cError() if the passed status is an actual I2C error, otherwise it slows the mouse pointer down. 2018-01-06 02:04:47 +01:00
László Monda f6b66283a7 Only count I2C errors. 2018-01-06 01:37:58 +01:00
László Monda 6ad425cbf9 Log I2C error counts on a per slave and per error type basis and expose them via USB. 2018-01-05 03:23:48 +01:00
László Monda 33e501cd83 Add SLAVE_COUNT 2018-01-04 23:16:48 +01:00
László Monda fa558abef3 Add LED_DRIVERS_ENABLED 2017-12-28 00:08:29 +01:00
Erich Styger 5581dd26b5 fixed and enabled software watchdog timer 2017-12-24 12:06:46 +01:00
László Monda 1ac637af0f Rename the GetProperty command to GetDeviceProperty. 2017-12-23 16:11:47 +01:00
László Monda 36951d1a34 Minor cleanups regarding the previous rename. 2017-12-23 16:08:45 +01:00
László Monda 5190265a2c Rename get_module_properties.[ch] to get_module_property.[ch]. It seems that the header wasn't included in usb_protocol_handler.c possibly causing issues when using these commands. 2017-12-23 16:06:24 +01:00
László Monda 85e92d21b4 Add new UsbCommand_GetModuleProperties() device protocol command. 2017-12-15 02:46:30 +01:00
László Monda fd43e81e46 Query module key count and pointer count in separate messages instead of a combined message for better clarity. 2017-12-15 02:13:58 +01:00
László Monda c994a97d03 Make the modules transfer their firmware version to the device. Fix the message length of the module protocol version. 2017-12-15 01:42:58 +01:00
László Monda d59ba83d99 Make the modules transfer a module protocol version composed of a major, a minor and a patch number. 2017-12-15 01:28:13 +01:00
László Monda c1b887cea8 Rename UhkModulePhase_*ProtocolVersion to UhkModulePhase_*ModuleProtocolVersion. 2017-12-15 01:16:27 +01:00
László Monda bd53b73685 Rename usb_command_get_keyboard_state.[ch] to usb_command_get_device_state.[ch] 2017-12-14 23:10:13 +01:00
László Monda 83e782d74a Remove DevicePropertyId_HardwareConfigSize and DevicePropertyId_UserConfigSize 2017-12-14 21:49:15 +01:00
László Monda 312f56048b Add DevicePropertyId_ConfigSizes. 2017-12-14 16:40:44 +01:00
László Monda 494621a841 Expose version numbers via the get property interface. 2017-12-14 16:16:11 +01:00
László Monda 23459e3791 Don't make horizontal scrolling and vertical scrolling affect each other. 2017-12-14 01:30:06 +01:00