Page 1 of 1

Thanks to Phil, plus 2 minor questions.

Posted: Wed Apr 18, 2018 8:07 pm
by MartyMcFly
I signed up just to say thank you to Phil for making this excellent software. I'm only using it for one shortcut - something actually quite basic and banal: one of my applications (annoyingly) doesn't allow you to assign a keyboard shortcut for a certain task. But it works beautifully! Thanks Phil! :)

I'm not going to donate at this time, but I am a graphic designer, and offer to help if any graphics are needed. (Time permitting.)

I also have 2 minor questions:

1. I've read the manual, and everything makes perfect sense. Except I can't figure out what "layers" are? I don't particularly need to know, as I've already got the software to do what I need, but I think this should be made more clear, either in the manual, or in the software (tooltips, etc). I couldn't find the answer in the forum either. What are "layers"?

2. Also, could you please confirm (I'm 99% sure this is the case) that this software doesn't allows "chording" with non-mouse buttons? So you can't, for example, chord the scroll wheel and the Control key to control volume? (For that, I use a utility called Volumouse, but it would be neat if XMBC could do it, so I don't need as many utilities.)

XMBC Version: 2.17, installed version
Windows Version: Windows 7 Home Premium x64
Mouse Information (brand/model): Logitech MX518
Number of CPU (cores) or CPU model/speed: 4 cores
Available/Total memory (RAM): 16GB
Did the problem occur after an upgrade of XMBC or Windows?: n/a
How long have you used XMBC?: 1 day
What language and keyboard layout do you use in Windows?: English

Re: Thanks to Phil, plus 2 minor questions.

Posted: Wed Apr 18, 2018 8:42 pm
by phil

Actually your two questions are somewhat related. Layers allow you to assign different functions to buttons for an application profile that you can quickly switch between with the mouse or hotkeys (/modifier keys).

So actually, with layers, you can achieve your second question (functionality of volmouse). You can for example, on layer 2, set the scroll wheel to change the volume. Then in settings -> layer modifier keys, set the CTRL key to switch to layer two while it is pressed. Hey presto, volmouse functionality (note: I prefer to use button chording to do this these days - so I can hold the right button and scroll to change the volume - but each to their own).

Layers can also be set via global hotkeys so the layer stays set once the key is released) and you can transition between layers using simulated keystrokes and also by timers (ie, switch to layer X after Y seconds).

I'm sure the manual can be improved in this area, I'll try and remember to take a look and see what I can do :).


Re: Thanks to Phil, plus 2 minor questions.

Posted: Wed Apr 18, 2018 11:09 pm
by MartyMcFly
Aaaaah! Now that's interesting. I'm glad I made this post. Thanks for your answer! :)

Now that I know what "layers" are, I really would like to make some suggestions for changing how the program works, which I think would really help people more intuitively understand what layers are and how they work.

This is going to sound pretty radical and drastic, but please hear me out because I think this might be worth considering, and I make all these suggestions very humbly for your consideration…

Firstly, get rid of the word "layers" completely. It may be that the word "layer" is a widely understood term in the world of controls? But I'm not personally familiar with it and I don't think everyone else will be either. Instead, "Layers" are now simply called "Control sets".

Next, you get rid of all the "Layer" tabs along the top, and instead just have three simple tabs: "Mouse buttons", "Scrolling" and "Other options".

