Spacepilot Pro. Windows 7 x64 pro, I7-5960X cpu, 32GB mem, 24TB harddrive space, 2x 980's, Gigabyte mainboard, Logitech G19s & G13, partridge in a pear tree.
This works as expected.
Code: Select all
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_Rx</ActionID>
<Min>-512</Min>
<Max>511</Max>
</Input>
<Output>
<ActionID>HIDMouse_Wheel</ActionID>
<Scale>1.00</Scale>
<Reversed>true</Reversed>
</Output>
</Axis>
Code: Select all
<Axis>
<Enabled>true</Enabled>
<Input>
<ActionID>HIDMultiAxis_X</ActionID>
<Min>0</Min>
<Max>511</Max>
<Deadband>200</Deadband>
</Input>
<Output>
<ActionID>KB_Keystroke</ActionID>
<RepeatStyle>PressAndHold</RepeatStyle>
<Keystroke>
<Key>8</Key>
</Keystroke>
</Output>
</Axis>
I have uninstalled/reinstalled, enabled/disabled, checked Device Manager, Devices and Printers, LGS off/on (yes, it doesn't like the LCDM that comes with the SPP). All the combinations I can think of to no avail.
BTW: the [HID\3DXKMJ_HIDMINI&Col01] hardware id in Device Manager was under the [Human Interfaces Devices] branch in 10.1 and after completely reinstalling with the 10.2 it is now under the [HID-compliant mouse] branch.
The SPP works under all the products I run so it's not a hardware malfunction. The cap stops working as soon as I try to set an axis <Output> to <ActionID>KB_Keystroke</ActionID>.
If I delete my notepad.xml and let the 3Dx properties generate a new one, the X-axis works as it shows, it emulates the mouse wheel scrolling. If I assign a KB_Keystroke to either side of the X-axis range then that side stops working while the other side continues to emulate the mouse wheel. If I change the range then that side stops working while the other range functions as the mouse wheel scroll.
Also, in the Devices and Printers, there is an [unspecified] device shown as 3DX_KMJ_01 that has nothing under the HARDWARE tab. It goes away when uninstalling and comes right back with each reinstall. No yellow flag so it's not considered a failed driver install, it's just there. Just a curiosity.
Following the various suggestions given on this board by the mods/admins, I have tried the enable/disable with the [HID\3DXKMJ_HIDMINI&Col01] device entry, but that only removes the SPP from the Game Controllers listing. It has no impact on this issue that I've seen.
With just the G19s keyboard and SPP plugged in it still breaks the cap functionality once I try to use the KB_Keystroke on an axis assignment. I have tried it under the <Name>Standard 3D Mouse</Name> devices section as well as changing that section to <Name>SpacePilot PRO</Name> and it doesn't make a difference. The examples given on this board using axis generated keystrokes always seem to have all the definitions in a <Name>SpacePilot PRO</Name> (device name specific) section as opposed to the generic Standard 3D Mouse section.
I use win_tail to observe the 3DxService.log file. Before adding a KB_Keystroke output, the log shows that the cap generates pressure events on the X-axis as expected. After adding a KB_Keystroke to the X-axis that side generates no events and the opposite side continues to work as expected. I have tried applying KB_Keystroke outputs to the other axis but they stop working as well. I know the software is working because any change made to my test notepad.exe file is reflected in the service log events as well as the behavior of the cap. This narrows it down to KB_Keystroke as an output on an axis. All the buttons still function regardless of axis changes.
From the various threads on this board I've found this information to be quite helpful: (excerpts from mods/admins passing on info to others)
Code: Select all
TRANSPORT_PROTOCOL is a hint to the driver of how an application is planning on communicating with the driver.
NO_TRANSPORT means nothing in particular is specified. Either MWM or S80 will be handled.
MWM_TRANSPORT indicates that the application will use an old Windows messaging protocol
that is only used by a few applications.
S80_TRANSPORT indicates that the application is using the 3Dx C/C++ SDK mechanism.
PXY_TRANSPORT indicates that the application uses a Proxy DLL
(UdPxy directory DLL -- a callback mechanism used by 3DxOffice).
WIN32_KEYBOARD is the only one that absolutely needs to be specified.
It indicates that this application is only supported by throwing
keyboard macros at it. All the other protocols will register with
the driver to indicate that they are interested in receiving events.
WIN32_KEYBOARD applications are "write only". They never contact the
driver. It is up to the driver to notice that they are in focus and
start sending keyboard events to them.
Joystick (and Keyboard and Mouse) emulation is for applications that don't support the 3D mouse properly. Some of those applications, especially flight sims, support the joystick. In those cases, we can throw joystick events at them. It works very well. See some of the videos on youtube.
The current list of Transports is:
KMJ (Keyboard, Mouse, Joystick emulation)
HID (HID API from Microsoft)
RawInput (Microsoft Raw Input API)
DirectInput (the Microsoft DirectInput API)
S80 (current 3DxWare SDK API)
MWM (ancient 3Dconnexion API)
Yes, I :::
changed the AppCfgTemplate to AppCfg
changed default to false
changed executablename to notepad.exe
made sure the transport was KMJ
faced the full moon and swore like a sailor
Everything works except KB_Keystroke.
If the suggestion is that I take this back to the store before my 30 days is up I'm open to that as well. I've tried all I can think of that made sense and even a few things that were entirely irrelevant. Reinstalling with it plugged-in/not plugged-in, removing LGS and only using LCDM, copying and pasting from the default files, trying all the different transport options, watching the service log entries scroll by (it's a lot better than paint drying or grass growing but still as pointless).
I looked (grep'd) all the <ActionID> entries in the default files to see if there was another kind of KB_* , there are, but they are references to earlier defs in those files and don't seem to be a *command* type like KB_Keystroke, HIDJoystick, etc.
It's a neat gadget that works well with the "supported" software I use. There are other products that it *could* be useful for if I can find out how to make it behave.
I do design work and animation/presentation so there are other packages that I'd like to use it in rather than having it be a very esthetic paperweight while I'm using those.
Here's hoping for a simple and expedient solution. I can't believe I'm the only one having this particular problem or haven't found the answer somewhere hidden in all these threads somewhere. I searched for KB_Keystroke and read the ones that addressed it's usage, I've copied verbatim those entries, the cap stops working as soon as I save the file.
Thanks. Happy Holidays
