Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

ATI Remote Wonder II

Questions and comments specific to a particular plugin should go here.
BobbyH
Posts: 13
Joined: Sat Jun 11, 2016 3:04 pm
Location: Houston, Texas

Re: ATI Remote Wonder II

Post by BobbyH »

Ok, I tried the first of the two, and I got this in the error log:

---> Welcome to EventGhost <---
Autostart
Plugin: ATI Remote Wonder II (WinUSB)
Main.OnInit
AtiRemoteWonder2.PC
Exception in thread MouseThread:
Traceback (most recent call last):
File "threading.pyc", line 532, in __bootstrap_inner
File "C:\Program Files (x86)\EventGhost\plugins\Mouse\__init__.py", line 92, in run
if data[0] == -1:
TypeError: 'float' object is unsubscriptable

I think I'm going to download Python and see if I can't make it worse while I wait... lol
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

why would you download python???


almost everything that is apart of eventghost is a text file and can be edited very easily.

you can use a full tile IDE like pycharm or visual studio. or you can use a pumped up text editor like sublime text or notepad++. or you can go really basic and make yourself crazy with good ol fashioned notepad.

just a suggestion tho. whatever it is you use. choose a dark color scheme so it won't mess up your eyes as bad.


lol



but the 2nd one i modified i am feeling pretty confident it will correct the problem. so i would give it a try first
If you like the work I have been doing then feel free to Image
BobbyH
Posts: 13
Joined: Sat Jun 11, 2016 3:04 pm
Location: Houston, Texas

Re: ATI Remote Wonder II

Post by BobbyH »

Lol... I don't know, it sounded like a good idea in my head at the time... I didn't get far in it. I've used Notepad++ before for AutoIT. I'll look at those other two soon enough too. And that suggestion about dark color schemes is duly noted.

Well, I hate to bring more bad news. I tried the second one you modified again, and got the same error message:

---> Welcome to EventGhost <---
Autostart
Plugin: ATI Remote Wonder II (WinUSB)
Main.OnInit
AtiRemoteWonder2.PC
Exception in thread MouseThread:
Traceback (most recent call last):
File "threading.pyc", line 532, in __bootstrap_inner
File "C:\Program Files (x86)\EventGhost\plugins\Mouse\__init__.py", line 98, in run
self.initSpeed = data[1]
IndexError: tuple index out of range

I noticed, at least compared to the original file, it's now producing that tuple index error. I read up on it, but I couldn't wrap my head around it... To the best of my understanding, it sounds like a relational database, or something like that.
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

ok here is the skinny on that. and it's funny i happen to have just about finished up a plugin for someone with an x10 mouse remote. and while i was coding it (yesterday basically) i took a break and saw this post for this remote. and your problem and decided to tinker with it.


here is the problem. to post a mouse event (make the mouse move) it requires 3 parameters.

first one is direction, second is speed, and 3rd is acceleration.

now that being said i am sure this is exactly like the problem i just had to deal with.

the commands that come from a mouse are 3 bytes long. the actual control is at the bit level. and there are 8 bits to a byte. and that is how they are able to get all that data. data being y,x coordinates direction speed travel distance all the various button presses.. yadda yadda yadda...

i have been able to get some of the data. all the button presses and a direction for travel.

now i can fudge factor the rest but i will have to add some control to the plugin config dialog so the user can adjust the speed and acceleration to their liking. it would be pretty quick to do. but..... it will work but may move a little fast for someone or a little slow for another. and i do not own one of these mouse remotes to be able to effectively troubleshoot. it's very difficult. so if in the event there is a problem you have to be patient as there will be some back and forth as i correct the problems. now. this can go on over the course of a day or to or a week or 2 depends on how often replies are made on the forum. and it's going to be a try this and then a try that. i am pretty sure i will be a whole lot less then the last and i should be able to just copy and paste the bulk of the code right into it and have it work.

but you as the user of the plugin are going to have to really fine tune the speed settings and that is going to take some time for you to get exactly right.

if you are ok with this process then i will fix the plugin.

if now then i won't..

just don't get impatient and give up. because there is one thing i am and that's a problem solver and i do not give up and do not believe in "it can't be done"
If you like the work I have been doing then feel free to Image
BobbyH
Posts: 13
Joined: Sat Jun 11, 2016 3:04 pm
Location: Houston, Texas

Re: ATI Remote Wonder II

Post by BobbyH »

Ah! This is all pretty fascinating! I didn't know that about mouse events. So, with any given triggered event, EventGhost would read something like: 00010001, 10101010, 1111000 for example, to determine where the mouse is going, at what speed, and where it will stop at what coordinates? And are those 3 bytes limited to hexadecimal by chance, e.g. F,3,A? I'll be sure to impress the ladies with all this new found knowledge lol.

