If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Disable "RC6 MCE based Remote Control" build-in handling ?
Hello All,
I've been given a "RC6 MCE based RemoteContol" (home entertainment center related), and would like to disable its build-in handling, so that I can let some other program (like EventGost) do the work (and not get a mix-and-mash result). A suggestion I found was to replace a conversion table stored in the registry with a dummy one. But that would make switching back much harder (I know, backups and all that). My question is: Isn't there a "do not work" registry-key I could introduce (easy to switch on, easy to switch off/remove) ? I'm even giving extra points for a method (preferrably by calling some API) that will work without having to reboot the 'puter. :-) Regards, Rudy Wieser I can simply replace the conversion table thats stored in the registry with |
Ads |
#2
|
|||
|
|||
Disable "RC6 MCE based Remote Control" build-in handling ?
R.Wieser wrote:
Hello All, I've been given a "RC6 MCE based RemoteContol" (home entertainment center related), and would like to disable its build-in handling, so that I can let some other program (like EventGost) do the work (and not get a mix-and-mash result). A suggestion I found was to replace a conversion table stored in the registry with a dummy one. But that would make switching back much harder (I know, backups and all that). My question is: Isn't there a "do not work" registry-key I could introduce (easy to switch on, easy to switch off/remove) ? I'm even giving extra points for a method (preferrably by calling some API) that will work without having to reboot the 'puter. :-) Regards, Rudy Wieser I can simply replace the conversion table thats stored in the registry with I'm not sure I understand what you're trying to do. If you "disable" a device in Device Manager (devmgmt.msc), then another actual device driver would be needed to access that piece of hardware. So something has to be there. The "disable" in Device Manager which is available on a per-item basis, is a form of control. Normally, a piece of software needed to modify an input stream, would use a "filter driver" approach. It allows the basic driver to continue working, and a "shim" (UpperFilter or LowerFilter) is install. If the driver writer wants the original consumer to be cut off, I presume the filter driver can simply not pass any events onward to the rest of that particular driver stack. The position of the filter (Upper or Lower), determines who gets what part of the information stream. An example of a filter driver, is how Track Pads work. Initially, they declare themselves in Plug and Play, as a "HID Device". A basic level of functionality is present. However, if you want "virtual buttons" on the trackpad surface, a separate (Synaptic or similar brand) filter driver is needed. That driver sits as a shim in that particular HID driver stack, intercepts coordinates and events, and provides a richer set of functions. That filter driver still allows lots of the information stream to pass through the filter, so that the cursor moves around on your computer screen, as you move your finger over the trackpad surface. Multiple shims can be installed. For example, if you install two Virtual Machine hosting softwares, each of those can install a filter driver in the NIC stack. ******* The EventGhost developer should be doing the grunt work for you. Attacking the Registry with an ice pick, seems so 90's. ******* Maybe some idea here will help ? http://www.eventghost.org/mediawiki/...for_Windows_XP Paul |
#3
|
|||
|
|||
Disable "RC6 MCE based Remote Control" build-in handling ?
Paul,
I'm not sure I understand what you're trying to do. First, The build-into XPsp3 RC6 MCE driver currently converts received IR codes to stuff to control apps with. I want to switch that off, as I'm intending to use another program doing the same, and than some. If that is not done both the build-in as well as the other program will try to control the app, resulting in the app at least getting double of everything. In other words: I do *not* want to disable the RC6 MCE reciever/driver, just its "I'm sending actions" behaviour. Second, Although I can disable the build-in sending of commands by removing the translation table (translating between what signals it receives from the IR remote and what action should be performed on the computer) that is not really easy to revert (the data is gone). I was therefore wondering if I could introduce a registry-key that would tell the RC6 MCE driver *not* to perform any translation and subsequent sending of actions. So, instead of destroying that table I'm seeking for a build-in registry-key that functions as an on/off switch for it. Third: Removing the translation table in the registry will only have effect on the next reboot, as (most likely) the driver only than than tries to load the table. I was wondering if there was a way to tell the driver itself to stop doing the translation-and-action-sending, which would work instantly instead of only after a reboot. By the way, the table I'm taking about can be found he HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\HidIr\Remotes\745a17a0- 74d3-11d0-b6fe-00a0c90f57da\ReportMappingTable Also, I named EventGhost as a reference to the kind of program that has the same problem as I now have. In truth, I was (and am) busy building kind of the same program before I even knew it existed. :-) Regards, Rudy Wieser -- Origional message: Paul schreef in berichtnieuws ... R.Wieser wrote: Hello All, I've been given a "RC6 MCE based RemoteContol" (home entertainment center related), and would like to disable its build-in handling, so that I can let some other program (like EventGost) do the work (and not get a mix-and-mash result). A suggestion I found was to replace a conversion table stored in the registry with a dummy one. But that would make switching back much harder (I know, backups and all that). My question is: Isn't there a "do not work" registry-key I could introduce (easy to switch on, easy to switch off/remove) ? I'm even giving extra points for a method (preferrably by calling some API) that will work without having to reboot the 'puter. :-) Regards, Rudy Wieser I can simply replace the conversion table thats stored in the registry with I'm not sure I understand what you're trying to do. If you "disable" a device in Device Manager (devmgmt.msc), then another actual device driver would be needed to access that piece of hardware. So something has to be there. The "disable" in Device Manager which is available on a per-item basis, is a form of control. Normally, a piece of software needed to modify an input stream, would use a "filter driver" approach. It allows the basic driver to continue working, and a "shim" (UpperFilter or LowerFilter) is install. If the driver writer wants the original consumer to be cut off, I presume the filter driver can simply not pass any events onward to the rest of that particular driver stack. The position of the filter (Upper or Lower), determines who gets what part of the information stream. An example of a filter driver, is how Track Pads work. Initially, they declare themselves in Plug and Play, as a "HID Device". A basic level of functionality is present. However, if you want "virtual buttons" on the trackpad surface, a separate (Synaptic or similar brand) filter driver is needed. That driver sits as a shim in that particular HID driver stack, intercepts coordinates and events, and provides a richer set of functions. That filter driver still allows lots of the information stream to pass through the filter, so that the cursor moves around on your computer screen, as you move your finger over the trackpad surface. Multiple shims can be installed. For example, if you install two Virtual Machine hosting softwares, each of those can install a filter driver in the NIC stack. ******* The EventGhost developer should be doing the grunt work for you. Attacking the Registry with an ice pick, seems so 90's. ******* Maybe some idea here will help ? http://www.eventghost.org/mediawiki/..._Drivers_for_W indows_XP Paul |
#4
|
|||
|
|||
Disable "RC6 MCE based Remote Control" build-in handling ?
R.Wieser wrote:
Paul, I'm not sure I understand what you're trying to do. First, The build-into XPsp3 RC6 MCE driver currently converts received IR codes to stuff to control apps with. I want to switch that off, as I'm intending to use another program doing the same, and than some. If that is not done both the build-in as well as the other program will try to control the app, resulting in the app at least getting double of everything. In other words: I do *not* want to disable the RC6 MCE reciever/driver, just its "I'm sending actions" behaviour. Second, Although I can disable the build-in sending of commands by removing the translation table (translating between what signals it receives from the IR remote and what action should be performed on the computer) that is not really easy to revert (the data is gone). I was therefore wondering if I could introduce a registry-key that would tell the RC6 MCE driver *not* to perform any translation and subsequent sending of actions. So, instead of destroying that table I'm seeking for a build-in registry-key that functions as an on/off switch for it. Third: Removing the translation table in the registry will only have effect on the next reboot, as (most likely) the driver only than than tries to load the table. I was wondering if there was a way to tell the driver itself to stop doing the translation-and-action-sending, which would work instantly instead of only after a reboot. By the way, the table I'm taking about can be found he HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\HidIr\Remotes\745a17a0- 74d3-11d0-b6fe-00a0c90f57da\ReportMappingTable Also, I named EventGhost as a reference to the kind of program that has the same problem as I now have. In truth, I was (and am) busy building kind of the same program before I even knew it existed. :-) Regards, Rudy Wieser http://www.avsforum.com/forum/26-hom...er-remote.html The last post there, references this page. http://xbmccustomregis.sourceforge.net/remapping.html And there is an application here. No source. Just .exe. Apparently it uses .NET, which is why it's a bit small. So far, I haven't seen any practical application info. https://code.google.com/p/mce-remote...r.exe&can=2&q= I'm guessing if Media Center has the focus, then it's going to get whatever keyboard equivalent the remapping achieves ? That's probably still not what you had in mind. ******* With regard to a device in Device Manager, you can: 1) Write your own driver, one that allows you to control the received IR codes. 2) Use a filter driver to intercept the data stream. The output still has to correspond to something an application can use. Maybe you end up defining a service, your application uses that service to get the custom data stream. Maybe you could map the incoming codes from the remote, into a character stream on a COM port. Paul |
#5
|
|||
|
|||
Disable "RC6 MCE based Remote Control" build-in handling ?
Paul,
That's probably still not what you had in mind. Correct. I've found lots of data about defining the actions that are taken on certain IR codes, and am fairly certain (understatement :-) that I can get it to work. But as that conversion table is a "one size fits (*must* fit) all" its way too restrictive. Hence, I need to disable it (and only that translation table and related behaviour). 1) Write your own driver, one that allows you to control the received IR codes. I already can. By using RegisterRawInputDevices I receive "raw" data pertaining to all the buttons on the remote. Translation goes well enough for keystrokes, am still trying to figure out the other two. The output still has to correspond to something an application can use Better yet: as I'm in full control over the translation I can (and do) switch translation tables depending on the focussed app. Maybe you could map the incoming codes from the remote, into a character stream on a COM port. Everything is possible. But I've ran in enough problems trying to emulate the origional functions of the IR buttons, and would like to solve them first before thinking about stuff like that. ( for example, posting a VK_TAB using WM_KEYDOWN and -UP to the topmost window in an app does not cause a jump to the next control (instead it causes a jump back to the first-created control). The very same keycode does however work fine when using the SendInput method. I can't seem to reliably give an app keyboard and mouse focus when I either ShelleExecute a program or find an already running one. I've already posted such problems in comp.os.ms-windows.programmer.win32, but have not heard any definite solutions to them. ) Regards, Rudy Wieser -- Origional message Paul schreef in berichtnieuws ... http://www.avsforum.com/forum/26-hom...3-remap-button s-media-center-remote.html The last post there, references this page. http://xbmccustomregis.sourceforge.net/remapping.html And there is an application here. No source. Just .exe. Apparently it uses .NET, which is why it's a bit small. So far, I haven't seen any practical application info. https://code.google.com/p/mce-remote...ame=MceRemoteM apper.exe&can=2&q= I'm guessing if Media Center has the focus, then it's going to get whatever keyboard equivalent the remapping achieves ? That's probably still not what you had in mind. ******* With regard to a device in Device Manager, you can: 1) Write your own driver, one that allows you to control the received IR codes. 2) Use a filter driver to intercept the data stream. The output still has to correspond to something an application can use. Maybe you end up defining a service, your application uses that service to get the custom data stream. Maybe you could map the incoming codes from the remote, into a character stream on a COM port. Paul |
Thread Tools | |
Display Modes | |
|
|