If this isn't the right thread to report bugs in I'll be happy to move this somewhere else. Thanks

Just a thought: could you use the DoubleClickWidth setting in the registry (HKCU>ControlPanel>Mouse)? It seemslikew a consistant usage.phil wrote:it needs to be a small number... 5 seems to work really well, and if I don't need to offer a choice, its much easier. 2.16 beta 1 is now out with this fix only so we can play around and see if it works as it is.
I presume that because of the different user resolutions and mouse speeds/sensitivity it will be necessary to offer the choice, at least in a narrow range (e.g. from 1 to 10). But for testing purposes we can use it as it is now
Thanks for your reply and openness, Phil. This issue has been pestering me countless times for over 10 yrs (and yes, I'm one of your founding XMBC users! - and sorry for not posting this sooner). Unless the app window can tolerate the layer key(s) being included along with the Sim Keys (and so many can't), the key sequence fails miserably. I've had to abort numerous potentially awesome automation opportunities (and wasted quite a few hours trying to fudge things to work around the issue) because of this.phil wrote:hummm that's an interesting one... Right now, I can see how that could be a problem, but some people actually make use of this problem, so if I change it it may break other things, hummmm....
I will think on it for now and see if anyone else has any comments.
Actually, if someone wanted this to happen, they could use the {layer} commands in sim keys, so on reflection, its probably safe to ignore if I can
Hi Again Phil,JTB3 wrote:Hi Phil,
Not sure if this is a 'Beta' feature request/fix or if there already exists a workaround for this issue:
My issue is that the 'Layer Modifier Keys' are interfering with the 'Simulated Keys' that I'm attempting to send to an application window.
Thanks for your reply, Phil.phil wrote:Oh right, now I understand. The problem is, that to do this, I need to block keys and that's going to cause problems - not least, being very annoying if shift (or others) is blocked and does not work as expected. For starters, how do I know you are pressing shift to modify the layers as opposed to writing an upper case character. Second, blocking means then having to inject the key at a later time - and some programs (games) don't accept injected keys which could render the key completely useless. Also, some programs that use direct input and then the keys cant be blocked in a hook.
You're not the first to mention this, I didn't relate your earlier question to this, I thought that your simulated keys were triggering layers - that's a little easier to do something about because you can tell if a key was injected vs a physical (hardware) key being pressed.
To block keys used in layer modifiers is something completely different and far more difficult to accomplish reliably. Having said that, I could use similar techniques to button chording - but trying to predict what your going to do ahead of time is impossible - so its going to introduce lag/unwanted behaviors.
Yes, you're correct Phil (I had a brief moment of fantastical thinking!)phil wrote:An interesting idea (to only look to see if a layer modifier key is down when the mouse button/wheel is sent) but I think there is a problem with that because AFAIK, the only way a key press can be blocked is in a keyboard hook, as it does now. It cant wait until a mouse button is pressed and then decide to go back and block the key so the key will still be held down.
But you can already do that with global hotkeys can you not? Just set the revert timer on the layer.injtsvetkov wrote:So the idea is to implement a new type of a modifier key with a timer to count how long it has been held down. That way the layer won't be changed at the 'key pressed' message, but if the key is released within a specified period e.g. 100 ms. If the key is released after 100 ms XMBC will do nothing. That way Shift, Ctrl, etc. could be used normally without switching the layer every time you use them for other purpose, you just have to adjust the timer to suit you best. This could be a decent workaround for people like JT who need to use Layer modifier keys in combination with other modifiers.
Thx for your response Phil, and congrat's on your new job change!phil wrote:Yes XMBC uses a keyboard hook to look for the layer modifier keys, and while the key is down, the layer is switched. The problem is, delaying a key (by delaying I mean blocking and then re-simulating after some time has passed and I can be sure that your not modifying the layer) until it knows if a mouse button is also pressed is going to, at best introduce keyboard lag and at worse, not work at all (as I said before).
How long should it wait...
While I can appreciate this workaround idea, I can also sense problematic edge cases where unexpected behaviors (and frustration) would occur.injtsvetkov wrote:So the idea is to implement a new type of a modifier key with a timer to count how long it has been held down. That way the layer won't be changed at the 'key pressed' message, but if the key is released within a specified period e.g. 100 ms. If the key is released after 100 ms XMBC will do nothing. That way Shift, Ctrl, etc. could be used normally without switching the layer every time you use them for other purpose, you just have to adjust the timer to suit you best. This could be a decent workaround for people like JT who need to use Layer modifier keys in combination with other modifiers.
Yes, of course! I've also thought of that but there are certain scenarios when it wouldn't be appropriate to use the revert timer (and I suppose that's when people have to use Layer modifiers) because it restricts you to the exact period of reverting to the previous layer and if you need a different period each time you use that Layer modifier you end up with either less time than you need to complete the desired task or with more time than you need and you are forced to wait.phil wrote:But you can already do that with global hotkeys can you not? Just set the revert timer on the layer.