Anyway, I'm as patient as they come, especially when I have little to no idea how something operates. The last few items I did back-burner were because it was becoming less efficient than finding an alternative for what the project was worth. So, I'm definitely up for a joint effort in getting this going. In fact, if you can point me in the right area, I wouldn't mind making the small adjustments myself and sending you feedback based on my experiences with it. Maybe even a video or something if need be.

As for
kgschlosser wrote: ...there is one thing i am and that's a problem solver and i do not give up and do not believe in "it can't be done"

We're in the same boat here. :)
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

Hex is just a representation of the bits just like decimal octal hex.

But there are 8 bits to a byte and so you have 24, 1's and 0's.

2 ^24 = 16777216 possible combinations

Thats a big number

And I do not know how to extrapolate anything other than button presses for the left and right buttons and a heading in degrees 0 being up and 180 being down.

So if we add the speed and acceleration manually with a computation to adjust based on how long you press so it doesn't shoot out of the gate all quick. We have a complete set of instructions for the mouse. I will work on it shortly I have a lot of the stuff already hammered out from the x10 mouse remote plugin. But bugs always do appear.
If you like the work I have been doing then feel free to Image
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

It depends. If event ghost is acting as a go between and passing data to Windows then yes. Because I do not think there is a direct API to Windows for just passing the hex values. That would be the driver that handles that. But there is an API for moving the pointer. So the computation has to be done and then passed to the API for pointer movement

Now there is also a 4th and 5 the byte for the mouse for all the extra buttons and wheels

But it can receive mouse events from Windows as long as whatever is being done is inside of a window that was created by event ghost
If you like the work I have been doing then feel free to Image
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

ok here is the first version give it a try and lemme know if it works and how it works.

you should be able to just drop this file right over the old file. make sure you backup the old one first. and also right click the plugin in the tree and click configure afterwards. the options for the mouse movement are in there. i also added a debug routine to see how many times a code fires per button press.

last remote was one time for the normal buttons and 3 times for mouse movements and mouse buttons. and this was per press.

i am also going to alter how it posts events. well going to give the user an option. of either the enduring method, or the normal method. so i need to know the number of times a code gets fired off to allow me to add some trimming options for button presses for accidental "long press" everyone holds the button just a slight bit different than each other. that way it will only fire an event one time per press. this makes it easier for the user to add simple event/action macros.

and i personally like watching the screen in eg fly by it lets me know that something is actually happening and doesn't stop eg from posting events while it's sitting there polling for a single remote press.



K
Last edited by kgschlosser on Mon Jun 27, 2016 5:22 am, edited 1 time in total.
If you like the work I have been doing then feel free to Image
BobbyH
Posts: 13
Joined: Sat Jun 11, 2016 3:04 pm
Location: Houston, Texas

Re: ATI Remote Wonder II

Post by BobbyH »

Alrighty, well I finally had a chance to try it. Between work and a few car problems, I haven't had the opportunity to try out your latest fix. Regrettably, looks like this one doesn't work either. Here's what I'm getting in the logs:

Code: Select all

---> Welcome to EventGhost <---
Autostart
   Plugin: ATI Remote Wonder II (WinUSB)
Main.OnInit
AtiRemoteWonder2.PC
Traceback (most recent call last) (1722):
  File "C:\Program Files (x86)\EventGhost\eg\Classes\WinUsb.py", line 291, in MsgHandler
    self.callback(value)
  File "C:\Program Files (x86)\EventGhost\plugins\AtiRemoteWonder2WinUsb\__init__.py", line 152, in Callback1
    self.mousecounter += 1
AttributeError: 'AtiRemoteWonder2' object has no attribute 'mousecounter'
Traceback (most recent call last) (1722):
  File "C:\Program Files (x86)\EventGhost\eg\Classes\WinUsb.py", line 291, in MsgHandler
    self.callback(value)
  File "C:\Program Files (x86)\EventGhost\plugins\AtiRemoteWonder2WinUsb\__init__.py", line 152, in Callback1
    self.mousecounter += 1
AttributeError: 'AtiRemoteWonder2' object has no attribute 'mousecounter'
Traceback (most recent call last) (1722):
  File "C:\Program Files (x86)\EventGhost\eg\Classes\WinUsb.py", line 291, in MsgHandler
    self.callback(value)
  File "C:\Program Files (x86)\EventGhost\plugins\AtiRemoteWonder2WinUsb\__init__.py", line 152, in Callback1
    self.mousecounter += 1
AttributeError: 'AtiRemoteWonder2' object has no attribute 'mousecounter'
Traceback (most recent call last) (1722):
  File "C:\Program Files (x86)\EventGhost\eg\Classes\WinUsb.py", line 291, in MsgHandler
    self.callback(value)
  File "C:\Program Files (x86)\EventGhost\plugins\AtiRemoteWonder2WinUsb\__init__.py", line 152, in Callback1
    self.mousecounter += 1
