Commit Graph

53 Commits

Author SHA1 Message Date
László Monda
c06b06ed1b Make the secondary role work properly when a layer is set and when pressing the non-dual role key for long right after keeping the dual role key pressed. 2017-11-10 00:41:33 +01:00
László Monda
402697c0a3 Don't call applyKeyAction() when a secondary role is triggered because it'd output the scancode of the pressed key which is not the right thing when the secondary role is layer switching. 2017-11-09 22:26:44 +01:00
László Monda
4fa2304e4b Suppress pressed keys upon layer switcher key release. 2017-11-07 02:21:36 +01:00
László Monda
f6beeecec1 Make local variables static. 2017-11-07 01:37:46 +01:00
László Monda
e3d4eb50db Make secondary role layer switching work. 2017-11-07 00:30:40 +01:00
László Monda
31fa1a0d5e Don't make secondary role stuck when holding a layer switcher even after releasing the dual role key. 2017-11-07 00:00:02 +01:00
László Monda
693315222f Handle secondary role modifiers. 2017-11-06 18:11:05 +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
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
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
751810ec4c Explicitly add void to the argument list of zero argument functions. 2017-09-28 03:03:11 +02:00
László Monda
430c02f0ed Remove test actions and related code. 2017-08-19 13:32:02 +02:00
Eric Tang
ce84ac3e14 Implement part of the macro engine 2017-08-10 15:09:20 -07:00
Eric Tang
2621707206 Implement keymap switching 2017-08-08 12:10:26 -07:00
Eric Tang
599e701479 Rename current_keymap.* to keymaps.* 2017-08-08 12:03:13 -07:00
László Monda
01baa31241 Rename slave_driver_led_driver.[ch] to is31fl3731_driver.[ch] 2017-08-06 16:09:33 +02:00
László Monda
fef35bf68e Rename slave_driver_uhk_module.[ch] to uhk_module_driver.[ch] 2017-08-06 16:06:40 +02:00
Eric Tang
1eb2a73753 Display the active layer 2017-07-14 13:28:48 -07:00
László Monda
7e5951162f Make Alt+Tab keymapping and the like work as assumed. 2017-07-09 02:09:22 +02:00
László Monda
7c290ed372 Extract getActiveLayer() and remove the static activeLayer variable. 2017-07-09 01:54:17 +02:00
László Monda
d3166fb94c Indent curlies according to our coding standards. 2017-07-09 01:49:34 +02:00
László Monda
237ef3c34a Rename action.h to key_action.h 2017-06-15 19:27:44 +02:00
László Monda
976444b5fe Rename key action related enums and values to be easier to read. 2017-06-15 19:14:05 +02:00
László Monda
c291107312 Rename bridge_slave_*.[ch] to slave_driver_*.[ch] 2017-05-05 00:08:18 +02:00
László Monda
03a18e7acb Rename the bridge_slaves directory to slave_drivers. 2017-05-04 23:43:12 +02:00
László Monda
a1a3a052dd Implement "disable LED driver SDB pin" and "set LED PWM to 0" test actions. 2017-04-30 22:03:21 +02:00
László Monda
b7bdceaac4 Implement TestAction_DisableLedDriverPwm 2017-04-30 04:40:12 +02:00
László Monda
7f45f1fc0d Implement TestAction_DisableUsb 2017-04-30 04:27:07 +02:00
László Monda
fef5deea4a Handle disable key matrix scan test action for the right keyboard half. 2017-04-29 21:15:04 +02:00
László Monda
56500c52bf Make the disable I2c test action work. 2017-04-28 17:03:42 +02:00
László Monda
62a3f6b3a4 Add system keyboard interface and add sleep, power and wake keys. 2017-03-06 01:58:02 +01:00
László Monda
a2bd0cf602 Don't put more scancodes into the individual reports than possible. 2017-03-03 23:01:26 +01:00
László Monda
f83d655c15 Indent case clauses deeper. 2017-03-03 22:51:29 +01:00
László Monda
fdb13d3a7e Use KEY_ACTION_KEYSTROKE instead of KEY_ACTION_{BASIC,MEDIA}_KEYSTROKE. Add keystroke_type_t. 2017-03-03 22:49:20 +01:00
László Monda
d2e3d6becf Rename .basicKeystroke back to .keystroke 2017-03-03 22:36:17 +01:00
László Monda
cc2c06f497 Rename a couple of members of key_action_t to be more intuitive. 2017-03-03 21:59:28 +01:00
László Monda
c887b5e309 Add another HID interface using the consumer HID class for media keys. Resolves #32. 2017-03-03 20:21:05 +01:00