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.
PHX01RN remote control plugin
PHX01RN remote control plugin
Part I - Introduction.
Since this is my first post, I would like to thank BitMonster for such a great program.
I bought him a beer and I really enjoyed drinking it.
This forum topic is dedicated to the PHX01RN remote control. Often referred to as the P-01RN or the W-01RN, BitMonster called it the PHX01RN, and so we will refer to it as such.
It is very cheap, about $10 US, and can be found everywhere, even out here in Africa.
At that price, you can get one for each computer.
Unfortunately, the plugin for the PHX01RN in EventGhost v0.4.1r1640 is not usable.
The plugin was created by BitMonster.
Let us refer to that plugin as PHX01RN v1.0
In 2010 marcaronson408 started a forum topic to discuss the problem.
Click on this link (viewtopic.php?f=2&t=2304) to see that topic.
A new plugin was created by olurz, which most people seemingly have had no success with.
Note that olurz uses 1.0.0 as the version number for it.
Let us refer to that plugin as PHX01RN v2.0
In 2010 miguel75 started another topic (viewtopic.php?f=2&t=2838) mentioning the problems.
In 2013 mbround started another topic (viewtopic.php?f=10&t=5590) to solve the problem.
He did not release a working plugin, so it does not get a version number.
Today I started this topic that provides the solution for EventGhost 0.4 and later.
The solution consists of a new plugin, and the procedure to install it correctly.
Let us refer to this plugin as PHX01RN v3.0
In order to simplify the process, the solution is presented as separate postings in this topic.
Of the five postings, the first three are the most important.
The remainder of this post provides some information about the PHX01RN remote control itself.
manufacturer: iRF Media Technology (http://www.irfmedia.com/)
USB infra-red receiver: W-01RN
remote control transmitter: DRC48RC6
So, the PHX01RN is the DRC48RC6 plus the W-01RN plus a short USB extension cable.
The DRC48RC6 uses the Philips RC6 protocol to transmit to the W-01RN.
The W-01RN decodes the RC6 signals, which simplifies our task a lot.
Keep in mind that the PHX01RN is very cheap.
The W-01RN is not a universal IR receiver, it only recognizes specific RC6 signals.
The W-01RN is not an IR transmitter, so it cannot control other equipment directly.
Aureal Semiconductor used to re-package and sell the PHX01RN as the Aureal Cy se W-01RN.
Please proceed to Part II.
Since this is my first post, I would like to thank BitMonster for such a great program.
I bought him a beer and I really enjoyed drinking it.
This forum topic is dedicated to the PHX01RN remote control. Often referred to as the P-01RN or the W-01RN, BitMonster called it the PHX01RN, and so we will refer to it as such.
It is very cheap, about $10 US, and can be found everywhere, even out here in Africa.
At that price, you can get one for each computer.
Unfortunately, the plugin for the PHX01RN in EventGhost v0.4.1r1640 is not usable.
The plugin was created by BitMonster.
Let us refer to that plugin as PHX01RN v1.0
In 2010 marcaronson408 started a forum topic to discuss the problem.
Click on this link (viewtopic.php?f=2&t=2304) to see that topic.
A new plugin was created by olurz, which most people seemingly have had no success with.
Note that olurz uses 1.0.0 as the version number for it.
Let us refer to that plugin as PHX01RN v2.0
In 2010 miguel75 started another topic (viewtopic.php?f=2&t=2838) mentioning the problems.
In 2013 mbround started another topic (viewtopic.php?f=10&t=5590) to solve the problem.
He did not release a working plugin, so it does not get a version number.
Today I started this topic that provides the solution for EventGhost 0.4 and later.
The solution consists of a new plugin, and the procedure to install it correctly.
Let us refer to this plugin as PHX01RN v3.0
In order to simplify the process, the solution is presented as separate postings in this topic.
Of the five postings, the first three are the most important.
The remainder of this post provides some information about the PHX01RN remote control itself.
manufacturer: iRF Media Technology (http://www.irfmedia.com/)
USB infra-red receiver: W-01RN
remote control transmitter: DRC48RC6
So, the PHX01RN is the DRC48RC6 plus the W-01RN plus a short USB extension cable.
The DRC48RC6 uses the Philips RC6 protocol to transmit to the W-01RN.
The W-01RN decodes the RC6 signals, which simplifies our task a lot.
Keep in mind that the PHX01RN is very cheap.
The W-01RN is not a universal IR receiver, it only recognizes specific RC6 signals.
The W-01RN is not an IR transmitter, so it cannot control other equipment directly.
Aureal Semiconductor used to re-package and sell the PHX01RN as the Aureal Cy se W-01RN.
Please proceed to Part II.
Last edited by WharfRat on Sat Feb 15, 2014 11:52 am, edited 2 times in total.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
Re: PHX01RN remote control plugin
Part II - WinUSB.
Most of the USB remote control plugins for EventGhost need the WinUSB drivers.
The PHX01RN v1.0, v2.0 and v3.0 plugins use WinUSB.
If WinUSB is needed, EventGhost will check to see if it has already been installed.
EventGhost can automatically download WinUSB if the computer is connected to the Internet.
One advantage of this method is that it will only download the required version: 32bit or 64bit.
Another advantage is that the downloaded files are automatically installed in the correct folder.
The disadvantage of this method is that the computer must be connected to the Internet.
You can also download WinUSB yourself and install it manually on each computer.
One advantage of this method is that the computer does not have to be connected to the Internet.
Another advantage is that you get the 32bit and the 64bit versions at the same time.
The disadvantage is that you have to copy the files to the correct folders manually.
I suggest that you download WinUSB, and keep a copy of it with your copies of the EventGhost installation programs.
The 32bit and the 64bit versions are approximately 5MB each, so the combined version is about 10MB.
To check if the WinUSB drivers have been installed on a computer, follow these steps:
Note the following details:
- the files for 32bit Windows and 64bit Windows versions have identical filenames
- do not substitute the files for the one version with those from the other version
Once WinUSB is installed on a computer, it does not have to be installed again.
If you are installing WinUSB on a computer that does not have an Internet connection, then you must install WinUSB manually.
If you do not wish to install WinUSB manually, you can proceed to Part III.
(It is simpler to go to Part III now if the computer is connected to the Internet)
The remainder of this post explains how to install WinUSB manually.
You will need:
EventGhost WinUSB Add-on.zip (http://eventghost.net/downloads/EventGh ... Add-on.zip)
Some Web browsers will save the file as EventGhost%20WinUSB%20Add-on.zip
To install WinUSB manually, follow these steps:
Most of the USB remote control plugins for EventGhost need the WinUSB drivers.
The PHX01RN v1.0, v2.0 and v3.0 plugins use WinUSB.
If WinUSB is needed, EventGhost will check to see if it has already been installed.
EventGhost can automatically download WinUSB if the computer is connected to the Internet.
One advantage of this method is that it will only download the required version: 32bit or 64bit.
Another advantage is that the downloaded files are automatically installed in the correct folder.
The disadvantage of this method is that the computer must be connected to the Internet.
You can also download WinUSB yourself and install it manually on each computer.
One advantage of this method is that the computer does not have to be connected to the Internet.
Another advantage is that you get the 32bit and the 64bit versions at the same time.
The disadvantage is that you have to copy the files to the correct folders manually.
I suggest that you download WinUSB, and keep a copy of it with your copies of the EventGhost installation programs.
The 32bit and the 64bit versions are approximately 5MB each, so the combined version is about 10MB.
To check if the WinUSB drivers have been installed on a computer, follow these steps:
- 1. go to the EventGhost settings folder
- in Windows XP it is: C:\Documents and Settings\All Users\Application Data\EventGhost
in Windows 7 it is: C:\ProgramData\EventGhost
3. go to the drivers folder
4. if it does not contain a WinUSB folder then go to step 10
5. go to the WinUSB folder
6. if it does not contain any folders then go to step 10
7. if the computer uses 64bit Windows go to step 8, else:- a. if it does not contain a x86 folder then go to step 10
b. go to the x86 folder
c. check if the following files are present:- dpinst.exe
WdfCoInstaller01009.dll
winusbcoinstaller2.dll
WUDFUpdate_01009.dll
e. go to step 9 - dpinst.exe
- a. if it does not contain a x64 folder then go to step 10
b. go to the x64 folder
c. check if the following files are present:- dpinst.exe
WdfCoInstaller01009.dll
winusbcoinstaller2.dll
WUDFUpdate_01009.dll
e. go to step 9 - dpinst.exe
10. conclusion: WinUSB is not installed - in Windows XP it is: C:\Documents and Settings\All Users\Application Data\EventGhost
Note the following details:
- the files for 32bit Windows and 64bit Windows versions have identical filenames
- do not substitute the files for the one version with those from the other version
Once WinUSB is installed on a computer, it does not have to be installed again.
If you are installing WinUSB on a computer that does not have an Internet connection, then you must install WinUSB manually.
If you do not wish to install WinUSB manually, you can proceed to Part III.
(It is simpler to go to Part III now if the computer is connected to the Internet)
The remainder of this post explains how to install WinUSB manually.
You will need:
EventGhost WinUSB Add-on.zip (http://eventghost.net/downloads/EventGh ... Add-on.zip)
Some Web browsers will save the file as EventGhost%20WinUSB%20Add-on.zip
To install WinUSB manually, follow these steps:
- 1. download WinUSB Add-on.zip from the EventGhost Downloads page
2. open EventGhost WinUSB Add-on.zip and extract the file contained in it
3. run EventGhost WinUSB Add-on.exe, and allow User Account Control to run it if necessary
4. click Next
5. click Next
6. click Finish
7. delete EventGhost WinUSB Add-on.exe
8. go to the EventGhost program folder- in 32bit Windows it is: C:\Program Files\EventGhost
in 64bit Windows it is: C:\Program Files(x86)\EventGhost
- in Windows XP it is: C:\Documents and Settings\All Users\Application Data\EventGhost
in Windows 7 it is: C:\ProgramData\EventGhost
11. go to the drivers folder
12. go to the WinUSB folder
13. delete the folder that is not needed for this particular computer- in 32bit Windows delete the x64 folder
in 64bit Windows delete the x86 folder
15. move the 3 files in the dll folder from dll to the x86 or x64 folder
16. delete the now empty dll folder - in 32bit Windows it is: C:\Program Files\EventGhost
Last edited by WharfRat on Sat Jan 04, 2014 10:36 am, edited 1 time in total.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
Re: PHX01RN remote control plugin
Part III - Installing the PHX01RN plugin.
You will need the latest version: To install the PHX01RN v3.0 plugin, follow these steps:
You will need the latest version: To install the PHX01RN v3.0 plugin, follow these steps:
- 1. download PHX01RN_v301.zip
2. exit EventGhost
3. open PHX01RN_v301.zip and extract the 2 files contained in it
4. move and replace __init__.py and PHX01RN.png to the PHX01RN plugin folder- in 32bit Windows the PHX01RN plugin folder is: C:\Program Files\EventGhost\plugins\PHX01RN
in 64bit Windows the PHX01RN plugin folder is: C:\Program Files (x86)\EventGhost\plugins\PHX01RN
- a. open Control Panel
b. then- in Windows XP: choose Add or Remove Programs
or
in Windows 7: choose Programs and Features
d. then- in Windows XP: click on Windows Driver Package - EventGhost PHX01RN (01/26/2010 1.0.2.0)
or
in Windows 7: right-click on Windows Driver Package - EventGhost PHX01RN (01/26/2010 1.0.2.0)
- in Windows XP: click Change/Remove
or
in Windows 7: click Uninstall/Change
g. wait for it to be removed
h. if there is another Windows Driver Package - EventGhost PHX01RN (01/26/2010 1.0.2.0)- A. click on Windows Driver Package - EventGhost PHX01RN (01/26/2010 1.0.2.0)
B. click Change/Remove
C. click Yes
j. close the Control Panel window - in Windows XP: choose Add or Remove Programs
7. if Windows dows not show a Found New Harware Wizard go to step 8, else:- a. click No, not this time
b. click Next
c. select Install the software auotmatically
d. click Next
e. click Finish
f. you will then have to repeat step 7 up to 7e once more
- a. connect the computer to the Internet
10. if you have previously added the PHX01RN plugin go to step 11, else:- a. add the PHX01RN plugin to the EvenGhost configuration tree
12. if you installed WinUSB manually in Part II go to step 13, else:- a. wait for the WinUSB driver to download from the EventGhost website
14. click Continue Anyway or Install this driver software anyway
15. click Continue Anyway or Install this driver software anyway if necessary
16. click Continue Anyway or Install this driver software anyway if necessary
17. click Finish
18. uncheck Log only assigned and activated events
19. aim the DRC48RC6 at the W-01RN and press some buttons
20. you should see events that look like PHX01RN.Xyz in the Log pane - in 32bit Windows the PHX01RN plugin folder is: C:\Program Files\EventGhost\plugins\PHX01RN
Last edited by WharfRat on Sat Jun 07, 2014 10:41 am, edited 5 times in total.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
Re: PHX01RN remote control plugin
Part IV - PHX01RN v3.0 plugin features and notes.
You may have plugged in the PHX01RN before you tried to use it with EventGhost.
In particular, the blue Toggle button switched between cursor mode and mouse mode.
The PHX01RN v3.0 plugin removes this 'feature', because EvenGhost provides a mouse emulation capability.
Removing the 'feature' eliminates the confusion over which mode the remote control is in.
Another advantage is that the blue button can now be used for other purposes.
If you really want to keep the 'feature', then you should use the __init__.py of PHX01RN v2.0 for step 4 of Part III.
Technically, the PHX01RN was designed in a way that causes 2 of the buttons to behave differently from all the other buttons.
Those two buttons are the Power button and the Toggle button.
Most of the buttons create an event when the button is pressed and another event when the button is released.
In fact all the buttons, except for Power, create two different events when the button is released.
The Toggle button does not create an event when the button is pressed, it only creates events when the button is released.
The Power button creates a button-pressed and button-released events when the button is pressed, but does not create any events when the button is released.
The Power button sometimes creates two different button-pressed events before the button-released events.
The PHX01RN v3.0 plugin does not send any button release events to EventGhost, they aren't useful.
It does send enduring events for all the buttons except for Power and Toggle.
It is not possible to determine how long the Power or Toggle have been pressed, so it's impossible to make them enduring events.
You may sometimes receive a lot of cursor direction events.
Pressing the Toggle button can still switch modes and reduce the number of cursor direction events.
(This has now been fixed in v3.0.1)
It is preferable to keep the W-01RN plugged into the same USB port always.
That's it, the plugin does not have any configuration options to explain.
You may have plugged in the PHX01RN before you tried to use it with EventGhost.
In particular, the blue Toggle button switched between cursor mode and mouse mode.
The PHX01RN v3.0 plugin removes this 'feature', because EvenGhost provides a mouse emulation capability.
Removing the 'feature' eliminates the confusion over which mode the remote control is in.
Another advantage is that the blue button can now be used for other purposes.
If you really want to keep the 'feature', then you should use the __init__.py of PHX01RN v2.0 for step 4 of Part III.
Technically, the PHX01RN was designed in a way that causes 2 of the buttons to behave differently from all the other buttons.
Those two buttons are the Power button and the Toggle button.
Most of the buttons create an event when the button is pressed and another event when the button is released.
In fact all the buttons, except for Power, create two different events when the button is released.
The Toggle button does not create an event when the button is pressed, it only creates events when the button is released.
The Power button creates a button-pressed and button-released events when the button is pressed, but does not create any events when the button is released.
The Power button sometimes creates two different button-pressed events before the button-released events.
The PHX01RN v3.0 plugin does not send any button release events to EventGhost, they aren't useful.
It does send enduring events for all the buttons except for Power and Toggle.
It is not possible to determine how long the Power or Toggle have been pressed, so it's impossible to make them enduring events.
You may sometimes receive a lot of cursor direction events.
Pressing the Toggle button can still switch modes and reduce the number of cursor direction events.
(This has now been fixed in v3.0.1)
It is preferable to keep the W-01RN plugged into the same USB port always.
That's it, the plugin does not have any configuration options to explain.
Last edited by WharfRat on Sat Jan 04, 2014 10:39 am, edited 2 times in total.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
Re: PHX01RN remote control plugin
Part V - Autopsy.
"The coroner's autopsy determined the cause of death"
It was like being in an episode of CSI.
Cause of death:
I added everything before 14 December to provide context.
The breakthrough came on 20 December.
Mid-Novenber 2013 :-
Downloaded EventGhost and started playing with it.
After a few days of tinkering, I finally started to 'get' the way it worked.
Came to a decision that I must write a decent manual for it.
Enjoyed the beer which I bought for BitMonster.
Early-December 2013 :-
Decided that the Desktop Remote plugin was fine, but a real remote control would be better.
Looked around for remote controls; lots of cheap ones which only emulate keystrokes.
Did not find any fancy USBIRT and MCE etc. remotes in this part of the world.
Saw two promising cheap remotes in 'Chinatown' that might work with EventGhost.
13 December 2013 :-
Bought the nicer of the two promising cheap remotes for my birthday.
Connected it to PC1 (the main computer, WinXP)
Yay, EventGhost recogniszes it and calls it a PHX01RN.
Added the PHX01RN plugin to the EventGhost configuration tree.
Had to connect to the Internet to complete the installation.
Installation completed.
Pressed the buttons.
Many (0, 0, 0, 0, 0, 0, 0, 0) and a few other info messages.
A few incorrect PHX01RN.MouseRight events.
Some buttons do nothing.
Oh dear.
Connected the PHX01RN to PC2 (other computer, Win7) which does not have EventGhost.
Well, all the buttons work, there must be an EventGhost problem.
Connect PHX01RN to PC1 again.
Found some topics in the EventGhost forums about the PHX01RN.
Removed the plugin by BitMonster.
Added the plugin by olurz.
No need to connect to the Internet.
Aaaargh, thats even worse, the remote doesn't do anything now.
Despair.
14 December 2013 :-
It's time to learn Python, found Learning Python 5th edition by Mark Lutz (O'Reilly).
(although Python was so easy I didn't even have to read it)
Looked at __init__.py of other remote plugins.
It seems like many that use WinUSB have 2 self.winUsb.Device().AddHardwareId() statements.
Tried modifying __init__.py v1.0 to use 2 self.winUsb.Device().AddHardwareId() statements.
No luck.
Time to create PHX01RN v3.0
Some buttons do something when the button is pressed and when the button is released.
Most buttons do something when the button is released.
Obviously a second self.winUsb.Device().AddHardwareId() must see the other buttons.
15 December 2013 :-
Spent the day watching Mandela's funeral.
16 December 2013 :-
Downloaded Advanced USB Port Monitor (AUSBPM).
Installed AUSBPM on PC1.
Pressed all the PHX01RN buttons and created a list of the codes.
Many buttons generate data for button press and button release.
Most buttons generate data for button release.
Some buttons do not generate data for button press.
Installed AUSBPM on PC2.
Pressed all the PHX01RN buttons and created a list of the codes.
Most buttons generate data for button press and button release.
The Power and Toggle buttons behave differently.
Most keys generate two button release values.
Some of the data is 8 bytes, some data is 6 bytes.
Comparing the two lists to PHX01RN v3.0 reveals all.
PHX01RN v3.0 only sees the 8 byte values and reports them correctly.
The second self.winUsb.Device().AddHardwareId() must be for the 6 byte values.
17 December 2013 :-
Seems the WinUSB is the heart of everything.
Found WinUsbRemote.py and WinUsb.py in the eg\Classes folder of the EventGhost program.
18 December 2013 :-
Looking at WinUsb.py there is something about downloading.
These are the files: DPInst.exe WdfCoInstaller01009.dll WinUSBCoInstaller2.dll WUDFUpdate_01009.dll
Found them in C:\Documents and Settings\All Users\Application Data\EventGhost\drivers\WinUSB\x86
Also found a driver.inf there.
driver.inf seems to be informative.
There is something about %Device0.DeviceDesc%=Install,USB\VID_0755&PID_2626.
PHX01RN v2.0 and many of the other USB remote plugins use USB\\VID_0755&PID_2626&MI_00
and USB\\VID_0755&PID_2626&MI_01
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
Only found one item: PHX01RN USB Receiver.
Plugged the PHX01RN into PC2.
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
Found a lot of stuff, including USB\\VID_0755&PID_2626&MI_00
and USB\\VID_0755&PID_2626&MI_01
19 December 2013 :-
Something is happening to the USB HID interfaces.
PC1 cannot see USB\\VID_0755&PID_2626&MI_00 and USB\\VID_0755&PID_2626&MI_01
PC1 only sees USB\\VID_0755&PID_2626
Usually .inf files are used to install hardware.
Downloaded EventGhost WinUSB Add-on.zip from EventGhost downloads page.
It doesn't have driver.inf in it.
20 December 2013 :-
WinUsb.py seems to have something in that looks like an .inf file in it.
There isn't anything about USB\\VID_0755&PID_2626 there.
driver.inf has Device0.DeviceDesc="PHX01RN USB Receiver"
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
The HID device is called PHX01RN USB Receiver.
Looked in __init__.py v1.0 also.
Found self.winUsb.Device(self.Callback,8).AddHardwareId("PHX01RN USB Receiver", "USB\\VID_0755&PID_2626")
Is driver.inf created from __init__.py by WinUsb.py perhaps?
Delete driver.inf and try __init__.py v3.0 perhaps.
Nope.
Found 2 things in Control Panel Add and Remove Programs:
Microsoft WinUsb 2.0
Windows Driver Package - EventGhost PHX01RN (01/25/2010 1.9.2.0)
Where does Windows Driver Package - EventGhost PHX01RN (01/25/2010 1.9.2.0) come from?
Uninstall Windows Driver Package - EventGhost PHX01RN (01/25/2010 1.9.2.0).
Restarting EventGhost now caused PHX01RN v3.0 to ask to install again.
PHX01RN installed ok.
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
It still only shows USB\\VID_0755&PID_2626 there.
Aah, try removing it again and then use 2 self.winUsb.Device().AddHardwareId() statements.
Try the statements from __init__.py v2.0 in __init__.py v3.0 as a test.
Restarting EventGhost now caused PHX01RN v3.0 to ask to install again.
PHX01RN installed ok.
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
Hooray! It shows USB\\VID_0755&PID_2626&MI_00 and USB\\VID_0755&PID_2626&MI_01 there.
Rewrite __init__.py as:
self.winUsb.Device(self.Callback,8).AddHardwareId("PHX01RN USB Receiver","USB\\VID_0755&PID_2626&MI_00")
self.winUsb.Device(self.Callback,6).AddHardwareId("PHX01RN USB Receiver","USB\\VID_0755&PID_2626&MI_01")
Uninstall PHX01RN driver package and restart EventGhost again.
Yaaaay! The data looks good. All the buttons work.
Turned the print statements into TriggerEvent statements.
It works now.
Five days from no Python experience to a working plugin.
The crucial step was Remove Windows Driver Package - EventGhost PHX01RN (01/25/2010 1.9.2.0), restart EventGhost.
Tested the PHX01RN v2.0 plugin using this procedure and it also works now.
The crucial step is to uninstall the 'hardware driver' that WinUsb.py creates.
Writing the plugin was so much easier than determinig that WinUSB needed to be reconfigured.
The EventGhost setup program could have avoided this mess.
It should have included PHX01RN v2.0, or now PHX01RN v3.0 instead.
21 December 2013 :-
Cleaned up PHX01RN v3.0 plugin.
Fixed the button down and button up events of the Power button.
Converted the mouse mode events to cursor mode events.
Fixed the button up event of the Toggle button to create button down and button up events.
Converted all button down events, except Power and Toggle, into enduring events.
Disabled the button up events.
22 December 2013 :-
Started the PHX01RN v3.0 documentation.
24 December 2013 :-
Finished the PHX01RN v3.0 documentation.
It is time to submit my efforts to the EventGhost community.
Merry Christmas!
I need a beer.
Addendums:
31 December 2013 :-
Released PHX01RN v3.0.1 which fixes the repeating cursor events in mouse mode.
"The coroner's autopsy determined the cause of death"
It was like being in an episode of CSI.
Cause of death:
- i) incomplete PHX01RN v1.0 in the EventGhost Setup program
ii) omission of PHX01RN v2.0 in the EventGhost Setup program
iii) omission of migration instructions from PHX01RN v1.0 to v2.0
I added everything before 14 December to provide context.
The breakthrough came on 20 December.
Mid-Novenber 2013 :-
Downloaded EventGhost and started playing with it.
After a few days of tinkering, I finally started to 'get' the way it worked.
Came to a decision that I must write a decent manual for it.
Enjoyed the beer which I bought for BitMonster.
Early-December 2013 :-
Decided that the Desktop Remote plugin was fine, but a real remote control would be better.
Looked around for remote controls; lots of cheap ones which only emulate keystrokes.
Did not find any fancy USBIRT and MCE etc. remotes in this part of the world.
Saw two promising cheap remotes in 'Chinatown' that might work with EventGhost.
13 December 2013 :-
Bought the nicer of the two promising cheap remotes for my birthday.
Connected it to PC1 (the main computer, WinXP)
Yay, EventGhost recogniszes it and calls it a PHX01RN.
Added the PHX01RN plugin to the EventGhost configuration tree.
Had to connect to the Internet to complete the installation.
Installation completed.
Pressed the buttons.
Many (0, 0, 0, 0, 0, 0, 0, 0) and a few other info messages.
A few incorrect PHX01RN.MouseRight events.
Some buttons do nothing.
Oh dear.
Connected the PHX01RN to PC2 (other computer, Win7) which does not have EventGhost.
Well, all the buttons work, there must be an EventGhost problem.
Connect PHX01RN to PC1 again.
Found some topics in the EventGhost forums about the PHX01RN.
Removed the plugin by BitMonster.
Added the plugin by olurz.
No need to connect to the Internet.
Aaaargh, thats even worse, the remote doesn't do anything now.
Despair.
14 December 2013 :-
It's time to learn Python, found Learning Python 5th edition by Mark Lutz (O'Reilly).
(although Python was so easy I didn't even have to read it)
Looked at __init__.py of other remote plugins.
It seems like many that use WinUSB have 2 self.winUsb.Device().AddHardwareId() statements.
Tried modifying __init__.py v1.0 to use 2 self.winUsb.Device().AddHardwareId() statements.
No luck.
Time to create PHX01RN v3.0
Some buttons do something when the button is pressed and when the button is released.
Most buttons do something when the button is released.
Obviously a second self.winUsb.Device().AddHardwareId() must see the other buttons.
15 December 2013 :-
Spent the day watching Mandela's funeral.
16 December 2013 :-
Downloaded Advanced USB Port Monitor (AUSBPM).
Installed AUSBPM on PC1.
Pressed all the PHX01RN buttons and created a list of the codes.
Many buttons generate data for button press and button release.
Most buttons generate data for button release.
Some buttons do not generate data for button press.
Installed AUSBPM on PC2.
Pressed all the PHX01RN buttons and created a list of the codes.
Most buttons generate data for button press and button release.
The Power and Toggle buttons behave differently.
Most keys generate two button release values.
Some of the data is 8 bytes, some data is 6 bytes.
Comparing the two lists to PHX01RN v3.0 reveals all.
PHX01RN v3.0 only sees the 8 byte values and reports them correctly.
The second self.winUsb.Device().AddHardwareId() must be for the 6 byte values.
17 December 2013 :-
Seems the WinUSB is the heart of everything.
Found WinUsbRemote.py and WinUsb.py in the eg\Classes folder of the EventGhost program.
18 December 2013 :-
Looking at WinUsb.py there is something about downloading.
These are the files: DPInst.exe WdfCoInstaller01009.dll WinUSBCoInstaller2.dll WUDFUpdate_01009.dll
Found them in C:\Documents and Settings\All Users\Application Data\EventGhost\drivers\WinUSB\x86
Also found a driver.inf there.
driver.inf seems to be informative.
There is something about %Device0.DeviceDesc%=Install,USB\VID_0755&PID_2626.
PHX01RN v2.0 and many of the other USB remote plugins use USB\\VID_0755&PID_2626&MI_00
and USB\\VID_0755&PID_2626&MI_01
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
Only found one item: PHX01RN USB Receiver.
Plugged the PHX01RN into PC2.
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
Found a lot of stuff, including USB\\VID_0755&PID_2626&MI_00
and USB\\VID_0755&PID_2626&MI_01
19 December 2013 :-
Something is happening to the USB HID interfaces.
PC1 cannot see USB\\VID_0755&PID_2626&MI_00 and USB\\VID_0755&PID_2626&MI_01
PC1 only sees USB\\VID_0755&PID_2626
Usually .inf files are used to install hardware.
Downloaded EventGhost WinUSB Add-on.zip from EventGhost downloads page.
It doesn't have driver.inf in it.
20 December 2013 :-
WinUsb.py seems to have something in that looks like an .inf file in it.
There isn't anything about USB\\VID_0755&PID_2626 there.
driver.inf has Device0.DeviceDesc="PHX01RN USB Receiver"
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
The HID device is called PHX01RN USB Receiver.
Looked in __init__.py v1.0 also.
Found self.winUsb.Device(self.Callback,8).AddHardwareId("PHX01RN USB Receiver", "USB\\VID_0755&PID_2626")
Is driver.inf created from __init__.py by WinUsb.py perhaps?
Delete driver.inf and try __init__.py v3.0 perhaps.
Nope.
Found 2 things in Control Panel Add and Remove Programs:
Microsoft WinUsb 2.0
Windows Driver Package - EventGhost PHX01RN (01/25/2010 1.9.2.0)
Where does Windows Driver Package - EventGhost PHX01RN (01/25/2010 1.9.2.0) come from?
Uninstall Windows Driver Package - EventGhost PHX01RN (01/25/2010 1.9.2.0).
Restarting EventGhost now caused PHX01RN v3.0 to ask to install again.
PHX01RN installed ok.
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
It still only shows USB\\VID_0755&PID_2626 there.
Aah, try removing it again and then use 2 self.winUsb.Device().AddHardwareId() statements.
Try the statements from __init__.py v2.0 in __init__.py v3.0 as a test.
Restarting EventGhost now caused PHX01RN v3.0 to ask to install again.
PHX01RN installed ok.
Look at Human Interface Devices in Device Manager of System properties of Control Panel.
Hooray! It shows USB\\VID_0755&PID_2626&MI_00 and USB\\VID_0755&PID_2626&MI_01 there.
Rewrite __init__.py as:
self.winUsb.Device(self.Callback,8).AddHardwareId("PHX01RN USB Receiver","USB\\VID_0755&PID_2626&MI_00")
self.winUsb.Device(self.Callback,6).AddHardwareId("PHX01RN USB Receiver","USB\\VID_0755&PID_2626&MI_01")
Uninstall PHX01RN driver package and restart EventGhost again.
Yaaaay! The data looks good. All the buttons work.
Turned the print statements into TriggerEvent statements.
It works now.
Five days from no Python experience to a working plugin.
The crucial step was Remove Windows Driver Package - EventGhost PHX01RN (01/25/2010 1.9.2.0), restart EventGhost.
Tested the PHX01RN v2.0 plugin using this procedure and it also works now.
The crucial step is to uninstall the 'hardware driver' that WinUsb.py creates.
Writing the plugin was so much easier than determinig that WinUSB needed to be reconfigured.
The EventGhost setup program could have avoided this mess.
It should have included PHX01RN v2.0, or now PHX01RN v3.0 instead.
21 December 2013 :-
Cleaned up PHX01RN v3.0 plugin.
Fixed the button down and button up events of the Power button.
Converted the mouse mode events to cursor mode events.
Fixed the button up event of the Toggle button to create button down and button up events.
Converted all button down events, except Power and Toggle, into enduring events.
Disabled the button up events.
22 December 2013 :-
Started the PHX01RN v3.0 documentation.
24 December 2013 :-
Finished the PHX01RN v3.0 documentation.
It is time to submit my efforts to the EventGhost community.
Merry Christmas!
I need a beer.
Addendums:
31 December 2013 :-
Released PHX01RN v3.0.1 which fixes the repeating cursor events in mouse mode.
Last edited by WharfRat on Sat Jan 04, 2014 10:42 am, edited 3 times in total.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
-
krambriw
- Plugin Developer
- Posts: 2570
- Joined: Sat Jun 30, 2007 2:51 pm
- Location: Stockholm, Sweden
- Contact:
Re: PHX01RN remote control plugin
Fantastic!
Even if I do not have the remote myself, I'm sure those having it will very much appreciate your great effort.
Most welcome to our friendly community,
Wish you a Merry Christmas too,
Best regards, Walter
Even if I do not have the remote myself, I'm sure those having it will very much appreciate your great effort.
Most welcome to our friendly community,
Wish you a Merry Christmas too,
Best regards, Walter
My released plugins
https://drive.google.com/drive/folders/ ... y01eVBKeHM
https://drive.google.com/drive/folders/ ... y01eVBKeHM
Re: PHX01RN remote control plugin
I just bought this remote a few days ago.
Thank you for all this work, WharfRat.
I'm not familiar with eventghost yet. Right now the remote is working for me with xbmc without needing to configure it.
Tough I do love the option to configure every button on the remote so I might be tempted to install it soon. I'm just afraid to make a mess out of it...
Thank you for all this work, WharfRat.
I'm not familiar with eventghost yet. Right now the remote is working for me with xbmc without needing to configure it.
Tough I do love the option to configure every button on the remote so I might be tempted to install it soon. I'm just afraid to make a mess out of it...
Re: PHX01RN remote control plugin
Hello Walter,
Thank you.
I have two quick questions.
1) How can we move this topic to the Plugins Forum?
2) Can this plugin be added to the distribution, because it would make installing the PHX01RN a no-brainer.
I suppose 2) can wait a bit until other users vote for PHX01RN v2.0 or for PHX01RN v3.0
PHX01RN v1.0 by BitMonster should certainly be taken out.
Thank you.
I have two quick questions.
1) How can we move this topic to the Plugins Forum?
2) Can this plugin be added to the distribution, because it would make installing the PHX01RN a no-brainer.
I suppose 2) can wait a bit until other users vote for PHX01RN v2.0 or for PHX01RN v3.0
PHX01RN v1.0 by BitMonster should certainly be taken out.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
Re: PHX01RN remote control plugin
Hi Kartix,
I don't use xbmc myself, but I've been to the website to look at it before (months ago).
If you do eventually try out EventGhost, then give this plugin a try. It seems that a lot of people around here do use xbmc with EventGhost.
I don't think that you will make a mess of anything by using this plugin, since it only works with EventGhost.
The only thing that might affect you is that xbmc will see the PHX01RN as a different remote control.
I don't use xbmc myself, but I've been to the website to look at it before (months ago).
If you do eventually try out EventGhost, then give this plugin a try. It seems that a lot of people around here do use xbmc with EventGhost.
I don't think that you will make a mess of anything by using this plugin, since it only works with EventGhost.
The only thing that might affect you is that xbmc will see the PHX01RN as a different remote control.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
Re: PHX01RN remote control plugin
Kartix....
Oops.. I should explain myself a little better.
You should unplug the W-01RN (the USB dongle) before you install EventGhost.
Install EventGhost.
Quit EventGhost.
Get PHX01RN v3.0 and copy the __ini__.py and PHX01RN.png files to the mentioned plugin folder.
Then plug in the W-01RN and run EventGhost again, and install the PHX01RN.
That will not cause you any problems.
What messes things up is the PHX01RN v1.0 plugin that is included in the current distributions.
If that one gets installed by mistake then things get messy.
The instructions at the beginning of this topic show how to fix it again, it just looks a bit scary.
It would help if they included the v2.0 or v3.0 plugin instead.
Oops.. I should explain myself a little better.
You should unplug the W-01RN (the USB dongle) before you install EventGhost.
Install EventGhost.
Quit EventGhost.
Get PHX01RN v3.0 and copy the __ini__.py and PHX01RN.png files to the mentioned plugin folder.
Then plug in the W-01RN and run EventGhost again, and install the PHX01RN.
That will not cause you any problems.
What messes things up is the PHX01RN v1.0 plugin that is included in the current distributions.
If that one gets installed by mistake then things get messy.
The instructions at the beginning of this topic show how to fix it again, it just looks a bit scary.
It would help if they included the v2.0 or v3.0 plugin instead.
Last edited by WharfRat on Fri Dec 27, 2013 11:49 am, edited 1 time in total.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
-
krambriw
- Plugin Developer
- Posts: 2570
- Joined: Sat Jun 30, 2007 2:51 pm
- Location: Stockholm, Sweden
- Contact:
Re: PHX01RN remote control plugin
I think an admin is able to. Maybe Zian when he reads this? I think you have rights to open a thread (next time) in the Plugin section yourself?1) How can we move this topic to the Plugins Forum?
Your suggestion is fine, let people try it out for a while and once it gets stabilized, you can announce it in this thread:2) Can this plugin be added to the distribution, because it would make installing the PHX01RN a no-brainer.
viewtopic.php?f=12&t=5671#p27792
Pako will then decide when/if it will be included
BestR Walter
My released plugins
https://drive.google.com/drive/folders/ ... y01eVBKeHM
https://drive.google.com/drive/folders/ ... y01eVBKeHM
Re: PHX01RN remote control plugin
Ooooh...
We are in the Plugins forum now.
Thanks Walter and Zian
We are in the Plugins forum now.
Thanks Walter and Zian
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
Re: PHX01RN remote control plugin
Thanks for the detailed instructions WharfRat.
If something goes a bit wrong, can I uninstall eventghost and the remote will back to work as it is now - without any program?
Another question.
And is there a way to switch between the two modes without the toggle button with your __init__.py file.
Thanks again.
If something goes a bit wrong, can I uninstall eventghost and the remote will back to work as it is now - without any program?
Another question.
Does it mean the remote can only be used as keyboard, or I can still use it as a mouse?In particular, the blue Toggle button switched between cursor mode and mouse mode.
The PHX01RN v3.0 plugin removes this 'feature', because EvenGhost provides a mouse emulation capability.
And is there a way to switch between the two modes without the toggle button with your __init__.py file.
Thanks again.
Re: PHX01RN remote control plugin
Kartix...
1.
2.
In EventGhost, the PHX01RN is a remote, so the buttons can do anything, even to emulate a keyboard or a mouse if you want to.
If you have not installed EventGhost, then some of the buttons on the remote act like the mouse and the rest act like keyboard keys.
3.
In v3.0 you are always in the 'cursor' mode, but you can use the mouse emulation features of EventGhost to enable mouse capability.
(This is so that we can then use the blue Toggle button for other things.)
It will be easier to explain mouse emulation once you have started playing around with EventGhost first.
WharfRat.
1.
Yes, you can uninstall EventGhost, and then perform step 5 of part III to get your remote back to normal.If something goes a bit wrong, can I uninstall eventghost and the remote will back to work as it is now - without any program?
2.
I am not sure if you mean when you are in EventGhost, or when you are using the remote (as you are now, in XBMC and Windows) without EventGhost.Does it mean the remote can only be used as keyboard, or I can still use it as a mouse?
In EventGhost, the PHX01RN is a remote, so the buttons can do anything, even to emulate a keyboard or a mouse if you want to.
If you have not installed EventGhost, then some of the buttons on the remote act like the mouse and the rest act like keyboard keys.
3.
That is what makes this plugin (v3.0) different from the version by olurz (v2.0).And is there a way to switch between the two modes without the toggle button with your __init__.py file.
In v3.0 you are always in the 'cursor' mode, but you can use the mouse emulation features of EventGhost to enable mouse capability.
(This is so that we can then use the blue Toggle button for other things.)
It will be easier to explain mouse emulation once you have started playing around with EventGhost first.
WharfRat.
EventGhost 0.4.1.r1640
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
PHX01RN plugin v3.0.1
Windows XP 32bit (v5.1 Build 2600 Service Pack 2)
Windows7 64bit (v6.1 Build 7601 Service Pack 1)
Re: PHX01RN remote control plugin
Great, thanks for your patience.
I will install it. Which version of eventghost should I use, 0.4.1.r1610 or the latest release?
I will install it. Which version of eventghost should I use, 0.4.1.r1610 or the latest release?