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