Page 1 of 1

Yet another feature request (LAYERS)...

Posted: Wed Sep 09, 2009 6:33 am
by Jon Lee
Hi Phil,

First off: Thank you! I've only just found XMouse but have been looking for a good SetPoint replacement for some time. It is generous of you to share your work and it's very appreciated!

I'm hoping my suggestion is a relatively easy addition and that you'll consider it even if your time for XMouse programming is limited as you mention in your FAQ.

The one thing I've found missing from all mouse mapping programs is the concept of LAYERS. As the std mouse driver only exposes 5 buttons (9 if you count wheel movement/tilting) an easy way to get more functionality is to be able to assign a button as layer-shift (not the shift key which of course you can already do). It's a great and easy to use way to assign multiple actions to each button. If the std mouse drivers only expose up to 5 mouse buttons, we need to make the most of them.

I actually started to code something to do this and while researching how to do it found XMouse which does everything I'm looking for *except* layers. Rather than reinvent the wheel, I thought I'd toss the idea your way and see if you'd consider adding it.

I was planning to add support for up to 4 additional layers but personally can only imagine using 1 or 2. I use a Logitech G5 and hope to map my two thumb buttons for layer shifting.

What do you think? Should I be patient or keep researching mouse hooks ;-)

Thanks for your ear... Cheers, -Jon.

Re: Yet another feature request (LAYERS)...

Posted: Wed Sep 09, 2009 10:36 am
by phil
Layers... That's a new term for an existing issue :)
I have been intending on adding multiple profiles (what you call layers) for some time now. Its pretty near the top of the to-do list and might well make it into the next version.

I still have to figure out the best way to do it, but essentially what you describe is exactly what I plan to do. I just cant give a definite time frame for it, because amongst other things, I have a few holidays coming up and I've got a load of other things to sort out before then. But it is on the to-do and I hope it wont be more and a few months away.

Its not technically difficult - more of a "how to best arrange the GUI". The simple option is to just add the "layers" into the existing application profiles pane and has a shortcut button (or keypress) to switch between them.

Thanks,
Phil

Re: Yet another feature request (LAYERS)...

Posted: Wed Sep 09, 2009 3:04 pm
by Jon Lee
That is excellent news Phil! I will be patient :-)

As for the GUI issue, there are two approaches I'd suggest:

1. Leave your GUI exactly as it is but just turn your "Default Application Settings" group into tabbed pages - one for each layer. You'll also then need to add options in each button assignment combo for layer switching ("Activate Layer X") - but only in the base/default layer as the button that activates a given layer should remain consistent while that layer is active.

Image

2. The method I was thinking of using was a grid. The screenshot is of my early (and unfinished) GUI but you get the idea. While taking up more screen real estate it allows you to see the entire profile at a glance without needing to switch tabs which I thought was an advantage (and ppl have big screens anyway ;-) )

Image

My $0.02 is not to make additional profiles and switch between them. My logic here is that a profile is associated with a particular .exe and switching between them while using a given .exe breaks that association and I feel becomes confusing (not all profiles will apply to all .exe). I'd leave the 1 profile to 1 .exe association and just make each profile support layers on their own. Of course, this is just my opinion, I'm sure you'll come up with a good solution :-)

Anyway, I hope this is good food for thought and I look forward to however you decide on going about it.

Thanks again! Cheers, -Jon.

Re: Yet another feature request (LAYERS)...