AttributeError: 'AtiRemoteWonder2' object has no attribute 'mousecounter'
I can see where it's firing off 3 times with the mouse pad presses, but it's failing to process it.

Another thing I noticed too, the other buttons stopped working. The only buttons that get sent to Windows are the left and right mouse click buttons on the remote, everything else registers in Event Ghost, but just doesn't get passed to Windows. So the log shows the volume button, for example, being pressed, but the volume doesn't move up or down in the task bar.
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

sorry about that, i forgot to add that variable to the start definition

so, here is the one that is updated. see if it works
Last edited by kgschlosser on Mon Jun 27, 2016 5:22 am, edited 1 time in total.
If you like the work I have been doing then feel free to Image
BobbyH
Posts: 13
Joined: Sat Jun 11, 2016 3:04 pm
Location: Houston, Texas

Re: ATI Remote Wonder II

Post by BobbyH »

Oh, no need to apologize. I'd be up a creek without your help so far, so I'm more than grateful for all the assistance offered.

So, this time around, I at least have some positive news. Firstly, there aren't any errors popping up in the logs (which is great!); however, no matter which direction I press on the mouse pad, it initializes going down/south. I actually just noticed that once you press the pad, if you're quick enough, or lower the speed, you can somewhat change the path. But, it's still heading south on start regardless. Also, to me at least, it seems like the 3 presses creates a bit too much of a delay on long presses as the commands seem to queue up if held for an extended period of time creating a delayed response if changing direction after holding it 2-3~ seconds. This might also explain why it ever so slightly moves to right or left (depending on which direction I press) when it initializes in a downward direction: that downward command is queuing up more than the actual mouse pad "left" or "right" press.

This seems like the challenge of a lifetime lol
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

ok i'll take a look see at what is going on. again you have to remember i do not have one of these remotes to test this thing out with and i said it was going to be a trial and error thing.
If you like the work I have been doing then feel free to Image
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

BobbyH wrote:Oh, no need to apologize. I'd be up a creek without your help so far, so I'm more than grateful for all the assistance offered.

So, this time around, I at least have some positive news. Firstly, there aren't any errors popping up in the logs (which is great!); however, no matter which direction I press on the mouse pad, it initializes going down/south. I actually just noticed that once you press the pad, if you're quick enough, or lower the speed, you can somewhat change the path. But, it's still heading south on start regardless. Also, to me at least, it seems like the 3 presses creates a bit too much of a delay on long presses as the commands seem to queue up if held for an extended period of time creating a delayed response if changing direction after holding it 2-3~ seconds. This might also explain why it ever so slightly moves to right or left (depending on which direction I press) when it initializes in a downward direction: that downward command is queuing up more than the actual mouse pad "left" or "right" press.

This seems like the challenge of a lifetime lol
ok the 3 presses thing the remote automatically send out the same code 3 times for each press of a mouse button.


so what i need to do is to have it reset the 3 time thing if the code coming from the remote changes. because of the long presses. the direction of travel is because of how i am processing bytes coming in. i might have to change that up i have an alternat way of doing it i am going to put it in there and see what happens. i want to do that first because i feel that the 2-3 second thing is also due to decoding of the bytes and not the number of presses thing.

can we also just confirm that the remote is in fact sending the command 3 times for each press??..

you have to enable the logging. and then just tap a direction on the pad. the log should spit out each and every command received. also i would like you to do the same by taping one of the mouse buttons. see if the results are the same

copy and paste the data to me as well as that will help me decode the incoming bytes.
If you like the work I have been doing then feel free to Image
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: ATI Remote Wonder II

Post by kgschlosser »

ok here is yet another version of the plugin. changed the data calculation on the mouse movement. give it a shot and see if it's a go.

i also changed up the calculation on the speed and accelerate.

set the numbers in the config dialog low to start off with and see what happens.
Last edited by kgschlosser on Tue Jun 28, 2016 4:31 am, edited 1 time in total.
If you like the work I have been doing then feel free to Image
BobbyH
Posts: 13
Joined: Sat Jun 11, 2016 3:04 pm
Location: Houston, Texas

Re: ATI Remote Wonder II

Post by BobbyH »

kgschlosser wrote:ok i'll take a look see at what is going on. again you have to remember i do not have one of these remotes to test this thing out with and i said it was going to be a trial and error thing.
Oh, I'm not mad or anything lol. I was and still am expecting this to take a while. This is a cakewalk compared to the people and less sophisticated I.T. stuff I deal with at work. So, I'm good. :D
kgschlosser wrote:
ok the 3 presses thing the remote automatically send out the same code 3 times for each press of a mouse button.


