XMBC 2.14 Beta

x64 Replacement/Alternative to Microsoft's IntelliMouse application.
Forum rules
Please read the forum rules before posting for the first time.
The more information you can provide, the quicker and more accurately someone can help.
NOTE: To reduce spam, new users can not post links, files or images until they have at least 4 posts.
User avatar
Kukurykus
Fanatic
Posts: 388
Joined: Sat Jul 02, 2016 1:15 pm

Re: XMBC 2.14 Beta

Post by Kukurykus »

I'm glad XMBC got new feature, exactly that I thought up mylef 2 years ago but never mentioned about. Good that someone else did that, because Swap and Copy makes that I don't have to paste to notepad long code lines of Simulated Keys both from each button it was bound to and all layers often few applications they worked together, what by the way could be done wrongly, and then copy everything back to choosen anew proper apps / layers and buttons....
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: XMBC 2.14 Beta

Post by phil »

Yes, it is something I should have done when I first introduced layers. But I got there in the end after a little persuasion!
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
injtsvetkov
Fanatic
Posts: 293
Joined: Mon Jun 06, 2016 8:51 am

Re: XMBC 2.14 Beta

Post by injtsvetkov »

Hi Phil, while testing some things it came to my mind that I can increase the 'Delay between simulated keystrokes' to 2-3 sec to see what exactly is going on but it turned out that the maximum value allowed is 60 ms. Can you make higher limit (e.g. some error messages are showing in excel and I need a few seconds to read them :)) or there are other limitations?

Thank you!
Iliya
HAMA Mirano
Windows 8.1 x64, Intel i5-3230M @ 2.60GHz, 4GB
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: XMBC 2.14 Beta

Post by phil »

You can add your own delays with the {wait} and {waitms} tags, so doing this globally seems a liitle pointless (esp. if its just for debugging)?
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
injtsvetkov
Fanatic
Posts: 293
Joined: Mon Jun 06, 2016 8:51 am

Re: XMBC 2.14 Beta

Post by injtsvetkov »

Yes of course :) that's what I did, but it was quite long sequence of commands in excel and it acted differently each time depending on what is initially selected (or what gets selected during the execution), I even thought that there may be some interference between two chords with the same second button, but I was wrong :P. I ended up dividing it into 2 layers (looping with the same button) to see how each half behaves, so it took about 30 min wrestling (adding/removing and changing multiple delays) while if I could use the global setting I would have sorted it all out in less than 5 min. So I thought that since the option is already there then probably it would be easy to adjust the limit but I am not sure whether that would do some harm to something else or if there are some major limitations that I don't know of, so it's up to you :) but I can assure you that it is definitely not pointless (again if it won't do any harm).

Actually, part of the problem was that when I change the input from Latin to Cyrillic some of the commands didn't get executed, so I had to substitute some commands with others to avoid using letters. For example if I enter Latin characters in 'Simulated keys' when I activate Cyrillic input the characters entered in excel are also Cyrillic and it all becomes a mess. However in certain cases the characters entered in 'Simulated keys' get entered in excel without change regardless of the currently active input. Do you have an idea/advice coz certainly I have to do some more tests to clear the image and to find some kind of pattern and think of a possible workaround.

Greetings!
Iliya
HAMA Mirano
Windows 8.1 x64, Intel i5-3230M @ 2.60GHz, 4GB
User avatar
injtsvetkov
Fanatic
Posts: 293
Joined: Mon Jun 06, 2016 8:51 am

Re: XMBC 2.14 Beta

Post by injtsvetkov »

OK, here is the whole picture, on the left side of the '=' is what's entered in 'Simulated Keys' in XMBC, and on the right side is what gets entered in excel's cell (e.g. Latin letter 'H' corresponds to Cyrillic letter 'X'):

Active input: English (United States)
Capital Cyrillic letter = Capital Cyrillic letter (X = X)
Lowercase Cyrillic letter = Lowercase Cyrillic letter (x = x)
Capital Latin letter = Lowercase Latin letter (H = h)
Lowercase Latin letter = Lowercase Latin letter (h = h)

