Re: [Inkscape-devel] Input Device UI
Am Freitag 17 September 2010, 04:56:48 schrieb bulia byak:
On Thu, Sep 16, 2010 at 1:38 AM, Jon Cruz <jon@...18...> wrote:
http://launchpadlibrarian.net/54403269/xinput-ink-vs-gimp.png
That image was seriously revelatory! Only from it I figure out that the new dialog does in fact has a column of "disabled" values - for me it was completely obscured because the dialog appeared in a narrow sidebar, and I only saw the list of devices. So now we need to solve the following problems:
- Make sure this column is always visible.
If there are no other values than "screen" and "disabled" (I guess there are), one could even just add checkboxes in *front* of the devide ID.
HTH, Hans
I just tested it and I see no ill effects from setting ALL of the devices in the list to "Screen" and clicking Save. (By the way, it is extremely inconsistent for this dialog to have Save button, unlike all other dialogs). Pressure sensitivity works. When I close and reopen Inkscape, two of the more weird devices - "core pointer" and "macintosh emulation" - have been reset to "Disabled", but everything related to Wacom is still Screen, and it still works.
Can please everyone, using a tablet or not, test this approach - going into this dialog and setting everything to Screen? If this works on all OSes, we will be able to make this universal screenization automatic, removing the need to ever open this dialog for most people.
bulia byak wrote:
Can please everyone, using a tablet or not, test this approach
On Windows XP, Inkscape 0.48, with no external devices at all, I get the attached startup display. - I have not been able to figure out how to show the dialog that says "Configure Input devices", but I assume that is because I don't have any. - if I double-click on the word "screen" I get the options "Disabled", "Screen", and "Window". If I choose Disabled or Window then that selection will appear temporarily, but will revert back to Screen as soon as I click anywhere else. This dropdown box appears to be redundant, at least for this particular device. - when I exit Inkscape I get the messages :
** (inkscape.exe:2820): WARNING **: Unable to set mode on extended input device [M:Core Pointer]
** (inkscape.exe:2820): WARNING **: Unable to set mode on extended input device [M:Core Pointer]
sorry, forgot this : http://old.nabble.com/file/p29740339/device_config.PNG device_config.PNG
On Fri, Sep 17, 2010 at 1:34 PM, Alvin Penner <penner@...1856...> wrote:
On Windows XP, Inkscape 0.48, with no external devices at all, I get the attached startup display.
- I have not been able to figure out how to show the dialog that says
"Configure Input devices", but I assume that is because I don't have any.
- if I double-click on the word "screen" I get the options "Disabled",
"Screen", and "Window". If I choose Disabled or Window then that selection will appear temporarily, but will revert back to Screen as soon as I click anywhere else. This dropdown box appears to be redundant, at least for this particular device.
Thanks for testing - this seems to indicate that you only have a single pointing device, and it can only work in Screen mode, so it even does not allow you to set anything else. So, looks like the proposed strategy "set all devices to Screen" will not be a problem in your (I guess quite typical) situation.
On 17/9/10 17:13, bulia byak wrote:
I just tested it and I see no ill effects from setting ALL of the devices in the list to "Screen" and clicking Save. (By the way, it is extremely inconsistent for this dialog to have Save button, unlike all other dialogs). Pressure sensitivity works. When I close and reopen Inkscape, two of the more weird devices - "core pointer" and "macintosh emulation" - have been reset to "Disabled", but everything related to Wacom is still Screen, and it still works.
Can please everyone, using a tablet or not, test this approach - going into this dialog and setting everything to Screen? If this works on all OSes, we will be able to make this universal screenization automatic, removing the need to ever open this dialog for most people.
Platform: Mac OS X 10.5.8, Xquartz 2.4.0, GTK+ 2.20.1 Hardware: MacBookPro 15.4" (late 2008) built-in Trackpad external USB Mouse (Logitech V450)
Inkscape 0.48 and 0.48+devel r9764 with default settings:
Input Devices Configuration: - the built-in trackpad seems to be recognized as generic tablet, with all devices (pointer, pen, eraser, cursor) disabled, - Core Pointer is set to 'Screen', - pressure-sensitive tablet enabled by default
Changing tablet devices (pointer|pen|cursor|eraser) to 'Screen' or 'Window' works while the dialog is open and can be tested in the hardware tab, but is reset to 'Disabled' after restarting Inkscape (yes, I clicked the 'Save' button before closing the dialog ;) ).
The setting for pressure sensitivity is stored between sessions, but has no influence whether enabled tablet devices (pointer, pen, cursor, eraser) keep their status ('Screen' or 'Window') between sessions.
The Core Pointer cannot be 'Disabled' or set to 'Window', it immediately reverts to 'Screen', with the same console messages as reported by Alvin Penner.
attached (all with 0.48+devel r9764): - configuration (default) - hardware (Core Pointer -> 'Screen') - configuration (trackpad) (not saved between sessions) - hardware (pointer -> 'Screen')
hth, ~suv
On Fri, Sep 17, 2010 at 3:14 PM, ~suv <suv-sf@...58...> wrote:
Platform: Mac OS X 10.5.8, Xquartz 2.4.0, GTK+ 2.20.1 Hardware: MacBookPro 15.4" (late 2008) built-in Trackpad external USB Mouse (Logitech V450)
So, correct me if I'm wrong, but I don't see anything actually pressure-sensitive in your setup?
And, regardless of whether the values stuck or were reset, the fact that you attempted to set everything to Screen didn't break anything that worked before for you - is that correct?
On 18/9/10 05:43, bulia byak wrote:
On Fri, Sep 17, 2010 at 3:14 PM, ~suv <suv-sf@...58...> wrote:
Platform: Mac OS X 10.5.8, Xquartz 2.4.0, GTK+ 2.20.1 Hardware: MacBookPro 15.4" (late 2008) built-in Trackpad external USB Mouse (Logitech V450)
So, correct me if I'm wrong, but I don't see anything actually pressure-sensitive in your setup?
Yes - no device with pressure-sensitivity attached. I mentioned it as part of the default setting (it is activated per default).
And, regardless of whether the values stuck or were reset, the fact that you attempted to set everything to Screen didn't break anything that worked before for you - is that correct?
Seems my previous tests haven't been comprehensive enough:
Default settings in the dialog (launching Inkscape after removing ~/.config/inkscape/preferences.xml):
- Tablet - pointer Disabled - pen Disabled - cursor Disabled - eraser Disabled - Core Pointer Screen [x] Use pressure-sensitive tablet
1) Changing 'pointer' to 'Screen' or 'Window' is not saved in the preferences.
2) Changing any or all of 'pen|cursor|eraser' to 'Screen' or 'Windows' _is_ read from as well as written to the preferences file and effectively _disables drawing_ on-canvas with any tool unless 'pointer' is set to 'Screen' too. The 'pointer' setting needs to be redone every time Inkscape is relaunched because is _not_ stored in the preferences.
3) The 'Core Pointer' is and stays set to 'Screen', but doesn't take effect if any or all of 'pen|cursor|eraser' are enabled.
4) If pressure sensitivity has been deactivated, drawing on-canvas with any tool works no matter what 'pen|cursor|eraser' have been set to.
It would be helpful for testing if there was a preferences file with the proposed new default settings we could use to test.
As far as I can tell: for MacBookPro's with built-in trackpads and no tablet attached it seems not recommended to set 'pen|cursor|eraser' to other default values than 'Disabled' _if_ pressure-sensitivity is (stays) enabled by default.
~suv
On Sat, Sep 18, 2010 at 1:31 AM, ~suv <suv-sf@...58...> wrote:
It would be helpful for testing if there was a preferences file with the proposed new default settings we could use to test.
As far as I can tell: for MacBookPro's with built-in trackpads and no tablet attached it seems not recommended to set 'pen|cursor|eraser' to other default values than 'Disabled' _if_ pressure-sensitivity is (stays) enabled by default.
So the hacky simplistic approach does may do harm. That's unfortunate. Can anyone suggest any other heuristic algorithm that would enable pressure sensitivity for those who have it, but never breaks anything that worked before?
Following up on my report (that my tablet mouse doesn't appear to work with pressure sensitivity) and the MacBookPro issue, wouldn't it make sense to be able to set sensitivity for each device separately? Then we could either default known devices with issues to no sensitivity, or the reverse.
JF
On 09/18/2010 09:05 AM, bulia byak wrote:
On Sat, Sep 18, 2010 at 1:31 AM, ~suv <suv-sf@...58...> wrote:
It would be helpful for testing if there was a preferences file with the proposed new default settings we could use to test.
As far as I can tell: for MacBookPro's with built-in trackpads and no tablet attached it seems not recommended to set 'pen|cursor|eraser' to other default values than 'Disabled' _if_ pressure-sensitivity is (stays) enabled by default.
So the hacky simplistic approach does may do harm. That's unfortunate. Can anyone suggest any other heuristic algorithm that would enable pressure sensitivity for those who have it, but never breaks anything that worked before?
On Sep 18, 2010, at 9:38 AM, Joshua Facemyer wrote:
Following up on my report (that my tablet mouse doesn't appear to work with pressure sensitivity) and the MacBookPro issue, wouldn't it make sense to be able to set sensitivity for each device separately? Then we could either default known devices with issues to no sensitivity, or the reverse.
The main problem is that we have no idea what a known device is or is not.
The extended input support in GTK+ hides most details from us. Also the implementation is fairly old and in need of rework (but the current docs are worse, where they actually have the GTK+ 1.x info that no longer applies). The most we get is a user visible name-string and type enum for each individual part of an input device.
One approach would be to pop up a dialog on first startup to confirm that a user has a real device. Giving the user some clue that breakage would just require turning settings back off could be good. Using a default that works for at least a majority of tablet users and giving some warning to those who may end up broken might work.
On Sep 18, 2010, at 6:05 AM, bulia byak wrote:
So the hacky simplistic approach does may do harm. That's unfortunate. Can anyone suggest any other heuristic algorithm that would enable pressure sensitivity for those who have it, but never breaks anything that worked before?
This is what I remember from testing things on OS X initially. I'd hit situations where automatically flipping things were detrimental, so did not make that the default.
However... as soon as I finish cleaning up the hierarchy code, relying on the single checkbox next to a parent "Tablet" meta-device might give us the usability we need. It will at least give users having problems a single-button way to turn things back off.
On Sat, Sep 18, 2010 at 3:43 PM, Jon Cruz <jon@...18...> wrote:
On Sep 18, 2010, at 6:05 AM, bulia byak wrote:
So the hacky simplistic approach does may do harm. That's unfortunate. Can anyone suggest any other heuristic algorithm that would enable pressure sensitivity for those who have it, but never breaks anything that worked before?
This is what I remember from testing things on OS X initially. I'd hit situations where automatically flipping things were detrimental, so did not make that the default.
Why don't we try this heuristic:
if the type is "pen" and name is not "pen", then enable
because suv's configuration has a pen named simply "pen" whereas those who have real pressure-sensitive pens have more appropriate names (such as mine which is "Wacom Graphire").
suv, do you think that would work in your case (i.e. not break things)?
On Sat, Sep 18, 2010 at 3:43 PM, Jon Cruz <jon@...18...> wrote:
On Sep 18, 2010, at 6:05 AM, bulia byak wrote:
So the hacky simplistic approach does may do harm. That's unfortunate. Can anyone suggest any other heuristic algorithm that would enable pressure sensitivity for those who have it, but never breaks anything that worked before?
This is what I remember from testing things on OS X initially. I'd hit situations where automatically flipping things were detrimental, so did not make that the default.
Why don't we try this heuristic:
if the type is "pen" and name is not "pen", then enable
because suv's configuration has a pen named simply "pen" whereas those who have real pressure-sensitive pens have more appropriate names (such as mine which is "Wacom Graphire").
suv, do you think that would work in your case (i.e. not break things)?
You could make a separate tiny package with a yaml file which contains your heuristics and invite other tools to look at it too as well as making it easier to update outside of inkscape:
disabled: : ^pen$ screen: : Wacom.* window: : pointer
We could easily then just let a smaller and more focused community deal with any interesting corner cases. Just go through any of your items without settings and apply the default value of what ever the name matches.
Martin,
On Mon, 2010-09-20 at 16:43 -0300, bulia byak wrote:
Why don't we try this heuristic:
if the type is "pen" and name is not "pen", then enable
because suv's configuration has a pen named simply "pen" whereas those who have real pressure-sensitive pens have more appropriate names (such as mine which is "Wacom Graphire").
suv, do you think that would work in your case (i.e. not break things)?
On 20/9/10 21:43, bulia byak wrote:
On Sat, Sep 18, 2010 at 3:43 PM, Jon Cruz <jon@...18...> wrote:
On Sep 18, 2010, at 6:05 AM, bulia byak wrote:
So the hacky simplistic approach does may do harm. That's unfortunate. Can anyone suggest any other heuristic algorithm that would enable pressure sensitivity for those who have it, but never breaks anything that worked before?
This is what I remember from testing things on OS X initially. I'd hit situations where automatically flipping things were detrimental, so did not make that the default.
Why don't we try this heuristic:
if the type is "pen" and name is not "pen", then enable
because suv's configuration has a pen named simply "pen" whereas those who have real pressure-sensitive pens have more appropriate names (such as mine which is "Wacom Graphire").
suv, do you think that would work in your case (i.e. not break things)?
Not sure how to test it...
Default device settings (launching Inkscape after removing '~/.config/inkscape/preferences.xml'):
<group id="devices" />
Device settings after saving the device configuration in the dialog (no changes made):
<group id="devices"> <group id="P:pen" mode="disabled" axes="x;y;pressure;xtilt;ytilt" keys="" /> <group id="C:cursor" mode="disabled" axes="x;y;pressure;xtilt;ytilt" keys="" /> <group id="E:eraser" mode="disabled" axes="x;y;pressure;xtilt;ytilt" keys="" /> </group>
Inkscape 0.48+devel r9772, Mac OS X 10.5.8, Xquartz 2.4.0, gtk2 @2.20.1 no tablet attached, no tablet drivers installed
~suv
This appears to be working well enough for me. I had to restart two times for things to work out between my mouse and my tablet, for some reason, but then it was fine.
One (minor for me) issue is that my tablet mouse seems to always send the lowest pressure rating (? or something). I only get a very thin line with the Calligraphy tool, and spray tool won't work at all with the mouse, though other things appear fine. (Does spray use pressure? What else uses pressure?)
I have an Intuos3 on Lucid.
JF
On 09/17/2010 11:13 AM, bulia byak wrote:
I just tested it and I see no ill effects from setting ALL of the devices in the list to "Screen" and clicking Save. (By the way, it is extremely inconsistent for this dialog to have Save button, unlike all other dialogs). Pressure sensitivity works. When I close and reopen Inkscape, two of the more weird devices - "core pointer" and "macintosh emulation" - have been reset to "Disabled", but everything related to Wacom is still Screen, and it still works.
Can please everyone, using a tablet or not, test this approach - going into this dialog and setting everything to Screen? If this works on all OSes, we will be able to make this universal screenization automatic, removing the need to ever open this dialog for most people.
On 9/17/10, Hans Meine wrote:
- Make sure this column is always visible.
If there are no other values than "screen" and "disabled" (I guess there are), one could even just add checkboxes in *front* of the devide ID.
Isn't there typically a Screen mode too?
Alexandre Prokoudine http://libregraphicsworld.org
On Sep 17, 2010, at 8:39 AM, Alexandre Prokoudine wrote:
On 9/17/10, Hans Meine wrote:
- Make sure this column is always visible.
If there are no other values than "screen" and "disabled" (I guess there are), one could even just add checkboxes in *front* of the devide ID.
Isn't there typically a Screen mode too?
Yes.
But I had already been working on things to add an initial checkbox column. By adding we cover the normal case, but still leave the textual combo for those few who need to turn things to "Window" in addition to "Screen".
participants (8)
-
Alexandre Prokoudine
-
Alvin Penner
-
bulia byak
-
Hans Meine
-
Jon Cruz
-
Joshua Facemyer
-
Martin Owens
-
~suv