Next (here's the drastic change). The layers ("control sets") are now incorporated into the Profiles window on the left. So, currently, you have just one entry per application, with a tickbox next to it. Instead: each application now has a simple title bar (with no tickbox). And under that bar - indented - you'd have the list of control sets for that application. (Which could possibly be collapsible?)

The first control set entry under each application says "Default control set". Then when you add a new control set, an entry appears such as "Controls triggered by holding SHIFT" or "Controls triggered by pressing F3". (Numbering isn't needed at all.)

Then at the bottom, instead of just an "Add" button, you now have both "Add application", and "Add control set" buttons. When you press "Add control set" a new entry appears under the application, which at first says "Controls triggered with [no key assigned yet]"

The other big change is that the modifier keys are no longer accessed in the settings. Now, when you add a "control set" to an application, quite simply, a fourth tab appears called "Trigger key". (So the tabs, in order are: "Trigger key", "Mouse buttons", "Scrolling" and "Other options".)

Here are a few advantages of this idea…

1. Having the "control sets" on the left, alongside the profiles, means that you'd now get a clear, visual representation of the hierarchical relationship between application profiles and layers. (Currently I find this extremely unclear and rather confusing - it took a bit of head-scratching to figure this out!)

2. Another thing I found really confusing is that the trigger keys are ESSENTIAL to make the layers work, yet the modifier keys hidden away in the settings - apparently not that important. Now, the all-important trigger keys would be accessible right there in the application.

3. Modifier keys are no longer globally fixed, so you can add them, remove them, and change them as you wish, tailoring them to each application. No need for "layer numbering". If you want one application to have a second layer triggered with Shift key, and another application to have a second layer triggered with Ctrl - no problem. You just set up those two control sets, and no worrying about how they relate to each other, or global keys, because they are completely independent.

4. Another minor benefit is that now the scrolling options tab, and the "options" tab, are all layer-specific.

Well, please take all this as only a humble suggestion. Admittedly, I'm not too familiar with your software yet (less than 24 hours since I installed it) and it's possible that some of these suggestions may be based on fundamental ignorance or naivety about how things work. But hopefully this was interesting, and if nothing else has pointed out certain areas that are currently confusing.

It strikes me that I had read the manual, and even I had failed to grasp that actually your software offers functions that I didn't know about. Certainly, not everyone would get this straight away, and I think it's important to make that functionality nice and clear, so people can see it's possible, and how it works. The more intuitive your software is to use, the more people will use it.

Incidentally, I don't think I will be using layers as a replacement for Volumouse, for two reasons: First and foremost, the volume speed is too slow I'm afraid (Volumouse lets me go up/down 8 at a time). Also, whenever I change layer I get a message pop up in the corner of Windows saying "activating layer 2" - I would find this irritating every time I changed volume. (Another problem I had was that every time I tried to change volume, the focus would jump back to the XMBC window - but I realised I need to close it to the tray and then this won't happen.)

Cheers :)

Re: Thanks to Phil, plus 2 minor questions.

Posted: Wed Apr 18, 2018 11:34 pm
by phil
Interesting ideas and by no means not crazy, and if I had all the time in the world I might well consider them but quite frankly, the GUI development is the most difficult bit of XMBC - being C++ it takes ages to get it "right" and the changes you suggest while perhaps sensible, would be a complete cluster f**k for me to implement in C++ without 3rd party libraries and tools which generally are not available for free. If it were .NET it would be a different matter (much quicker) but then XMBC would jump from 2Mb footprint to 40+Mb footprint and be less speedy (so thats not happening).

I will see what I can do but I am not going to make any promises. Such a re-hash would be months of work and I simply don't have the time (what little I get is generally spent on bug fixes and useful features, and as little GUI changes as possible!!!). As for changing layers to control sets, I'm not sure I would understand either term as a new/fresh user - so while it might be worth changing, im not sure control sets does it for me.

Trigger keys are by no means essential, many people use simulated keystroke macros or the XMBC context menu to switch layers... Modifier keys Is just one way that you can switch layers - and yes its a little hidden away - but the keys are not profile specific (they are the same keys across all profiles and hence with the rest of the global settings; you might argue that they should be profile specific but that would be a bit of a configuration nightmare when you have >50 profiles, each with their own "trigger" keys. Perhaps a button on the layer tab to take you striaght to the modifier key settings might alleviate things...

Regarding the speed of volume changes, yes its a bit fixed, but you can do it yourself as quick as you like using simulated keystrokes {VOL+} {VOL-} tags so there are ways around it - not that I'm suggesting you don't use volmouse of course. Actually on my main desktop I use a combination of XMBC button chording and another utility (which i cant remember the name of but I was introduced to it here on the forums).


Re: Thanks to Phil, plus 2 minor questions.

Posted: Wed Apr 18, 2018 11:45 pm
by MartyMcFly
OK, thanks. I do appreciate that GUI stuff is difficult.

Bear in mind that I don't particularly need any of those changes myself because I now understand how the software works - I was really just thinking of new users after me, making the software as "fool proof" as possible and bringing hidden features to the foreground, so that more people can get the most out of your software.

As you say, just having some kind of link to the trigger key setting would help a lot. Why can't you just let people set the key right there? Or have a reminder at the top of what the trigger key is.


Re: Thanks to Phil, plus 2 minor questions.

Posted: Wed Apr 18, 2018 11:48 pm
by phil
MartyMcFly wrote:
Wed Apr 18, 2018 11:45 pm
Why can't you just let people set the key right there? Or have a reminder at the top of what the trigger key is.
Yes that might be a good option, I will certainly have a think about it, the only confusion is that it applies to all application/window profiles, but I can probably word it such that that is less of a problem.

Re: Thanks to Phil, plus 2 minor questions.

Posted: Thu Apr 19, 2018 1:28 am
by MartyMcFly
Anyway, thanks again, it's a great little program :)