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.
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.
Drops on reading from serial port
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
edit the last 2 hex are x, y speeds i believe
it looks as tho it is correctly getting every single byte. that's good.
it looks as tho it is correctly getting every single byte. that's good.
Re: Drops on reading from serial port
The pattern of mouse coordinates delta seems to be like this: -16 <= X <= 16, -16 <= Y <= 16. But as far as I remember, I've seen only 0, +/-1, +/-2, +/-4, +/-8.
Only mouse buttons send the same code 3 times in a row.
Other buttons send only 1 code (of 3 bytes) for very short presses, but they may be duplicated due to some kind of "chatter" effect.
I tried setting 75 ms for both timeouts for now.
Although I notice that button repeating doesn't stop as fast as I would prefer. But it's O.K. with smaller timeouts than default.
Only mouse buttons send the same code 3 times in a row.
Other buttons send only 1 code (of 3 bytes) for very short presses, but they may be duplicated due to some kind of "chatter" effect.
I tried setting 75 ms for both timeouts for now.
Although I notice that button repeating doesn't stop as fast as I would prefer. But it's O.K. with smaller timeouts than default.
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
those settings are good only if every button sends a command 3 times. and every button doesn't
strange they designed it that way.
i know it's a huge pain in the backside. but if you could turn on the logging and hit every button once time. i have the event names to filter through them and just copy and paste all of the log data. this is going to make it a lot easier for me to make sure i separate the commands properly. because as you noticed some of them share the same first set.
strange they designed it that way.
i know it's a huge pain in the backside. but if you could turn on the logging and hit every button once time. i have the event names to filter through them and just copy and paste all of the log data. this is going to make it a lot easier for me to make sure i separate the commands properly. because as you noticed some of them share the same first set.
Re: Drops on reading from serial port
Here is the log of button presses (some could be duplicated, but most sent one code):
Code: Select all
02:22:36 0x44
02:22:36 0xf
02:22:36 0x3f
02:22:36 completed command set: ['0x44', '0xf', '0x3f']
02:22:36 X10Mouse.Power
02:22:39 0x44
02:22:39 0x2b
02:22:39 0x3f
02:22:39 completed command set: ['0x44', '0x2b', '0x3f']
02:22:39 X10Mouse.PC
02:22:40 0x46
02:22:40 0x2b
02:22:40 0x3f
02:22:40 completed command set: ['0x46', '0x2b', '0x3f']
02:22:40 X10Mouse.CD
02:22:43 0x46
02:22:43 0xb
02:22:43 0x3f
02:22:43 completed command set: ['0x46', '0xb', '0x3f']
02:22:43 X10Mouse.Web
02:22:44 0x47
02:22:44 0xb
02:22:44 0x3f
02:22:44 completed command set: ['0x47', '0xb', '0x3f']
02:22:44 X10Mouse.DVD
02:22:45 0x45
02:22:45 0xb
02:22:45 0x3f
02:22:45 completed command set: ['0x45', '0xb', '0x3f']
02:22:45 X10Mouse.Phone
02:23:15 0x44
02:23:15 0x2b
02:23:15 0x3f
02:23:15 completed command set: ['0x44', '0x2b', '0x3f']
02:23:15 X10Mouse.PC
02:23:17 0x45
02:23:17 0x1
02:23:17 0x3f
02:23:17 completed command set: ['0x45', '0x1', '0x3f']
02:23:17 X10Mouse.Pad1
02:23:17 0x45
02:23:17 0x1
02:23:17 0x3f
02:23:17 completed command set: ['0x45', '0x1', '0x3f']
02:23:18 0x45
02:23:18 0x2
02:23:18 0x3f
02:23:18 completed command set: ['0x45', '0x2', '0x3f']
02:23:18 X10Mouse.Pad2
02:23:18 0x45
02:23:18 0x2
02:23:18 0x3f
02:23:18 completed command set: ['0x45', '0x2', '0x3f']
02:23:19 0x45
02:23:19 0x3
02:23:19 0x3f
02:23:19 completed command set: ['0x45', '0x3', '0x3f']
02:23:19 X10Mouse.Pad3
02:23:21 0x45
02:23:21 0x4
02:23:21 0x3f
02:23:21 completed command set: ['0x45', '0x4', '0x3f']
02:23:21 X10Mouse.Pad4
02:23:22 0x45
02:23:22 0x4
02:23:22 0x3f
02:23:22 completed command set: ['0x45', '0x4', '0x3f']
02:23:22 0x45
02:23:22 0x5
02:23:22 0x3f
02:23:22 completed command set: ['0x45', '0x5', '0x3f']
02:23:22 X10Mouse.Pad5
02:23:23 0x45
02:23:23 0x6
02:23:23 0x3f
02:23:23 completed command set: ['0x45', '0x6', '0x3f']
02:23:23 X10Mouse.Pad6
02:23:25 0x45
02:23:25 0x7
02:23:26 0x3f
02:23:26 completed command set: ['0x45', '0x7', '0x3f']
02:23:26 X10Mouse.Pad7
02:23:26 0x45
02:23:26 0x7
02:23:26 0x3f
02:23:26 completed command set: ['0x45', '0x7', '0x3f']
02:23:29 0x45
02:23:29 0x8
02:23:29 0x3f
02:23:29 completed command set: ['0x45', '0x8', '0x3f']
02:23:29 X10Mouse.Pad8
02:23:31 0x45
02:23:31 0x9
02:23:31 0x3f
02:23:31 completed command set: ['0x45', '0x9', '0x3f']
02:23:31 X10Mouse.Pad9
02:23:32 0x45
02:23:32 0x2b
02:23:32 0x3f
02:23:32 completed command set: ['0x45', '0x2b', '0x3f']
02:23:32 X10Mouse.Shift
02:23:33 0x45
02:23:33 0x0
02:23:33 0x3f
02:23:33 completed command set: ['0x45', '0x0', '0x3f']
02:23:33 X10Mouse.Pad0
02:23:33 0x45
02:23:33 0x0
02:23:33 0x3f
02:23:33 completed command set: ['0x45', '0x0', '0x3f']
02:23:35 0x45
02:23:35 0xa
02:23:35 0x3f
02:23:35 completed command set: ['0x45', '0xa', '0x3f']
02:23:35 X10Mouse.Enter
02:23:37 System.Idle
02:23:38 0x44
02:23:38 0x6
02:23:38 0x3f
02:23:38 completed command set: ['0x44', '0x6', '0x3f']
02:23:38 X10Mouse.VolPlus
02:23:40 0x44
02:23:40 0x7
02:23:40 0x3f
02:23:40 completed command set: ['0x44', '0x7', '0x3f']
02:23:40 X10Mouse.VolMinus
02:23:40 0x44
02:23:40 0x7
02:23:40 0x3f
02:23:40 completed command set: ['0x44', '0x7', '0x3f']
02:23:41 0x44
02:23:41 0x2
02:23:41 0x3f
02:23:41 completed command set: ['0x44', '0x2', '0x3f']
02:23:41 X10Mouse.ChPlus
02:23:41 0x44
02:23:41 0x2
02:23:41 0x3f
02:23:41 completed command set: ['0x44', '0x2', '0x3f']
02:23:43 0x44
02:23:43 0x3
02:23:43 0x3f
02:23:43 completed command set: ['0x44', '0x3', '0x3f']
02:23:43 X10Mouse.ChMinus
02:23:45 0x44
02:23:45 0x5
02:23:45 0x3f
02:23:45 completed command set: ['0x44', '0x5', '0x3f']
02:23:45 X10Mouse.Mute
02:23:45 0x44
02:23:45 0x5
02:23:45 0x3f
02:23:45 completed command set: ['0x44', '0x5', '0x3f']
02:23:46 0x45
02:23:46 0x1d
02:23:46 0x3f
02:23:46 completed command set: ['0x45', '0x1d', '0x3f']
02:23:46 X10Mouse.AB
02:23:46 0x45
02:23:46 0x1d
02:23:46 0x3f
02:23:46 completed command set: ['0x45', '0x1d', '0x3f']
02:23:47 0x45
02:23:47 0x1c
02:23:47 0x3f
02:23:47 completed command set: ['0x45', '0x1c', '0x3f']
02:23:47 X10Mouse.Disp
02:23:47 0x45
02:23:47 0x1c
02:23:47 0x3f
02:23:47 completed command set: ['0x45', '0x1c', '0x3f']
02:23:49 0x44
02:23:49 0xd
02:23:49 0x3f
02:23:49 completed command set: ['0x44', '0xd', '0x3f']
02:23:49 X10Mouse.Play
02:23:49 0x44
02:23:49 0xd
02:23:49 0x3f
02:23:49 completed command set: ['0x44', '0xd', '0x3f']
02:23:50 0x44
02:23:50 0x1c
02:23:50 0x3f
02:23:50 completed command set: ['0x44', '0x1c', '0x3f']
02:23:50 X10Mouse.RW
02:23:50 0x44
02:23:50 0x1c
02:23:50 0x3f
02:23:50 completed command set: ['0x44', '0x1c', '0x3f']
02:23:51 0x46
02:23:51 0x13
02:23:51 0x3f
02:23:51 completed command set: ['0x46', '0x13', '0x3f']
02:23:51 X10Mouse.Select
02:23:51 0x46
02:23:51 0x13
02:23:51 0x3f
02:23:51 completed command set: ['0x46', '0x13', '0x3f']
02:23:52 0x44
02:23:52 0x1d
02:23:52 0x3f
02:23:52 completed command set: ['0x44', '0x1d', '0x3f']
02:23:52 X10Mouse.FF
02:23:52 0x44
02:23:52 0x1d
02:23:52 0x3f
02:23:52 completed command set: ['0x44', '0x1d', '0x3f']
02:23:53 0x44
02:23:53 0xe
02:23:53 0x3f
02:23:53 completed command set: ['0x44', '0xe', '0x3f']
02:23:53 X10Mouse.Stop
02:23:53 0x44
02:23:53 0xe
02:23:53 0x3f
02:23:53 completed command set: ['0x44', '0xe', '0x3f']
02:23:56 0x45
02:23:56 0x2d
02:23:56 0x3f
02:23:56 completed command set: ['0x45', '0x2d', '0x3f']
02:23:56 X10Mouse.Guide
02:23:56 0x45
02:23:56 0x2d
02:23:56 0x3f
02:23:56 completed command set: ['0x45', '0x2d', '0x3f']
02:23:58 0x47
02:23:58 0x3f
02:23:58 0x3f
02:23:58 completed command set: ['0x47', '0x3f', '0x3f']
02:23:58 X10Mouse.Rec
02:23:58 0x47
02:23:58 0x3f
02:23:58 0x3f
02:23:58 completed command set: ['0x47', '0x3f', '0x3f']
02:23:58 0x47
02:23:58 0x3f
02:23:58 0x3f
02:23:58 completed command set: ['0x47', '0x3f', '0x3f']
02:23:59 0x45
02:23:59 0xe
02:23:59 0x3f
02:23:59 completed command set: ['0x45', '0xe', '0x3f']
02:23:59 X10Mouse.Pause
02:23:59 0x45
02:23:59 0xe
02:23:59 0x3f
02:23:59 completed command set: ['0x45', '0xe', '0x3f']
02:24:00 0x45
02:24:00 0xf
02:24:00 0x3f
02:24:00 completed command set: ['0x45', '0xf', '0x3f']
02:24:00 X10Mouse.Last
02:24:00 0x45
02:24:00 0xf
02:24:00 0x3f
02:24:00 completed command set: ['0x45', '0xf', '0x3f']- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
ok i am extremely close. but what i need to know is this
if you can log the hex again,
i need to know what the last 2 hex are for each mouse direction when the button is pressed very light, and when the button is pressed all the way down
i also need to know what happens if you press diagonally again both light and hard for every diagonal direction.
because what i have is a means to move the mouse but the input into it are as follows.
angle (direction), initial speed, max speed, acceleration
if you can log the hex again,
i need to know what the last 2 hex are for each mouse direction when the button is pressed very light, and when the button is pressed all the way down
i also need to know what happens if you press diagonally again both light and hard for every diagonal direction.
because what i have is a means to move the mouse but the input into it are as follows.
angle (direction), initial speed, max speed, acceleration
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
never mind. i have it all sorted.
it's weird how the remote sends the hex data.
all it gives is the 3 hex and from the combination of the 3 it's able to derive a relative direction. unfortunately how hard you press has nothing to do with the speed, but instead it is a reference for the direction and how many steps in that direction to take.
so i had to add some extra goodies to the config dialog once again.
now you have the maximum speed at which the cursor can move, and how fast it can get to that max speed.
but with a little playing around and using some fancy realterm feature to automatically spit out a code every 45 milliseconds. and testing it over a 20 code cycle roughly 1 second. i set the defaults. to 10 and 1 but not having the remote to really know makes it hard.
and to be honest i am kind of guessing at direction and steps to take. so give it a shot and let me know.
and oh btw i was able to reproduce the error you were getting finally. but i was because i have a program that set up a pair of virtual ports and it was in the middle of communication when it restarted. and if you have a monitor running it pretty much sets up the same thing but with 3 ports. kinda like this
real serial port <-------> monitor port <---------> port for EG to connect on
attached is the plugin. i hope it exceeds anything you could have wanted.
now i did rebrand it with a new class name and a guid.
because this was pretty much a total rewrite and i also changed the name of the plugin as well.
so you will have to unpack this zip file into the plugins directory it will automatically create the directory.
so remove of the other one is not necessary but you will have to change the comport associated with it or just delete the thing.
you will also notice i change the events. they will be as such and there is a purpose for this
X10-Remote.Button.Media.Play
X10-Remote.Button.Volume.+
it is done this way because of wildcarding of events.
you can wild card every other . i believe
so you can set an event like so
X10-Remote.*
or like so
X-10-Remote.Button.Volume.*
if you do any python scripting this is very useful because i have grouped buttons of like type
so the volumes are together (mute included)
the channels are together
play, pause stop ..... together
inputs together
you get the picture
it's weird how the remote sends the hex data.
all it gives is the 3 hex and from the combination of the 3 it's able to derive a relative direction. unfortunately how hard you press has nothing to do with the speed, but instead it is a reference for the direction and how many steps in that direction to take.
so i had to add some extra goodies to the config dialog once again.
now you have the maximum speed at which the cursor can move, and how fast it can get to that max speed.
but with a little playing around and using some fancy realterm feature to automatically spit out a code every 45 milliseconds. and testing it over a 20 code cycle roughly 1 second. i set the defaults. to 10 and 1 but not having the remote to really know makes it hard.
and to be honest i am kind of guessing at direction and steps to take. so give it a shot and let me know.
and oh btw i was able to reproduce the error you were getting finally. but i was because i have a program that set up a pair of virtual ports and it was in the middle of communication when it restarted. and if you have a monitor running it pretty much sets up the same thing but with 3 ports. kinda like this
real serial port <-------> monitor port <---------> port for EG to connect on
attached is the plugin. i hope it exceeds anything you could have wanted.
now i did rebrand it with a new class name and a guid.
because this was pretty much a total rewrite and i also changed the name of the plugin as well.
so you will have to unpack this zip file into the plugins directory it will automatically create the directory.
so remove of the other one is not necessary but you will have to change the comport associated with it or just delete the thing.
you will also notice i change the events. they will be as such and there is a purpose for this
X10-Remote.Button.Media.Play
X10-Remote.Button.Volume.+
it is done this way because of wildcarding of events.
you can wild card every other . i believe
so you can set an event like so
X10-Remote.*
or like so
X-10-Remote.Button.Volume.*
if you do any python scripting this is very useful because i have grouped buttons of like type
so the volumes are together (mute included)
the channels are together
play, pause stop ..... together
inputs together
you get the picture
Re: Drops on reading from serial port
Thanks for the new version of the plugin, kgschlosser!
I tested the mouse events.
Now they control the PC mouse (which is very undesirable, but I checked the correctness of it).
Mouse cursor control has always the same speed regardless of press force or timing and the direction is correct.
Button presses are weird (this is for 1 press and release):
Due to no information on X/Y coordinates in log, it's hard to tell whether they are correctly decoded - I am only trying to assess it visually.
Could you please make a toggle to generate events for EG from mouse pad and mouse buttons on the remote (and not control the mouse cursor)?
This would be very helpful to control actions from EG. The presses should generate events similar to the previous plugin (with X & Y coordinates deltas).
The configuration "Access denied" error is still there.
Button renaming means everything need to be changed in configuration, but I will be able to change the names back, so that's not a problem.
I tested the mouse events.
Now they control the PC mouse (which is very undesirable, but I checked the correctness of it).
Mouse cursor control has always the same speed regardless of press force or timing and the direction is correct.
Button presses are weird (this is for 1 press and release):
Code: Select all
12:30:50 X10Mouse.Mouse.LeftButton.Pressed
12:30:50 X10Mouse.Mouse.LeftButton.Released
12:30:50 X10Mouse.Mouse.LeftButton.Pressed
12:30:50 X10Mouse.Mouse.LeftButton.Released
12:30:50 X10Mouse.Mouse.LeftButton.Pressed
12:30:50 X10Mouse.Mouse.LeftButton.ReleasedCould you please make a toggle to generate events for EG from mouse pad and mouse buttons on the remote (and not control the mouse cursor)?
This would be very helpful to control actions from EG. The presses should generate events similar to the previous plugin (with X & Y coordinates deltas).
The configuration "Access denied" error is still there.
Button renaming means everything need to be changed in configuration, but I will be able to change the names back, so that's not a problem.
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
you can stop it from movine the mouse easily. by unchecking the mouse movements in the config panel. i will also add the coordinates, i had forgotten about that being there it is no big deal to add.
and as far as the how hard you press it. that should be the distance the mouse moves. and has nothing to do with how fast it moves. to a degree.
because the further distance the mouse travels (limited to the distance the remote tells it to) the mouse will increase acceleration while moving this distance.
you would have to tinker with the max speed and acceleration to get the desired effect.
and remember how the remote will send 3 codes for presses on the mouse buttons?? that is filtered out by the timers. you have to have the first timer set around the 145 mark to filter it down to one event. i believe that is why the original coder used that as the default number
it is good that it does move in the proper direction. i kind of took a guess with this.
and as far as the how hard you press it. that should be the distance the mouse moves. and has nothing to do with how fast it moves. to a degree.
because the further distance the mouse travels (limited to the distance the remote tells it to) the mouse will increase acceleration while moving this distance.
you would have to tinker with the max speed and acceleration to get the desired effect.
and remember how the remote will send 3 codes for presses on the mouse buttons?? that is filtered out by the timers. you have to have the first timer set around the 145 mark to filter it down to one event. i believe that is why the original coder used that as the default number
it is good that it does move in the proper direction. i kind of took a guess with this.
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
and that error you are having is because something is also using the port or trying to use the port when you restart it. if you have any kind of monitoring software installed for the serial port i would uninstall it and see if that helps to correct the issue.
that error only arises when the plugin tried to attach to the port and can't because it's in use. i can try adding a sleep to the restart to see if that will cure it
that error only arises when the plugin tried to attach to the port and can't because it's in use. i can try adding a sleep to the restart to see if that will cure it
Re: Drops on reading from serial port
I've already unchecked the options "Move Mouse" and "Mouse Events", but it still generates Left/Right mouse button actions.
I think it's better to treat mouse movement and buttons the same. And to be able to disable converting the events to mouse button presses.
The triple events for mouse button presses are very strange, actually. I suggest that mouse button release event shouldn't be generated on timeout, but only by specific button release code.
I couldn't find anything that's using the port between its close and reopen. Perhaps, it's some nuance of the driver.
Is it possible to not reopen the port when it isn't changed?
Looking forward to coordinates providing in mouse events.
I think it's better to treat mouse movement and buttons the same. And to be able to disable converting the events to mouse button presses.
The triple events for mouse button presses are very strange, actually. I suggest that mouse button release event shouldn't be generated on timeout, but only by specific button release code.
I couldn't find anything that's using the port between its close and reopen. Perhaps, it's some nuance of the driver.
Is it possible to not reopen the port when it isn't changed?
Looking forward to coordinates providing in mouse events.
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
i will double check my code i may have missed a hole where they could get through. but they were supposed to be the same all mouse commands where supposed to be coupled together.igvk wrote:I've already unchecked the options "Move Mouse" and "Mouse Events", but it still generates Left/Right mouse button actions.
I think it's better to treat mouse movement and buttons the same. And to be able to disable converting the events to mouse button presses.
no it's not strange, that is probably the hole i missed that is why they are getting through. and remember all mouse buttons post 3 commands to the serial port. that's why there is 3. i will fix it.igvk wrote: The triple events for mouse button presses are very strange, actually. I suggest that mouse button release event shouldn't be generated on timeout, but only by specific button release code.
just because a serial port monitoring software isn't running doesn't mean it's not screwing with the port. they all have to install some kind of a driver to make it work. so possibly a gander at your device manager. they sometimes hide them in the system tree item. you are going to have to poke around. it doesn't do it on my system unless i do a very specific thing to cause it and it has to do with monitoring the serial port data. it could be that a driver for the monitoring isn't letting go properly.igvk wrote: I couldn't find anything that's using the port between its close and reopen. Perhaps, it's some nuance of the driver.
Is it possible to not reopen the port when it isn't changed?
however i did find a thread closing issue in my code, it is what was causing the very slow shutdowns of eventghost slow being > 5 seconds. i have now fixed the issue and my EG closes in .015 seconds
i also added a small delay to the start of the plugin, 0.5 seconds to see if maybe that will help. if it does not then i will remove it or if it does i will shrink it to as small as possible. because it does create a small hang like appearance in the startup of EG. kind of like it studders. this is just a test test to see if it work and if it does i will change it so that the thread has the delay and doesn't cause that studder but that is a lot more work not knowing if it will even help at all.
i have added the x, y as well as i added the angle. with 0degrees being mouse movement straight up and + a decree for each moved in the clockwise directionigvk wrote:Looking forward to coordinates providing in mouse events.
after further investigating how the mouse commands are done. that is all the commands do is produce direction and not speed or event number of steps. so what i have done is if you decide to use this mouse move feature is i have it increase the max speed and the ramping with each command sent (on a timer. so pressing manually probably will not show the effect. but upon holding the button it speeds up. this is hard for me to test properly without the remote and knowing the timing of the mouse codes.
this version attached doesn't not have anything done with the button presses getting through. i am going to take a look see at that now. what i would really like to do i think is implement as part of the debugging is to show the milliseconds between codes. that way i can separate the mouse buttons from everything else that way it will always only fire one and you won't have to adjust that timer to cover for the mouse buttons. because the mouse commands fire 3 times not 1 with each press. so if we find that the single button press posts a code at the same rate each of the mouse commands (just one of the 3) you will be able to set those timer values lower than before because your not trying to compensate for the mouse.
Re: Drops on reading from serial port
Testing latest version:
I don't see mouse pad movement events in the log. Are they really supposed to fire?
No more Access denied error. I changed the sleep 0.5 to 0.1, and it works too. Race condition?
Now the mouse moves very fast, and it accelerates independently on press force. Doesn't look appropriate.
I also noticed that I don't see events where X or Y are not equal to +/-1 (or 0). Possibly due to enduring?
And the angle of mouse movement is always multiple of 45 degrees.
I think that events of mouse movements should be treated as different when X or Y deltas change.
As I interpret it, the repeat rate of movement codes is constant, while the coordinate delta (step) change - meaning change of speed of cursor movement.
But I am more interested in mouse pad events to process them in EG.
I don't see mouse pad movement events in the log. Are they really supposed to fire?
No more Access denied error. I changed the sleep 0.5 to 0.1, and it works too. Race condition?
Now the mouse moves very fast, and it accelerates independently on press force. Doesn't look appropriate.
I also noticed that I don't see events where X or Y are not equal to +/-1 (or 0). Possibly due to enduring?
And the angle of mouse movement is always multiple of 45 degrees.
I think that events of mouse movements should be treated as different when X or Y deltas change.
As I interpret it, the repeat rate of movement codes is constant, while the coordinate delta (step) change - meaning change of speed of cursor movement.
But I am more interested in mouse pad events to process them in EG.
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
it's a bug it happens when the mousemovement is turned off. i will fixigvk wrote:Testing latest version:
I don't see mouse pad movement events in the log. Are they really supposed to fire?
that's good, it could be because of the timer. or because i fixed the thread hanging problem. you will have to put a # before that sleep to see if it was in fact the thread or the sleep fixing itigvk wrote: No more Access denied error. I changed the sleep 0.5 to 0.1, and it works too. Race condition?
all mouse speeds can be adjusted via the plugin config dialogigvk wrote: Now the mouse moves very fast, and it accelerates independently on press force. Doesn't look appropriate.
i am not sure as to what you are trying to say with that.igvk wrote: I also noticed that I don't see events where X or Y are not equal to +/-1 (or 0). Possibly due to enduring?
i do not know what hex codes are spat out from the remote for direction. you can check this by turning on the logging. and press in 8 directions and then in 16. but if memory serves the original coder only did operations on a multitude of 4 i believe and it went up to 32 for the calculations.igvk wrote: And the angle of mouse movement is always multiple of 45 degrees.
so 4x8 = 32 i am using a similiar calculation based on what has been already done. so what i will do is change the code to allow for greater range of movement but the remote may only output hex for the 8 directions not sure.
it's a positional coordinate to tell the mouse what direction to go in it's not a physical location on the screen if that is what you are meaningigvk wrote: I think that events of mouse movements should be treated as different when X or Y deltas change.
there is no "step" value associated with the x, y it's a directional value. there for it has nothing to do with the speed of the cursor. the speed of the cursor is purely dictated by the settings in the config dialogigvk wrote: As I interpret it, the repeat rate of movement codes is constant, while the coordinate delta (step) change - meaning change of speed of cursor movement.
working on itigvk wrote: But I am more interested in mouse pad events to process them in EG.
- kgschlosser
- Site Admin
- Posts: 5190
- Joined: Fri Jun 05, 2015 5:43 am
- Location: Rocky Mountains, Colorado USA
Re: Drops on reading from serial port
i just checked the direction, i believe that remote is only limited to 8 directions. because the code i have works fine for any direction as long as the hex values for that direction are supplied
so the remote probably only spits out 8. and that is why the original coder only worried about matching to 8 values for the mouse movement
where as i eliminated that matching (was unnecessary) so my code allows for a greater range. but the remote probably doesn't
so the remote probably only spits out 8. and that is why the original coder only worried about matching to 8 values for the mouse movement
where as i eliminated that matching (was unnecessary) so my code allows for a greater range. but the remote probably doesn't
Code: Select all
14:40:47 X10-Remote.Mouse.MovingCursor {'y': 56, 'x': -56, 'angle': 225.0}
14:41:01 X10-Remote.Mouse.MovingCursor {'y': 54, 'x': -56, 'angle': 226.0}
14:41:09 X10-Remote.Mouse.MovingCursor {'y': 54, 'x': 8, 'angle': 172.0}
14:41:20 X10-Remote.Mouse.MovingCursor {'y': 54, 'x': 0, 'angle': 180.0}
Re: Drops on reading from serial port
Without sleep it doesn't work, I checked it.kgschlosser wrote: that's good, it could be because of the timer. or because i fixed the thread hanging problem. you will have to put a # before that sleep to see if it was in fact the thread or the sleep fixing it
I will try to explain when there will be events for mouse pad presses - maybe the situation will change.kgschlosser wrote: i am not sure as to what you are trying to say with that.
I know this. Perhaps, I couldn't explain the point.kgschlosser wrote: it's a positional coordinate to tell the mouse what direction to go in it's not a physical location on the screen if that is what you are meaning
It's definitely step (with direction), or offset of the requested cursor movement. If you send offset x=+1 repeatedly and then start sending x=+8 with the same rate, the speed of cursor movement will change accordingly. That's what I wanted to explain, and the value depends on how hard you press the mouse pad.kgschlosser wrote: there is no "step" value associated with the x, y it's a directional value. there for it has nothing to do with the speed of the cursor. the speed of the cursor is purely dictated by the settings in the config dialog
But the interpretation is not that important, I don't plan to use the remote for mouse movements, so I leave it to you.
As for whether there are cases of, for example x=+1 and y=-8, I might be wrong that it was possible.
I will check this when there are event data with x, y offsets - otherwise there is too much debug info to notice this.
BTW, do you think that parameter with movement angle will be interesting for somebody? Because I don't see any use case for it.
