Commit Graph
1326 Commits
Author SHA1 Message Date
László Monda f76780ec48 Make the parser parse mouse properties, LED brightness values, and double tap switch layer timeout. Rename pointer config properties. 2017-11-30 18:20:00 +01:00
László Monda b7e73b7b38 Clean up the debug lines of processMouseAction() 2017-11-28 22:45:51 +01:00
László Monda 7318175ce7 Tweak scroll kinetic properties. 2017-11-28 22:39:37 +01:00
László Monda 420078449d Finish the fine-tuning of default mouse movement kinetic settings. 2017-11-28 20:12:01 +01:00
László Monda dda3799877 Don't make the pointer jump when accelerating from zero while the decelerate key is pressed. 2017-11-28 19:10:13 +01:00
László Monda 712b87182a Double timer interval that wasn't right for an unknown reason. Adjust mouse kinetic values accordingly. Reprioritize interrupts to make mouse pointer movement as smooth as possible. 2017-11-28 18:52:39 +01:00
László Monda 46126e1e78 Tweak kinetic mouse values further. Temporarily maximize / minimize the acceleratedSpeed / deceleratedSpeed values for testing purposes. 2017-11-28 17:25:46 +01:00
László Monda 2ac9ca5d67 Make the initialSpeed, acceleration, deceleratedSpeed, baseSpeed, and acceleratedSpeed kinetic properties uint8_t and multiply them by intMultiplier to provide a fixed set of steps to choose from. 2017-11-28 03:23:09 +01:00
László Monda 729e0be0ad Make scrolling utilize mouse_kinetic_state_t, just like mouse movements. Fix scrolling issue by making distance float. Add new debug functions for ints and float. 2017-11-28 02:01:26 +01:00
László Monda 0867132ba3 Adjust the distance divisor from 10 to 1000 and other kinetic values accordingly. 2017-11-27 02:09:45 +01:00
László Monda 1b9273a5e5 Make processMouseKineticState() work with float x,y offsets to accumulate fractions. 2017-11-27 01:24:03 +01:00
László Monda ebbd74407d Extract code into processMouseKineticState() and add mouse_kinetic_state_t 2017-11-26 21:35:50 +01:00
László Monda 5df6220ab7 Slightly reorder mouse movement related variables. 2017-11-26 02:32:53 +01:00
László Monda 3d0993998c Add double tap switch layer timeout. 2017-11-26 01:05:36 +01:00
László Monda 071be7e815 Implement "hold and double tap" layer switch mode and temporarily treat every hold mode keys this way. 2017-11-26 00:23:50 +01:00
László Monda bb7faaa799 Make non-accelerated movements gradually accelerate from the start. Make all other movements and speed transitions immediate. 2017-11-24 22:49:39 +01:00
László Monda 368c724e6a Fix the stuck state of the decelerate key that triggered once it was pressed. 2017-11-24 17:39:45 +01:00
László Monda 210ef31f27 Implement mouse movement acceleration and deceleration. 2017-11-24 13:00:05 +01:00
László Monda 0cb3c7e0ad Implement horizontal scrolling. 2017-11-24 01:00:02 +01:00
László Monda ab7e25692a Use hex numbers as the values of UsbCommandId_* 2017-11-23 04:18:37 +01:00
László Monda b68e8a736e Make processMouseAction() handle acceleration and deceleration, even though I can't yet trigger these actions for some reason. 2017-11-23 01:54:54 +01:00
László Monda 4d211f0fe1 Reset mouseMoveCurrentSpeed when the mouse movement keys are no longer pressed, even if a mouse button key stays pressed due to drag and drop or selection purposes. 2017-11-22 02:34:37 +01:00
László Monda 8429ee2b71 Implement mouse acceleration. 2017-11-21 21:15:12 +01:00
László Monda 4bbc49f4ca Clean up processMouseAction() by using floats instead of divisor values. Move MouseSpeed_* into mouse_speed_action_t 2017-11-21 19:01:59 +01:00
László Monda 322ee0b35f Rename the misnamed MouseButton_t to MouseButton_6 2017-11-21 16:42:27 +01:00
László Monda 8252da86d8 Rename some files and identifiers that are related to USB commands. 2017-11-18 03:30:24 +01:00
László Monda 086ab239b4 Fix the previously introduced EEPROM read bug by making addressBuffer static. Rename EEPROM_ADDRESS_LENGTH to EEPROM_ADDRESS_SIZE. 2017-11-18 03:18:37 +01:00
László Monda a7ba0add18 Simplify eeprom.c 2017-11-18 03:11:17 +01:00
László Monda d2ef63184b Move updateUsbReports() from main.c to usb_report_updater.c and delete main.h 2017-11-17 01:21:30 +01:00
László Monda 6cf47565f9 Bump version to 3.0.0 and update the changelog. v3.0.0 3.0.0 2017-11-15 22:36:51 +01:00
László Monda 7f6f9e7094 Detect the use of USB interfaces by introducing IsUsb*ReportSent and compute areUsbReportsSent using them. 2017-11-15 16:54:34 +01:00
László Monda a0afdcf476 Implement key debouncer. 2017-11-14 22:54:53 +01:00
László Monda 9e18caa0ba Set the left KEY_SCANNER_INTERVAL_USEC to 1000 / KEYBOARD_MATRIX_ROWS_NUM 2017-11-14 13:08:01 +01:00
László Monda f63f2f9b96 Adding left/key_scanner.[ch] which I totally forgot. 2017-11-14 03:43:51 +01:00
László Monda 4c97238999 Even though the current code seems to be working fine, call KeyMatrix_Init() before InitKeyScanner() just to be sure. 2017-11-14 02:40:51 +01:00
László Monda 5c84620704 Call KeyMatrix_ScanRow() from an LPTMR interrupt for the left half. Remove KeyMatrix_Scan() 2017-11-14 02:29:18 +01:00
László Monda ae4d60882f Use interrupt based keyboard matrix scanning for the right keyboard half. Get rid of INTERRUPT_KEY_SCANNER 2017-11-13 02:18:55 +01:00
László Monda 332f2a69fa Set up the timer properly and introduce CurrentTime. 2017-11-12 17:33:23 +01:00
László Monda a91f945591 Add timer.[ch] 2017-11-12 04:48:06 +01:00
László Monda d0c689146e Remove unused counter variable. 2017-11-12 04:17:38 +01:00
László Monda 27e64adc33 Extract PIT related macros to the newly created peripherals/pit.h 2017-11-12 04:06:46 +01:00
László Monda 5da6510d7c Use the menu key in the factory keymap. 2017-11-12 01:50:01 +01:00
László Monda a4ddf1ff2a Uppercamelcase read*() config parser functions since they're not local. 2017-11-11 16:54:40 +01:00
László Monda 22141ba1e3 Replace {GET,SET}_USB_BUFFER_UINT8 with {Get,Set}UsbRxBufferUint8 2017-11-11 16:49:48 +01:00
László Monda f4de0df149 Replace SET_DEBUG_BUFFER_UINT* macros with SetDebugBufferUint* functions for improved type safety and readability. 2017-11-11 03:52:39 +01:00
László Monda 5c7a3faa9c Use buffer functions in eeprom.c for easier readability. 2017-11-11 03:41:03 +01:00
László Monda 80240c8e9b Add shared/buffer.[ch] for easily dealing with array values. 2017-11-11 03:40:06 +01:00
László Monda f45ebdde4f Comment that the EEPROM address has to be big-endian. 2017-11-11 01:15:27 +01:00
László Monda e3a121f0d8 Make pressing the reset button revert to the factory preset. 2017-11-10 23:42:45 +01:00
László Monda f927aef7f5 Put function curlies into their own line according to our coding standards all across the codebase. 2017-11-10 23:14:44 +01:00