tb2097 / wacom-gui

Python/PyQt Wacom GUI for KDE
GNU General Public License v3.0
130 stars 35 forks source link

Feature Requests - Indicators, Keystrokes, and Asking #35

Open SoraHjort opened 4 years ago

SoraHjort commented 4 years ago

-Indicators- When the Wacom Gui is on focus, it would be nice that when you pressed a side panel button, or a button on the stylus, that it would highlight which one in the list you pressed. Maybe flash where it lists the keystroke or whatever a color such as blue or red.

This will help people quickly know which button corresponds with with entry on the list.

-Keystrokes-

In the dialog for setting up keystrokes, it is an extreme hassle to go through the list to define a keystroke. It is actually quicker to open custom.json and manually define them in there than it is to use the dialog.

What would be quicker is if you could click into the keystrokes inputbox and then be able to press the keys to map them. The menu could still be there for those who aren't able to use a keyboard, or be available to select keys they don't have access to (like F13-F24). If that's not possible, then atleast let us manually type in {lctrl}{lshift}{d}, it would still be quicker. As is you have to go into the menu tree three levels just to find a letter

Or, maybe have it pop up a virtual keyboard where you can click on the buttons you want. Which could be setup so that the keyboard stays up so you can select every key you wanted, highlighting each one as you go. That would be quick method for users to set a keystroke without the need of a keyboard.

-Asking- Minor annoyance this one. If you are working on a config, and you go and click to create a new config before saving, it'll forget what changes you've made.

Basically, it would be nice if when you have unsaved changes to a config, it should pop up a message asking if you want to save before creating a new config.

All that being said, I do like what you've got so far. I was able to use it to get my wacom up and running on linux mint (mate) with little hassle.

tb2097 commented 4 years ago

-Indicators- When the Wacom Gui is on focus, it would be nice that when you pressed a side panel button, or a button on the stylus, that it would highlight which one in the list you pressed. Maybe flash where it lists the keystroke or whatever a color such as blue or red.

This will help people quickly know which button corresponds with with entry on the list.

This would be hard for me to implement at the moment as currently there is no way to interrupt the signal from the driver to know a specific key has been pressed. I have talked to Wacom about getting something along these lines added to the driver, as it would also allow me to set a ring to have multiple states (ie. state 1 is zoom in/out hotkeys, state 2 are increase/decrease brush size hotkeys, etc). Effectively there needs to be a daemon that runs that can be queried/signal when a specific key is pressed so the GUI can utilize it.

-Keystrokes-

In the dialog for setting up keystrokes, it is an extreme hassle to go through the list to define a keystroke. It is actually quicker to open custom.json and manually define them in there than it is to use the dialog.

What would be quicker is if you could click into the keystrokes inputbox and then be able to press the keys to map them. The menu could still be there for those who aren't able to use a keyboard, or be available to select keys they don't have access to (like F13-F24). If that's not possible, then atleast let us manually type in {lctrl}{lshift}{d}, it would still be quicker. As is you have to go into the menu tree three levels just to find a letter

Or, maybe have it pop up a virtual keyboard where you can click on the buttons you want. Which could be setup so that the keyboard stays up so you can select every key you wanted, highlighting each one as you go. That would be quick method for users to set a keystroke without the need of a keyboard.

The main reason I disabled configuring users from typing in commands manually was it adds a lot of additional overhead to parsing on my part to ensure the data entered is valid. You can get into a lot of improperly formatted entries (ie. user enters {!} instead of {lshift}{1}), invalid entries (ie. {{lctrl}{z}) or purely invalid data, that may have unintended consequences. As well, this is also how it works on Windows (and I believe OSX). I can try and to re-evaluate how this is handled though, as it would require overwriting PyQt libraries to hijack specific key presses (ie. Esc, Tab, space) as QT expects those buttons to effect window control.

-Asking- Minor annoyance this one. If you are working on a config, and you go and click to create a new config before saving, it'll forget what changes you've made.

Basically, it would be nice if when you have unsaved changes to a config, it should pop up a message asking if you want to save before creating a new config.

All that being said, I do like what you've got so far. I was able to use it to get my wacom up and running on linux mint (mate) with little hassle.

Yes, I should be able to add that in fairly easily. I'll try to get a patch done in the next week or so.