Commit Graph

316 Commits (c7e782d23ce54d2cc31322463dfd04a395d39905)

Author SHA1 Message Date
Jared Beller 8cf5957b26
scale keyboard widget relative to text size 2021-01-12 19:40:16 -05:00
Ilya Zhuravlev 18eb0d4764 main_window: indicate current theme 2021-01-12 18:50:30 -05:00
Ilya Zhuravlev ebab1cf4fc themes: reduce code duplication in theming code 2021-01-12 18:41:23 -05:00
Patryk deb2628747
add nord and olivial themes (#7)
* add nord and olivial themes

* made the selected keycap color the accent color instead of white

* rename olivial to olivia

* fix active key text not showing issue
2021-01-12 18:12:01 -05:00
Jared Beller aa53481d21
scale keycode buttons relative to text size 2021-01-11 23:27:48 -05:00
Ilya Zhuravlev e4c0f7acdf support for loading a dummy JSON definition 2021-01-11 17:08:21 -05:00
Ilya Zhuravlev 89cf01060a Merge branch 'fix-rotated-bbox' 2021-01-11 16:19:30 -05:00
Ilya Zhuravlev dcfbc2fa6c themes: don't set default theme at all 2021-01-11 12:33:12 -05:00
Ilya Zhuravlev 59233595f6 macro_recorder: shorten macro labels 2021-01-11 12:32:09 -05:00
Lorenz Wellmer 898a157f6d add via stack generator 2021-01-11 12:11:56 -05:00
Ilya Zhuravlev c8f12df167 keyboard_widget: fix the logic for determining bbox 2021-01-11 11:13:23 -05:00
Ilya Zhuravlev 2afa18d4cd macro_action: support ISO/media keycodes in sequences 2021-01-11 10:16:25 -05:00
dotleon a0eb9f6d17
added hungarian keymap (#6)
Co-authored-by: dotleon <dot@le.on>
2021-01-11 10:09:24 -05:00
arnstadm bf7175e111
added norwegian keymap (#5)
* added norwegian keymap

* Added norwegian keymap

* corrected keycodes
2021-01-11 10:00:31 -05:00
kb-elmo 0cd150afb7
dark theme yay (#3)
* add basic dark theme implementation and change the layer buttons to actual pushbuttons

* change default theme

* add theme selection menu and persistent theme storage

* add system theme option

* remove redundand functions

* add suggestions
2021-01-11 09:41:00 -05:00
Ilya Zhuravlev 7540ef6af9 macro_recorder_linux: support appimages 2021-01-09 14:58:46 -05:00
Ilya Zhuravlev 056d36a43b macro_action: switch from KC_NO to KC_A 2021-01-07 14:16:57 -05:00
Ilya Zhuravlev 6f64ef627c test: fix tests after retries change 2021-01-07 14:15:13 -05:00
Ilya Zhuravlev fb8536ba71 tabbed_keycodes: fix missing no/transparent keycodes 2021-01-07 14:14:40 -05:00
Ilya Zhuravlev 98a37b3d60 util: delay in between communication attempts 2021-01-07 13:09:11 -05:00
Ilya Zhuravlev e8a6a4eab0 firmware_flasher: re-lock keyboard after restoring layout 2021-01-07 13:02:01 -05:00
Ilya Zhuravlev c3d6329c44 keyboard_comm: try most commands several times 2021-01-07 12:19:57 -05:00
Ilya Zhuravlev 69cd27ad55 main_window/keyboard_comm: allow resuming interrupted unlock 2021-01-07 09:17:52 -05:00
Ilya Zhuravlev bdb9e9ff64 firmware_flasher: reduce send_retries delay to make it faster 2021-01-06 11:12:24 -05:00
Ilya Zhuravlev b0854a5e3d firmware_flasher: switch bootloader comms to fixed msg len 2021-01-06 10:59:48 -05:00
Ilya Zhuravlev d5baafff42 tabbed_keycodes: fix captions not displayed for macros/layers 2021-01-03 09:05:32 -05:00
Ilya Zhuravlev f9f2bcef58 keyboard_comm: instead of restoring non-empty macro, only restore macro if different 2021-01-03 08:55:26 -05:00
Ilya Zhuravlev 49dc6d21ab add support for language-specific layouts 2021-01-01 06:27:48 -05:00
Ilya Zhuravlev 5a1322c1be main_window: add action to reboot to bootloader 2021-01-01 05:15:48 -05:00
Ilya Zhuravlev 5d03299f78 firmware_flasher: add checkbox to not restore current layout 2021-01-01 05:13:21 -05:00
Ilya Zhuravlev 476ed41b52 Merge branch 'vfw' into main 2021-01-01 05:03:27 -05:00
Ilya Zhuravlev c367e1d25c firmware_flasher: ask bootloader for insecure mode on first boot 2021-01-01 04:28:55 -05:00
Ilya Zhuravlev 86e4889dee keyboard_comm: backwards compat with via for keyboard unlock 2020-12-29 19:42:24 -05:00
Ilya Zhuravlev 5d5126dc38 keyboard_comm: unlock keyboard before restoring macros 2020-12-29 19:33:56 -05:00
Ilya Zhuravlev b3080ec028 unlocker: flip around the lock/unlock logic 2020-12-29 19:30:41 -05:00
Ilya Zhuravlev 9a4825a124 unlocker: allow re-locking keyboard 2020-12-29 15:01:44 -05:00
Ilya Zhuravlev e5487a0ae6 unlocker: show image of keys to hold 2020-12-29 14:48:25 -05:00
Ilya Zhuravlev 233beb6231 tabbed_keycodes: fix & not being displayed for 7 key 2020-12-29 07:43:04 -05:00
Ilya Zhuravlev 75baeb28cd keyboard_widget: only use default widgets when determining top-left 2020-12-29 07:38:18 -05:00
Ilya Zhuravlev d3cbf4f1fb keyboard_widget: don't show decals 2020-12-29 07:37:24 -05:00
Ilya Zhuravlev de476ee63c unlocker: also perform unlock in macro editor 2020-12-27 08:09:28 -05:00
Ilya Zhuravlev a6c42b513f unlocker: initial implementation of unlocking keyboard to perform security-sensitive actions 2020-12-27 08:03:45 -05:00
Ilya Zhuravlev 5619ccbcd4 firmware_flasher: reduce code duplication when looking for devices 2020-12-27 06:39:34 -05:00
Ilya Zhuravlev e811e50c0d firmware_flasher: remove unused imports 2020-12-26 22:14:52 -05:00
Ilya Zhuravlev a397b70044 firmware_flasher: support restoring previous layout when flashing new firmware 2020-12-26 22:11:30 -05:00
Ilya Zhuravlev 7795ad5d07 firmware_flasher: automatically restart keyboard in bootloader mode and flash 2020-12-26 21:51:48 -05:00
Ilya Zhuravlev d6b0a6cb54 firmware_flasher: accept firmware in .vfw format 2020-12-26 21:26:38 -05:00
Ilya Zhuravlev e63a697aaa set_key/set_encoder: don't bother sending invalid keycodes 2020-12-26 20:37:37 -05:00
Ilya Zhuravlev 761c9a19c7 keyboard_comm: save and restore encoders in save_layout/restore_layout 2020-12-26 20:37:04 -05:00
Ilya Zhuravlev b11e0be700 keyboard_comm: save and restore layout/macros in save_layout/restore_layout 2020-12-26 20:29:22 -05:00
Ilya Zhuravlev 5d40bec15b keyboard_comm: remove vial batch keymap fetch, use via's method 2020-12-26 20:15:04 -05:00
Ilya Zhuravlev b15a017750 macro_recorder: move recorder aliases to keycodes.py 2020-12-26 04:47:01 -05:00
Ilya Zhuravlev 65a1e9d7c6 macro_recorder: only import when we need it 2020-12-26 04:35:47 -05:00
Ilya Zhuravlev a75f4db086 macro_recorder: add windows recorder 2020-12-25 21:45:03 -05:00
Ilya Zhuravlev ed91542d0d macro_recorder: make scrollable when there are too many lines 2020-12-25 21:04:14 -05:00
Ilya Zhuravlev 4f4e4b3805 macro_recorder: don't use QGridLayout::rowCount as it returns wrong value
https://stackoverflow.com/a/13406780
2020-12-25 20:20:37 -05:00
Ilya Zhuravlev 2c8e1100ab macro_action: don't double-delete self.layout (as ownership is taken by the QWidget) 2020-12-25 20:12:58 -05:00
Ilya Zhuravlev 629541c0c5 macro_action: switch sequence to FlowLayout 2020-12-25 19:57:43 -05:00
Ilya Zhuravlev bd6955aa0a macro_recorder: hide recorder on unsupported platforms 2020-12-25 17:08:58 -05:00
Ilya Zhuravlev cc4df3f3f8 macro_recorder: fix tab naming to be consistent with keycodes 2020-12-25 14:28:05 -05:00
Ilya Zhuravlev 94ba5df315 macro: allow assigning macro keycodes 2020-12-25 14:27:28 -05:00
Ilya Zhuravlev 7242138f76 macro_recorder: merge keys when recording 2020-12-25 14:15:18 -05:00
Ilya Zhuravlev 7a75e77e9b macro_recorder: making UI more dynamic, show current state of changes 2020-12-25 14:06:27 -05:00
Ilya Zhuravlev e19b0a5a35 macro_recorder: support saving macros to keyboard 2020-12-25 13:55:39 -05:00
Ilya Zhuravlev 3edc3b89c6 macro_recorder: implement "revert" function 2020-12-25 13:48:03 -05:00
Ilya Zhuravlev 4ed246c683 macro_recorder: fix deserialization not merging, crashing on down 2020-12-25 13:44:42 -05:00
Ilya Zhuravlev c0bdf2acf7 macro_recorder: support serialization as well 2020-12-25 13:37:57 -05:00
Ilya Zhuravlev 203064e705 macro_recorder: support retrieving macros from keyboard 2020-12-25 13:34:26 -05:00
Ilya Zhuravlev febff9d68c keyboard_comm: retrieve contents of the macro 2020-12-25 13:15:38 -05:00
Ilya Zhuravlev dfc37b143f keyboard_comm: fix macro buffer size retrieval, fix unit tests 2020-12-25 12:58:04 -05:00
Ilya Zhuravlev 464228cb4b macro_optimizer: get rid of PRINTABLE dict, move into keycodes 2020-12-25 12:55:14 -05:00
Ilya Zhuravlev 95a8f8d107 keycodes: remove qmk special keycodes from the KEYCODES_BASIC list 2020-12-25 12:49:43 -05:00
Ilya Zhuravlev d4e3d1c225 macro_recorder: read macro memory/count from the keyboard 2020-12-25 00:00:20 -05:00
Ilya Zhuravlev 63fe1aa6f6 macro_recorder: repair "record" button 2020-12-24 23:39:04 -05:00
Ilya Zhuravlev ce11e97ce3 macro_recorder: calculate memory used by macros 2020-12-24 21:41:52 -05:00
Ilya Zhuravlev 2f7d15af25 macro_recorder: emit changed more accurately 2020-12-24 21:38:55 -05:00
Ilya Zhuravlev 4a4f0da684 macro_recorder: add a button to tap enter 2020-12-24 21:36:39 -05:00
Ilya Zhuravlev ab7821e6aa macro_line: remove spacing between arrows 2020-12-24 21:29:38 -05:00
Ilya Zhuravlev 7a575470f5 macro_recorder: move classes to separate files 2020-12-24 21:28:39 -05:00
Ilya Zhuravlev 483fe521ad macro_recorder: basic serialization working 2020-12-24 21:20:17 -05:00
Ilya Zhuravlev c4693e31b7 macro_recorder: add tabbed layout 2020-12-24 20:55:43 -05:00
Ilya Zhuravlev 232b69d0f2 macro_recorder: add and remove sequence keys 2020-12-24 19:20:00 -05:00
Ilya Zhuravlev f64a068f4b macro_recorder: don't crash trying to move line out-of-bounds 2020-12-24 18:43:02 -05:00
Ilya Zhuravlev 05483f6f03 macro_recorder: make layout prettier 2020-12-24 18:21:07 -05:00
Ilya Zhuravlev c8b8793c38 macro_recorder: basic add/delete/move 2020-12-24 18:09:20 -05:00
Ilya Zhuravlev 897a250ca0 macro_key: BasicAction -> BasicKey 2020-12-24 09:49:39 -05:00
Ilya Zhuravlev fb41fa3156 macro_recorder: add stop action 2020-12-24 09:48:11 -05:00
Ilya Zhuravlev 594846d713 macro_recorder: move linux recorder to separate file 2020-12-24 09:47:00 -05:00
Ilya Zhuravlev 84e6da4de7 macro_optimizer: more optimizations 2020-12-24 09:41:31 -05:00
Ilya Zhuravlev e5e342d397 macro_recorder: basic macro optimizer 2020-12-24 09:25:59 -05:00
Ilya Zhuravlev abf62439e4 macro_recorder: basic linux macro recording 2020-12-24 09:13:20 -05:00
Ilya Zhuravlev cb9e0c90cd macro_recorder/linux: add stop functionality 2020-12-21 22:21:49 -05:00
Ilya Zhuravlev 615ce6bdd7 macro_recorder: utilize "keyboard" module for linux key recording 2020-12-21 22:04:48 -05:00
Ilya Zhuravlev 000ad5d55c macro_recorder: implement process elevation on linux 2020-12-21 21:52:56 -05:00
Ilya Zhuravlev 542fb36c71 util: allow sideloading json for a vial board 2020-12-21 03:32:06 -05:00
Ilya Zhuravlev 03d853012e keyboard: add backwards-compat for VIA keymap retrival 2020-12-21 02:30:43 -05:00
Ilya Zhuravlev b9c10095e5 keyboard: implement fast batch keymap retrieval 2020-12-21 02:10:51 -05:00
Ilya Zhuravlev e8f197e2e8 layout_editor: fix crash when we don't have layouts 2020-12-21 02:03:14 -05:00
Ilya Zhuravlev d186fcf7b6 all: hide() widgets before performing deleteLater() 2020-12-20 23:21:55 -05:00
Ilya Zhuravlev 40726d244d layout_editor: don't emit changed signals while loading from kb 2020-12-20 23:09:14 -05:00
Ilya Zhuravlev e7ca2548b8 layout_editor: fix validity check for keyboards w/o layouts 2020-12-20 23:05:39 -05:00
Ilya Zhuravlev 249c0054b4 layout_editor: make options nice and centered 2020-12-20 23:00:00 -05:00
Ilya Zhuravlev 838bee0767 keyboard_widget: improve switching to next key when layouts are used 2020-12-20 22:43:45 -05:00
Ilya Zhuravlev 46b498057b layout_editor: send layout options to keyboard 2020-12-20 22:42:08 -05:00
Ilya Zhuravlev d250180d48 layout_editor: update changes done in GUI 2020-12-20 22:30:08 -05:00
Ilya Zhuravlev 5af3798445 implement rendering of currently selected keyboard layout 2020-12-20 22:13:16 -05:00
Ilya Zhuravlev 6add0a8d70 layout_editor: implement loading and parsing of layout options 2020-12-20 21:04:26 -05:00
Ilya Zhuravlev d6e9a14202 layout_editor: initial 2020-12-20 19:29:48 -05:00
Ilya Zhuravlev 657a4a18f1 layout_editor -> keymap_editor 2020-12-20 19:21:22 -05:00
Ilya Zhuravlev 56300d1ddc main: remove duplicate qt_exception_hook initialization 2020-12-20 19:10:07 -05:00
Ilya Zhuravlev dffdfa130b main: show error message for uncaught exceptions 2020-12-19 21:23:55 -05:00
Ilya Zhuravlev cbfcbf72ad keyboard_widget: auto-select next key after changing the mapping 2020-12-18 22:56:42 -05:00
Ilya Zhuravlev 45a55cb0f6 keyboard_container remove widgets field 2020-12-18 22:48:47 -05:00
Ilya Zhuravlev f7f4de7770 keyboard_container: get rid of selected_/active_ duplication 2020-12-18 22:44:51 -05:00
Ilya Zhuravlev d06e22c754 encoders: add unit tests 2020-12-18 22:26:31 -05:00
Ilya Zhuravlev 3fe4dad968 encoders: initial support 2020-12-18 22:26:27 -05:00
Ilya Zhuravlev ffd2d3746f firmware_flasher: add more progress reporting and lock UI 2020-12-02 11:37:43 -05:00
Ilya Zhuravlev 46f68a13b8 firmware_flasher: initial working flasher 2020-12-02 11:11:29 -05:00
Ilya Zhuravlev 72aec53cef firmware_flasher: add file selection 2020-12-02 10:29:28 -05:00
Ilya Zhuravlev 74ed115c16 fix unittests 2020-12-02 10:17:52 -05:00
Ilya Zhuravlev 2e0de37b77 Untangle main_window some more 2020-12-02 10:10:59 -05:00
Ilya Zhuravlev 80492bc940 Abstract layout editor into a separate class 2020-12-02 02:58:52 -05:00
Ilya Zhuravlev 513ec71600 flasher: initial layout 2020-12-02 02:47:11 -05:00
Ilya Zhuravlev 2d4859f1ad keycodes: add media keycodes 2020-10-19 02:57:23 -04:00
Ilya Zhuravlev 4f6185e091 keycodes: add backlight keycodes 2020-10-18 22:10:04 -04:00
Ilya Zhuravlev 593cd0a026 main_window: add ellipsis to menu items which create dialogs 2020-10-18 21:47:47 -04:00
Ilya Zhuravlev b6e75af485 keyboard: add retrieving of keyboard UID and vial protocol version 2020-10-18 14:39:02 -04:00
Ilya Zhuravlev f0d3d6613b keyboard_container: fix updateGeometry not being called when reloading 2020-10-18 01:02:07 -04:00
Ilya Zhuravlev 78f06cd3f3 implement VIA json sideload 2020-10-18 00:58:01 -04:00
Ilya Zhuravlev 11e8c50ac4 keycodes: add LT layer-tap keycodes 2020-10-18 00:37:03 -04:00
Ilya Zhuravlev af7883d283 keycodes: add remaining masked keycodes 2020-10-18 00:33:30 -04:00
Ilya Zhuravlev 215a54fca1 initial support for masked keycodes 2020-10-18 00:06:00 -04:00
Ilya Zhuravlev 3683ef98d1 keycodes: remove commented out keycodes 2020-10-17 23:23:30 -04:00
Ilya Zhuravlev 6fcf39dd19 keycodes: add shifted keycodes 2020-10-17 23:18:32 -04:00
Ilya Zhuravlev fcf9d142a0 keycodes: add special action keys 2020-10-17 23:07:26 -04:00
Ilya Zhuravlev 22226fed74 keycodes: add OSM keycodes 2020-10-17 23:00:25 -04:00
Ilya Zhuravlev 067894a61a keycodes: no need for special "&" handling anymore 2020-10-17 14:49:48 -04:00
Ilya Zhuravlev eceb31a03f implement support for rotated/complex keys 2020-10-17 14:46:07 -04:00
Ilya Zhuravlev 48cc907a92 keyboard: store serialized layout version as an int 2020-10-17 06:10:56 -04:00
Ilya Zhuravlev 498b2bebb1 UI: add layout save/restore 2020-10-17 06:08:52 -04:00
Ilya Zhuravlev 50b1c40d13 keyboard: initial layout save/restore support 2020-10-17 05:43:17 -04:00
Ilya Zhuravlev ea033c8ff5 keyboard: don't set a key if it's already set to the correct value 2020-10-17 05:33:43 -04:00
Ilya Zhuravlev e5b410e979 test: test setting a key 2020-10-17 05:31:47 -04:00
Ilya Zhuravlev 3713dc7f23 Add testing support for keyboard class 2020-10-17 05:28:49 -04:00
Ilya Zhuravlev 735aa6eaa7 add license identifiers to files missing them 2020-10-16 21:26:10 -04:00
Ilya Zhuravlev b6ed6717bb new keycode categories 2020-10-16 18:55:45 -04:00
Ilya Zhuravlev 7981e18b10 tabbed_keycodes: make keycode buttons scrollable 2020-10-16 15:49:53 -04:00
Ilya Zhuravlev f89bb1e629 keyboard: get rid of hardcoded bytes 2020-10-16 15:37:50 -04:00
Ilya Zhuravlev 3a86eeb8d7 keyboard_container: deselect key by clicking twice 2020-10-16 15:31:50 -04:00
Ilya Zhuravlev adb4a354ee move remaining styles/constants to constants.py 2020-10-16 15:28:52 -04:00
Ilya Zhuravlev 347fa7c421 minor style refactoring 2020-10-16 15:26:11 -04:00
Ilya Zhuravlev 92a4d6e3f4 split main.py into several files 2020-10-16 15:16:28 -04:00
Ilya Zhuravlev f6d49ca9fc Add remaining ISO/JIS keycodes 2020-10-16 06:22:04 -04:00
Ilya Zhuravlev 3846e39edf add missing numpad comma keycode 2020-10-16 06:10:55 -04:00
Ilya Zhuravlev 40ec4fa95a split low-level communication away from gui 2020-10-16 06:00:16 -04:00
Ilya Zhuravlev 36eb6b2fd4 pass keycode changes through a signal 2020-10-16 05:42:27 -04:00
Ilya Zhuravlev bd1e167f85 Add dynamically-generated layer keycodes 2020-10-16 05:29:41 -04:00
Ilya Zhuravlev c1a1b93859 Add more keycodes 2020-10-16 05:06:41 -04:00
Ilya Zhuravlev b61a7385e3 Update licenses 2020-10-14 22:21:33 -04:00
Ilya Zhuravlev c556163ce6 implement key remapping 2020-10-14 21:12:53 -04:00
Ilya Zhuravlev 42d4a91a8e Add some keycodes 2020-10-14 20:56:05 -04:00
Ilya Zhuravlev 3e75339d35 add layer switching 2020-10-14 20:27:24 -04:00
Ilya Zhuravlev a114cd5f00 add layer count detection 2020-10-14 16:15:32 -04:00
Ilya Zhuravlev ed4673dfb8 Initial communication with keyboard 2020-10-14 15:16:14 -04:00
Ilya Zhuravlev 8f1123ee77 add keyboard rendering 2020-10-14 12:56:25 -04:00
Ilya Zhuravlev fad26ba9aa Initial commit 2020-10-14 02:39:59 -04:00