Active input: Bulgarian (Phonetic Traditional):
Capital Cyrillic letter = Capital Cyrillic letter (X = X)
Lowercase Cyrillic letter = Lowercase Cyrillic letter (x = x)
Capital Latin letter = Lowercase Cyrillic letter (H = x)
Lowercase Latin letter = Lowercase Cyrillic letter (h = x)

Seems that the Cyrillic characters are always entered in excel as they are in XMBC regardless of the active input, however the Latin characters depend on the currently active input. Maybe someone else who uses different input has also reported that, sorry if so. Anyway I think I have some clue about why that's happening but it's too fuzzy and I can't explain it. I'll try if I must but I think you would know better. The only suggestion that I can think of at the moment is adding a tag that would send the characters exactly how they are entered in XMBC regardless of the case and the active input (like the Cyrillic characters). Hopefully you could find better/global solution :)

The only workaround I found is setting specific hot key for English input (e.g. Ctrl+Shift+9) and entering it before the sequence in 'Simulated Keys' so it will always change to English before executing the sequence.

Greetings!
Iliya
HAMA Mirano
Windows 8.1 x64, Intel i5-3230M @ 2.60GHz, 4GB
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: XMBC 2.14 Beta

Post by phil »

Sorry, I haven't got a clue. It does not help that I only have an English keyboard and don't know any other languages. All I do know is that the multi-language thing is a pain in the a** and clearly I still haven't got it right :(

Not sure what more I can do though.
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
injtsvetkov
Fanatic
Posts: 293
Joined: Mon Jun 06, 2016 8:51 am

Re: XMBC 2.14 Beta

Post by injtsvetkov »

Well I'll try to explain it the way I see it though I'm not sure if I'm on the right track :(.

I have seen in MS Word that every character/symbol has a specific code in the different encoding systems (Unicode, ASCII ...). For example if I now press Alt+366 I get the Lowercase 'n' and Alt+334 gives Uppercase 'N' regardless of the input language. The same is with the Cyrillic letters e.g. Alt+405 gives the Uppercase Cyrillic letter 'X' (which sounds like the English 'H'). Now I am not sure that the result will be the same on your side since you probably don't have Cyrillic fonts installed but you can try that range:
Alt+401 = С
Alt+402 = Т
Alt+403 = У
Alt+404 = Ф
Alt+405 = Х

So I presume that currently XMBC somehow is interpreting the Cyrillic letters as their code and it sends that code when executing them. However the Latin letters seems to be interpreted/sent somehow like Virtual keys so the result depends on what input language is currently active. I thought that the logical (global) solution might be to send the Latin letters by their code too but on second thought that might cause some unwanted behavior (e.g. when sending commands like '{CTRL}C'). That's why I thought that maybe it would be more reliable to use a tag (e.g. {!}) to enclose the string of letters that must be sent via codes instead of Virtual keys. I know it's far from perfect but was hoping that you might have something better in mind :)

BTW I tried to send some Virtual keys via 'Simulated Keys' but here is what I got (google says 0x55 = U):
{VKC:0x55} = nothing
{VKC:55} = 7

Am I doing it wrong or something isn't right?

Greetings!
Iliya
HAMA Mirano
Windows 8.1 x64, Intel i5-3230M @ 2.60GHz, 4GB
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: XMBC 2.14 Beta

Post by phil »

XMBC uses keyboard scancodes where possibnle and it uses windows APIs to cvonvert the character to the scancode based on the active language.

0x55 is 55 'hex which is 85 decimal so try {vkc:85}

PS, if you turn on debug logging, you should see the virtual keycodes and scan codes that XMBC is sending in the log file.

Thanks,
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
injtsvetkov
Fanatic
Posts: 293
Joined: Mon Jun 06, 2016 8:51 am

Re: XMBC 2.14 Beta

Post by injtsvetkov »

Thanks for the tips :)