so what i need to do is to have it reset the 3 time thing if the code coming from the remote changes. because of the long presses. the direction of travel is because of how i am processing bytes coming in. i might have to change that up i have an alternat way of doing it i am going to put it in there and see what happens. i want to do that first because i feel that the 2-3 second thing is also due to decoding of the bytes and not the number of presses thing.

can we also just confirm that the remote is in fact sending the command 3 times for each press??..

you have to enable the logging. and then just tap a direction on the pad. the log should spit out each and every command received. also i would like you to do the same by taping one of the mouse buttons. see if the results are the same

copy and paste the data to me as well as that will help me decode the incoming bytes.
More good news! It's moving in all directions now! There's about a 1.5 to 2 second delay before it starts moving, and about a .5 second "inertia" (for a lack of a better word) after release.

As for logging, ever since you got the mouse pad on the remote to move the mouse (the release before last), I haven't been getting any errors, or additional data in the log. In fact, the mouse pad doesn't register key presses, nor the left- or right-click. In the configure menu, I also checked "Show Incoming Data" and it still didn't populate the Event Ghost log. Is there somewhere else I should be looking for additional log info?

This is all I have after pressing all three:

Code: Select all

21:12:32   ---> Welcome to EventGhost <---
21:12:32   Autostart
21:12:32      Plugin: ATI Remote Wonder II (WinUSB)
21:12:32   Main.OnInit
21:12:33   AtiRemoteWonder2.PC
21:14:11   System.Idle
21:15:06   System.UnIdle
Every other button shows up though when pressed. Demonstrated below:

Code: Select all

21:12:32   ---> Welcome to EventGhost <---
21:12:32   Autostart
21:12:32      Plugin: ATI Remote Wonder II (WinUSB)
21:12:32   Main.OnInit
21:12:33   AtiRemoteWonder2.PC
21:14:11   System.Idle
21:15:06   System.UnIdle
21:15:48   AtiRemoteWonder2.ATI
21:15:48   AtiRemoteWonder2.ATI
21:15:49   AtiRemoteWonder2.AUX4
21:15:49   AtiRemoteWonder2.AUX3
21:15:50   AtiRemoteWonder2.AUX2
21:15:51   AtiRemoteWonder2.AUX1
21:15:53   AtiRemoteWonder2.DVD
21:15:53   AtiRemoteWonder2.DVD
21:15:53   AtiRemoteWonder2.TV
21:15:54   AtiRemoteWonder2.DVD
21:15:55   AtiRemoteWonder2.DVD
21:15:56   AtiRemoteWonder2.DVD
21:15:57   AtiRemoteWonder2.DVD
21:15:57   AtiRemoteWonder2.DVD
21:15:57   AtiRemoteWonder2.TV
21:15:58   AtiRemoteWonder2.TV
21:16:02   AtiRemoteWonder2.Power
21:16:03   AtiRemoteWonder2.Power
21:16:03   AtiRemoteWonder2.Help
21:16:04   AtiRemoteWonder2.Resize
21:16:08   AtiRemoteWonder2.Stop
21:16:08   AtiRemoteWonder2.Record
21:16:09   AtiRemoteWonder2.FastRewind
21:16:09   AtiRemoteWonder2.C
21:16:09   AtiRemoteWonder2.D
21:16:10   AtiRemoteWonder2.Down
21:16:10   AtiRemoteWonder2.E
21:16:11   AtiRemoteWonder2.F
21:16:11   AtiRemoteWonder2.Right
21:16:11   AtiRemoteWonder2.Left
21:16:12   AtiRemoteWonder2.Stopwatch
21:16:12   AtiRemoteWonder2.Num0
21:16:13   AtiRemoteWonder2.Num0
21:16:13   AtiRemoteWonder2.Up
21:16:13   AtiRemoteWonder2.Checkmark
kgschlosser wrote:ok here is yet another version of the plugin. changed the data calculation on the mouse movement. give it a shot and see if it's a go.

i also changed up the calculation on the speed and accelerate.

set the numbers in the config dialog low to start off with and see what happens.
For me, having a "Mouse Speed" of 1 and a Mouse Acceleration of 3 seems to be the sweet spot for accuracy with the current 1.5 to 2 second delay on long press. With such a large adjustable range, if you could by chance tweak the data calculation to accommodate the scale, it could serve to really tailor to folks individuality like you mentioned before.

Another little item that caught my eye was what seems like an acceleration reset on direction change. So I hold down the mouse directional left pad, it'll accelerate like normal, but the moment, I decide to go down and left, it'll reset the acceleration. It'll continue to do that in succession as I change direction. This could be by design, thinking about it, so you don't have to let off the pad when wanting to change direction; however, with the current delay, it's not possible to rotate the mouse pad in quick succession as it'll just continue to move in the last inputted direction as the commands don't have time to overtake the previous movement instruction.
Post Reply