Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate

Sidewinder X6 and AutoHotKey


  • Please log in to reply
6 replies to this topic
JonathanK
  • Guests
  • Last active:
  • Joined: --
Hi,

Is there anyway to have AutoHotKey recognize the macro key sets in Sidewinder X6? Windows Spy isn't seeing it.

Jonathan

Chavez
  • Members
  • 256 posts
  • Last active: Oct 13 2009 01:27 PM
  • Joined: 20 Aug 2008

Hi,

Is there anyway to have AutoHotKey recognize the macro key sets in Sidewinder X6? Windows Spy isn't seeing it.

Jonathan


Use the Macro recorder instead.
-Chavez.

tezza
  • Members
  • 1 posts
  • Last active: Jul 14 2009 04:18 PM
  • Joined: 14 Jul 2009
Hello,

I have a Sidewinder X6 and ran into the same problems. I found that you can manipulate the values in the registry to get the effect you want.

I have documented it at my blog :: <!-- m -->http://terrylurie.co... ... Autohotkey<!-- m -->

Summary ::

* Create normal keybinding for the special key using Intellitype

* Look in the registry at Computer\HKEY_CURRENT_USER\Software\Microsoft\Intellitype Pro\EventMapping\8xx

* Change the Keystroke value to the key you want.

* Please see the blog entry for a table of key values as well as a screenshot walkthrough of the process.


I hope this helps other Sidewinder / Autohotkey users.

Terry.

sqgl
  • Members
  • 30 posts
  • Last active: Mar 03 2015 05:26 PM
  • Joined: 21 Feb 2012

I have documented it at my blog :: <!-- m -->http://terrylurie.co... ... Autohotkey<!-- m -->


That's awesome Terry however I found that by using Intellitype one cannot physically press the media keys and have them reliably translated into macros by AHK.
<!-- m -->http://www.autohotke...pic.php?t=83621<!-- m -->
I wonder if my problem would be solved if I used your technique to assign the media-buttons to Virtual Key Codes unrelated to the default media-button mappings. Will try it one day this week.

One tiny thing: on your page, when you say

To have a key equivalent to SHIFT, CTRL or ALT, leave the 0x--vv bit as 00

it may clearer expressed as

To have a key equivalent to SHIFT, CTRL or ALT, the vv suffix needs to be 00


PS There is another good site for SideWinder/Intellitype hacks at
<!-- m -->http://xahlee.org/em... ... hacks.html<!-- m -->

sqgl
  • Members
  • 30 posts
  • Last active: Mar 03 2015 05:26 PM
  • Joined: 21 Feb 2012
The latest Intellitype (v8.2) does not work this way. MS have advised in a Google Groups forum that (instead of hacking the registry) we need to hack the .mhm files which are in "My Documents\Microsoft Hardware\Macros".

Every macro has its own ".mhm" file which you can edit in a simple text editor like NotePad. It claims to be an xml file but Xah Lee says that even with the "commands.xml" file Intellisoft does not really treat it like ordinary xml so do not go using fancy xml commands/comments.

EDIT: The .mhm file does not use Virtual Key Codes as per Terry's registry hack example. It uses scan codes expressed in decimal (so you will need to convert to hexadecimal in your head before using in AHK).

I have yet to try any of this with my SideWinder X4.

sqgl
  • Members
  • 30 posts
  • Last active: Mar 03 2015 05:26 PM
  • Joined: 21 Feb 2012
AHK lets you use either Scan Codes or Virtual Key Code but how will you know which Scan Codes are unassigned and available for your mapping?

Let's start with which Virtual Key codes are contenders. The MicroSlop page I mentioned previously tells us...

07 is undefined
OE is undefined
0F is undefined
16 is undefined
1A is undefined
3A to 40 range is undefined

E8 is unassigned
D8 to DA range is unassigned
88 to 8F range is unassigned
97 to 8F range is unassigned

Finally, I presume
FF is undefined (As Terry said)

But how does one convert those to (decimal) scan codes? There is an free app called InputHook that translates any key for you into scancode/ascii/UTF-8/hex/dec/virtualkey etc which I have yet to try but "scan code" refers to physical keys so I don't know if there will be any correspondence with unassigned/undefined VK codes.

I googled for about 40 minutes for a simple lookup table (for the entire process) but no luck.

EDIT: My current impasse is documented in <!-- m -->http://www.autohotke... ... 839#520839<!-- m -->

sqgl
  • Members
  • 30 posts
  • Last active: Mar 03 2015 05:26 PM
  • Joined: 21 Feb 2012
EDIT1: I was using wrong value for F13 before (but it did work). Now I use the correct value for F13
EDIT2: ScanCode-FunctionKey correspondence according to AutoHotKey contradicts what I wrote

This is my .mhm file which kind of works
<?xml version="1.0" encoding="UTF-8"?><Macro>
	<KeyBoardEvent Down="true">104</KeyBoardEvent>
        <DelayEvent>500</DelayEvent>
       <KeyBoardEvent Down="false">104</KeyBoardEvent>
</Macro>

104 decimal corresponds to 68 Hexadecimal which is the scan code that AHK will use.

I need a long delay otherwise the key "releases" before I get to press the accomanying key. You would think the following works but it does not.
<?xml version="1.0" encoding="UTF-8"?><Macro>
	<KeyBoardEvent Down="true">104</KeyBoardEvent>
</Macro>
I suspect the problem is that physically releasing SideWinder macro keys does not generate anything and so Intellitype always appends a key-up in software (even with the .mhm hack that removes the key-up).

SC068 is traditionally used for function key 13.
Presumably I can now use the scan codes for the other function keys that do not physically exist.

According to <!-- m -->http://www.quadibloc.com/comp/scan.htm<!-- m -->
SC068 is F13
SC069 is F14
SC06A is F15
SC06B is F16
SC06C is F17
SC06D is F18
SC06E is F19
SC06F is F20
SC070 is F21
SC071 is F22
SC072 is F23
SC073 is F24

But according to AutoHotKey's Key history and script info
SC068 is F17
SC069 is F18
SC06A is F19
SC06B is F20
SC06C is F21
SC06D is F22

I also used the following succesfully (accidently thought they were F13-F18)
SC05B
SC05C
SC05D
SC05E
SC05F
SC060