Here is what I got from the log file:

Entered in 'Simulated Keys': Д{RIGHT}Н
SendInput::SendKeyState: VKCode=0x0 Scan code=0x414 SendMode=0x4 Flags=0x0 Release=0:
SendInput::SendKeyState: VKCode=0x0 Scan code=0x414 SendMode=0x4 Flags=0x0 Release=1:
SendInput::SendKeyState: VKCode=0x27 Scan code=0x4d SendMode=0x8 Flags=0x0 Release=0:
SendInput::SendKeyState: VKCode=0x27 Scan code=0x4d SendMode=0x8 Flags=0x0 Release=1:
SendInput::SendKeyState: VKCode=0x0 Scan code=0x41d SendMode=0x4 Flags=0x0 Release=0:
SendInput::SendKeyState: VKCode=0x0 Scan code=0x41d SendMode=0x4 Flags=0x0 Release=1:
Where 0x414 and 0x41d are the scan codes for the Uppercase Cyrillic letters 'Д' and 'Н' (respectively 0414 and 041D are their Unicode (hex) codes).

Entered in 'Simulated Keys': F{RIGHT}W
SendInput::SendKeyState: VKCode=0x46 Scan code=0x21 SendMode=0x8 Flags=0x0 Release=0:
SendInput::SendKeyState: VKCode=0x46 Scan code=0x21 SendMode=0x8 Flags=0x0 Release=1:
SendInput::SendKeyState: VKCode=0x27 Scan code=0x4d SendMode=0x8 Flags=0x0 Release=0:
SendInput::SendKeyState: VKCode=0x27 Scan code=0x4d SendMode=0x8 Flags=0x0 Release=1:
SendInput::SendKeyState: VKCode=0x57 Scan code=0x11 SendMode=0x8 Flags=0x0 Release=0:
SendInput::SendKeyState: VKCode=0x57 Scan code=0x11 SendMode=0x8 Flags=0x0 Release=1:
Where VKC=0x46 and SC=0x21 both refer to 'F' key, VKC=0x57 and SC=0x11 both refer to 'W' key and since there are no active modifier keys I get lowercase letters 'f' and 'w' when English input is active. But when Bulgarian input is active I get 'ф' and 'в' which respectively are the Cyrillic letters corresponding to 'f' and 'w' keys.

I suppose that the SendMode value determines which of the two methods has the higher priority and since in the first example there are no VKCodes for those letters it falls back to the Scan code method. However I'm a bit confused about the second example, whats the point in getting both the VKC and the SC for the same key. As there are different scan codes for each Uppercase and Lowercase Latin letter, I suppose that there is a way to get the scan code for the entered character instead of the key (which it already has the VKCode for). After that some method would be needed to determine which of the two values to be sent when executing. And here it gets complicated coz in case the both types are needed in a single 'Simulated Keys' command the only way I can think of doing it is via some kind of tag. Here are some examples:
{some tag}asdf{some tag} to send the Scan codes for those four characters instead of VKCodes
or maybe
{???:<string>}

I don't know if that's possible at all but I can't think of anything else :(

BTW I noticed that when I turn on Debug mode via Hotkey the pop-up notification says 'Debugging disabled' and when I turn it off it says 'Debugging enabled'

Greetings!
Iliya
HAMA Mirano
Windows 8.1 x64, Intel i5-3230M @ 2.60GHz, 4GB
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: XMBC 2.14 Beta

Post by phil »

Here is 2.14 Beta 6

If you have check for beta versions enabled, there was a problem in earlier 2.14 betas which means you will have to update manually if you are on 2.14 beta 2 or 3. Otherwise you should get notified of a new version and prompted to update in the next day or so. This is the most efficient method (bandwidth wise) as the updates are only a fraction of the size of the full install. Otherwise, you can get the full installation beta HERE. Note that this link will always get you the latest beta version!

