Re: Implement Mouse Chording
Posted: Sun Nov 06, 2016 7:07 pm
IDEA 1:
Just theorically would be it possible to increase chords from 2 to 3? Some examples:
RMB with MB with 4thB, 5thB with RMB with Tilt left, MB with 4thB with LMB
Now with 2 buttons chords it works like I keep pressed one button and then click another one. If I won't click another one but release first then chord is not activated.
In case of 3 buttons achord there could be problem I have two solutions for.
FIRST solution:
Let say we have some action bound to:
- pressed and released 4thB
- pressed and kept 4thB then pressed and released RMB
- pressed and kept 4thB then pressed RMB and then pressed MB
In case of 3rd point you don't need actually release MB, because XMBC doesn't wait for signal of another button. So it is like now with 2 button accord the most.
SECOND solution:
Let say we have some action bound to:
- pressed and released 4thB
- pressed and kept 4thB then pressed and kept RMB for up to 500 ms *
- pressed and kept 4thB then pressed RMB and then during 500 ms pressed MB **
* it may be combained with FIRST solution. If you release RMB during 500 ms an action will be triggered for 2 buttons accord
** it doesn't have to be 500 ms, but any time individual user needs for a delay. So it could be adjusted from 0ms to any time higher ***
*** I think best would be to adjust it by additional option in the deepest chording menu where we could enter a value for this chords combination
Of course I'm aware that SECOND solution needs to realize another project, so great like chording so far. It had to involve a new function, a custom delay after pressing some button. Fortunately there is workaround what is given by FIRST solution in my opinion.
Now when we want to set a chord we have to choose from dropdown list a chording. If there would be 3rd chord, it needed to choose again chording from a level deeper dropdown list.
------------------------------------------------------------------------------------------------------------------------------
IDEA 2:
Would be it possible to reconfigure TILT by XMBC that we can use it as another initial chord button. Normal button works that when you press it, it sends single signal. Tilt works that it sends single input, but if you don't leave it then it send second CONSTANT signal, so a little like you would scroll a roll with no end or repeadetly click some other regular button with just few MS delay between.
I had one wrongly programmed mouse that tilt started working from phase 2 of above behaviour. So when I tilted a roll it didn't stop after first input (that I had chance to realease it in proper time), but was sending one long non-stop signal repeating action bound to. <-- these 2 sentences are some off-thought
Because of regular behaviour of tilt you couldn't make it as initial chord button, but maybe would be possible you somehow tried to make the second phase didn't started while the first, that short signal didn't break without untilting a roll. I guess it's easy to delay that first signal, but the question is can that signal be unbrekable, so worked as pressed button (not released even if you keep it pushed), that you may click any other to let work them as chords.
------------------------------------------------------------------------------------------------------------------------------
SOME MATHEMATICS:
Let's assume there is maximally 5 buttons mouse with 4 direction roll where each direction works as a button, that you can make each of them initial chord. If you have a mouse with 2 buttons, thanks to chording you gain 2 x 2 = 4 buttons. For example, only left, only right, right with left, and left with right. So increasing a mouse of every additional button up to 9 you get them: 3 x 3, 4 x 4, 5 x 5, 6 x 6, 7 x 7, 8 x 8 and 9 x 9, accordingly that would be:
2 buttons mouse gives 4 buttons
3 buttons mouse gives 9 buttons
4 buttons mouse gives 16 buttons
5 buttons mouse gives 25 buttons
6 buttons mouse gives 36 buttons
7 buttons mouse gives 49 buttons
8 buttons mouse gives 64 buttons
9 buttons mouse gives 81 buttons
Of course we can't use a tilt and scroll as intitial chord button. Actually SCROLL for sure, but if Phil is able to make it then what would be great a TILT not, it could be initial button after some reprogramming.
Anyway I focus on that we can have now, so max 5 buttons mouse recognized by Windows and 4 direction scroll. I just say a final number of all combination. It is 49 buttons (regular and chording) / with a tilt worked like I described even 75! So impressive that simple mouse when you know how to use it, with XMBC it's not only a mouse, and people who works like me but are not aware of this tool can't imagine even how much time and fun they lose. Take into consideration that each of those 49 buttons you can use not only with single command but longer commands of simulated keystrokes with different methods and 10 layers. So just for example as there are not maniacs to do so in fact, in each of 10 layers you can contain some language alphabet with some digits and characters relevant to this language.
It's funny that some brands don't make mouses with tilt, while others got only 1 - 3 models with, others did them in past in most models but with time reduced to just few or ZERO. I see only Logitech still make many mouses with tilt, even without 4th and 5th buttons, however many of their modern models like I noticed is useless to use with XMBC as are not recognized by windows or they are but some strange way. Okey so that's it about my ideas and thought. Phil it's now your turn to do it (in your limited time )
Just theorically would be it possible to increase chords from 2 to 3? Some examples:
RMB with MB with 4thB, 5thB with RMB with Tilt left, MB with 4thB with LMB
Now with 2 buttons chords it works like I keep pressed one button and then click another one. If I won't click another one but release first then chord is not activated.
In case of 3 buttons achord there could be problem I have two solutions for.
FIRST solution:
Let say we have some action bound to:
- pressed and released 4thB
- pressed and kept 4thB then pressed and released RMB
- pressed and kept 4thB then pressed RMB and then pressed MB
In case of 3rd point you don't need actually release MB, because XMBC doesn't wait for signal of another button. So it is like now with 2 button accord the most.
SECOND solution:
Let say we have some action bound to:
- pressed and released 4thB
- pressed and kept 4thB then pressed and kept RMB for up to 500 ms *
- pressed and kept 4thB then pressed RMB and then during 500 ms pressed MB **
* it may be combained with FIRST solution. If you release RMB during 500 ms an action will be triggered for 2 buttons accord
** it doesn't have to be 500 ms, but any time individual user needs for a delay. So it could be adjusted from 0ms to any time higher ***
*** I think best would be to adjust it by additional option in the deepest chording menu where we could enter a value for this chords combination
Of course I'm aware that SECOND solution needs to realize another project, so great like chording so far. It had to involve a new function, a custom delay after pressing some button. Fortunately there is workaround what is given by FIRST solution in my opinion.
Now when we want to set a chord we have to choose from dropdown list a chording. If there would be 3rd chord, it needed to choose again chording from a level deeper dropdown list.
------------------------------------------------------------------------------------------------------------------------------
IDEA 2:
Would be it possible to reconfigure TILT by XMBC that we can use it as another initial chord button. Normal button works that when you press it, it sends single signal. Tilt works that it sends single input, but if you don't leave it then it send second CONSTANT signal, so a little like you would scroll a roll with no end or repeadetly click some other regular button with just few MS delay between.
I had one wrongly programmed mouse that tilt started working from phase 2 of above behaviour. So when I tilted a roll it didn't stop after first input (that I had chance to realease it in proper time), but was sending one long non-stop signal repeating action bound to. <-- these 2 sentences are some off-thought
Because of regular behaviour of tilt you couldn't make it as initial chord button, but maybe would be possible you somehow tried to make the second phase didn't started while the first, that short signal didn't break without untilting a roll. I guess it's easy to delay that first signal, but the question is can that signal be unbrekable, so worked as pressed button (not released even if you keep it pushed), that you may click any other to let work them as chords.
------------------------------------------------------------------------------------------------------------------------------
SOME MATHEMATICS:
Let's assume there is maximally 5 buttons mouse with 4 direction roll where each direction works as a button, that you can make each of them initial chord. If you have a mouse with 2 buttons, thanks to chording you gain 2 x 2 = 4 buttons. For example, only left, only right, right with left, and left with right. So increasing a mouse of every additional button up to 9 you get them: 3 x 3, 4 x 4, 5 x 5, 6 x 6, 7 x 7, 8 x 8 and 9 x 9, accordingly that would be:
2 buttons mouse gives 4 buttons
3 buttons mouse gives 9 buttons
4 buttons mouse gives 16 buttons
5 buttons mouse gives 25 buttons
6 buttons mouse gives 36 buttons
7 buttons mouse gives 49 buttons
8 buttons mouse gives 64 buttons
9 buttons mouse gives 81 buttons
Of course we can't use a tilt and scroll as intitial chord button. Actually SCROLL for sure, but if Phil is able to make it then what would be great a TILT not, it could be initial button after some reprogramming.
Anyway I focus on that we can have now, so max 5 buttons mouse recognized by Windows and 4 direction scroll. I just say a final number of all combination. It is 49 buttons (regular and chording) / with a tilt worked like I described even 75! So impressive that simple mouse when you know how to use it, with XMBC it's not only a mouse, and people who works like me but are not aware of this tool can't imagine even how much time and fun they lose. Take into consideration that each of those 49 buttons you can use not only with single command but longer commands of simulated keystrokes with different methods and 10 layers. So just for example as there are not maniacs to do so in fact, in each of 10 layers you can contain some language alphabet with some digits and characters relevant to this language.
It's funny that some brands don't make mouses with tilt, while others got only 1 - 3 models with, others did them in past in most models but with time reduced to just few or ZERO. I see only Logitech still make many mouses with tilt, even without 4th and 5th buttons, however many of their modern models like I noticed is useless to use with XMBC as are not recognized by windows or they are but some strange way. Okey so that's it about my ideas and thought. Phil it's now your turn to do it (in your limited time )