Posted: Wed Sep 09, 2009 3:25 pm
by phil
Yes, tabs is probably the easy way to go with my gui without making too many changes (although I seem to recall tabs in C++ are a bit of a pain compared to C# which I've gotten too used to lol).

But then its fairly static, a fixed-ish (of only by screen real-estate) number of "layers". I suppose that does not really matter.

I see what your saying about having the layers switch while the button is down - it makes sense, while I wasn't intending on having such a configuration, I would think its possible, with a little thought.

My main intention was to allow the user to have multiple "default" profiles that he could switch between with a key/button combination but your right when you say each app may also want seperate profiles, so its best not to so it in the same way.

All good things to think about, but as I said, until November, pretty much every weekend is booked up now (and I only get weekends and the odd evening to play with this), so no immediate response promised!

Phil

Re: Yet another feature request (LAYERS)...

Posted: Wed Sep 09, 2009 11:18 pm
by Jon Lee
phil wrote:(although I seem to recall tabs in C++ are a bit of a pain compared to C# which I've gotten too used to lol).
I'm a Delphi guy so I'm used to the C# way of doing things (same designer). All I can say is I feel your pain with C++ ;-)
phil wrote:All good things to think about, but as I said, until November, pretty much every weekend is booked up now (and I only get weekends and the odd evening to play with this), so no immediate response promised!
Fair enough. Such is the way of things with hobby projects. I may still mess around with mouse hooks in the meantime but to be honest, I'm not used to working with raw Windows messages and I'm stumbling a bit at this point. I'll most likely just be patient and wait until you get around to it.

Good luck and enjoy your holidays! -Jon.

Re: Yet another feature request (LAYERS)...

Posted: Wed Sep 09, 2009 11:49 pm
by phil
Well the mouse hook bit really is gthe easy bit :) If you do want to experiment, feel free to ask any questions.
I will certinly do my best to enjoy my hols :)

Re: Yet another feature request (LAYERS)...

Posted: Thu Sep 10, 2009 7:00 pm
by Jon Lee
phil wrote:If you do want to experiment, feel free to ask any questions.
Thanks. If I do decided to continue mucking around with it, I may just take you up on that! :-)

Cheers, -Jon.

Re: Yet another feature request (LAYERS)...

Posted: Sun Sep 13, 2009 12:03 pm
by phil
Jon,

How do you fancy trying a beta version with layer support?
I've done some stuff - its not finished with all the polish yet but it should be functional, and if you want to test it and point out any bugs or more likely, things that you would like it to do differently, then let me know and I will provide a link to the beta.

As I said, I've got hol's coming up soon so I might not be able to work on this until the end of October after today, but this should at least provide some interim solution.

Thanks,
Phil

Re: Yet another feature request (LAYERS)...

Posted: Sun Sep 13, 2009 3:04 pm
by Jon Lee
Hi Phil,

I'd be happy to beta test for you. I'll PM you with my email address and you can send the link there.

Cheers, -Jon.

Re: Yet another feature request (LAYERS)...

Posted: Tue Sep 15, 2009 3:45 pm
by wjansen
Hi Phil,

I am a new user, and VERY happy with X-Mouse! It solves nearly all the problems that I ran into, being a Kensington ExpertMouse user on a Vista x64 system.

I was reading this thread on Layers, which made me wonder if these layers will make it possible to use a button for multiple actions within one program by using extra keys. (e.g. clicking the upper right button on my trackball will be some various simulated keystrokes, and Shift-clicking that same button will be an entirely different set of simulated keystrokes.) And if there would be any way to implement a feature like that for the Shift-, Ctrl- and Alt-keys. That would create four (or even more, if you combine those keys) different sets of buttons, which for me would be extremely practical.

Is the above in any way similar to the Layers that this thread is about? And if not, would it be a feature that you'd consider implementing in the future?

Grtz,
Wouter Jansen

Re: Yet another feature request (LAYERS)...

Posted: Tue Sep 15, 2009 3:52 pm
by phil
Yes this is essentially the same thing.
The layers allow you to configure different actions on one button, and then you just need a way of switching between layers (and holding shift could be one of those ways). Each application profile (inc. default) can have its own layer defined.

Right now I'm in early stages of adding this functionality, I have 5 layers which you can switch between (only using the mouse right now). The next step is to add keyboard shortcuts to switch layers, and/or activate layers if a key is down.

I don't know when this will be finished because I have some holidays and busy weekends soon so I wont have much free time for XMBC, but its certainly in progress.

Thanks,
Phil

Re: Yet another feature request (LAYERS)...

Posted: Tue Sep 15, 2009 4:00 pm
by wjansen
Great. This is wonderful news.

If at any time you need another beta-tester, let me know.
Like Jon, I'd be happy to.

Grtz,
Wouter Jansen

Re: Yet another feature request (LAYERS)...

Posted: Tue Sep 15, 2009 4:06 pm
by phil
When I have keyboard support, I will let you know and you can test it for me.

Thanks,
Phil