Changes since v2.14 Beta 5:
  • #409 - Added Enhance Pointer Precision option (same as mouse control panel).
  • #408 - Changed "Search Selected Text" to "Web Search Selected Text".
  • #407 - Changed "Search Charm (WIN+Q)" to "Cortana Search" on Windows 10.
  • #406 - Increased space for (ms) and (min) translations on advanced settings tab.
  • #405 - Added missing translations.
  • #404 - Improved settings layout to fit on smaller screens.
  • #403 - Debug icon does not show until XMBC is disabled/enabled.
  • #402 - Debug icon looks wrong on high DPI screens.
There is a new language template included with some new translations for this beta.

Any problems, PM me a copy of the log file (or post a snippet in a code block here).

Thanks,
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
User avatar
JTB3
Dedicated
Posts: 62
Joined: Thu Aug 04, 2016 1:52 am

Re: XMBC 2.14 Beta (Suggestion)

Post by JTB3 »

Hey Phil,
Recently I started using the 'Check for new (Beta) version' option in settings. As you recently pushed the new Beta 6, today I got the tray notification - and when I clicked on it, the pop-up dialog window asked me if I wished to download the new beta version (yes or no).

At that point what I would have really liked to see is an additional button/link to 'view the changelog'. This way I could have seen what new fixes/changes were in store before deciding to download/install.

Would this be relatively easy to implement? Provide a link/button that, when clicked, opens the permalink to the forum post that lists the changes in the default browser? Many of the other software/utilities I have use a similar technique.

There is currently no easy way to see the changes now. I had to search my computer (or google) for the x-mouse forum link, and then navigate to this post (all quite time consuming).

I hope this suggestion is truly useful - and thanks again for creating this great utility!
-JT
System: Win10 Pro-x64 v1702+v1607, Intel i7-7700K (Z270) + i7-4771 (Z87)
Logitech M570 Wireless (5-Button) Trackball + M705 (5-Button) Marathon Mouse
[Bay Area, California]
User avatar
phil
Site Admin
Posts: 7627
Joined: Sun Apr 06, 2003 11:12 pm

Re: XMBC 2.14 Beta

Post by phil »

Hi JT,

well, I maintain a public change log for the full releases, but there is not static location for the change log for the beta's - sure there is a forum post, but that changes for each betas which would mean reprogramming the link every time. The only option would be to maintain a separate change list page, which I guess sis possible (there is a change list inside the installer, so I could just copy that to the web site with some script I guess - so I don't forget :)).

I'll add it to the list. Naturally, it wont be effective until the version after I add it :).

Thanks,
Phil
--[ Phil ]--
--[ Administrator & XMBC Author ]--
Logitech G9/G604/M720/MX518, Microsoft Intellimouse, Trust 16341 BT Mouse
Windows 10 x64, AMD Ryzen 5900x, MSI x570 Tomahawk, 32GB DDR4,
nVidia RTX 2070s, Evo 970 1Tb NVME, 2x2TB WD Black (RAID1)
xmbcjoef
New User
Posts: 3
Joined: Fri Dec 09, 2011 6:39 pm

Re: XMBC 2.14 Beta

Post by xmbcjoef »

Here's a suggestion for a little tweak.

In Windows 10 make the notification icon hollow instead of all white.
Then have it become all white to show a pending message

In Windows 10 I noticed all the notification icons are now hollowed out and become filled in during a pending message

X-Mouse would fit in very nicely if it did the same

thanks
Joe F
User avatar
injtsvetkov
Fanatic
Posts: 293
Joined: Mon Jun 06, 2016 8:51 am

Re: XMBC 2.14 Beta

Post by injtsvetkov »

Currently when clicking on a topic in the forum it always opens the first page, so every time you have to click to the last page to view the most recent posts. It would be more practical if it directly opens the last page of the topic. That way if you use the link of the topic reprogramming will be necessary only when starting a new 'beta phase' instead of at every single beta, plus it would bring some additional visits the forum :wink:

Greetings!
Iliya
HAMA Mirano
Windows 8.1 x64, Intel i5-3230M @ 2.60GHz, 4GB
Locked