DMDX Help.


Input Device Keyword

<InputDevice text [N1[,N2[,N3]]]>
<id text [N1[,N2[,N3]]]>
<InputDevice tcpip [address[:port]]>
<id tcpip [address[:port]]>


    Parameter to select an input device. text must be the name of an existing installed DirectInput device (as enumerated by the TimeDX input test) or the name of one of the internal devices built into DMDX (see Input), such as "PIO12" (the built in MetraByte PIO12 (or clone) interface), "DigitalVOX", "RecordVocal" (see Audio Input) or "tcpip".  Once a device is selected there is no way to deselect it without starting a new item file which can be done with the chain keyword, you can however unmap all the devices' buttons with <UnMapButtons>.  Names with special characters in them must be quoted and the Unicode option turned on.

    One problem prior to version 6.1.2.20 of DMDX used to be devices having cute little symbols (such as the copyright symbol) as part of the name making it very hard to get the name of a device into an item file, these days with many people using Asian characters you can get whole names without a single Roman character in them that are all but unusable unless they happen to be a keyboard or a mouse where #keyboard or #mouse can be used.  As of version 6.1.2.20 DMDX uses the wide versions of the DirectInput system calls so it has access to the Unicode versions of the names of devices and buttons (rather than the mangled versions once the cute characters are converted to whatever the current code page of your machine is) so as long as you've got the Unicode option checked and enclose the names of your devices and buttons in quotes you should be able use them, and as of 6.4.0.0 even the quotes shouldn't be needed (unless your device name has spaces in it) as Unicode text outside quotes is now preserved as UTF-8 (which will get converted to UTF-16 wide characters when talking to DirectInput).  Of course the problem then becomes knowing what those names are as until I modify TimeDX's input test to use Unicode names they'll be mangled there.  To combat this DMDX dumps the names of available input devices into the diagnostics where you should be to view the UTF-8 versions of the names (once again, as long as the Unicode checkbox is checked) and copy and paste them into your item file.  Should that fail it also checks a parsed version of the name that has unusual characters removed from it that is also printed in brackets -- which is fine unless all the characters of your device or button name happen to be special characters as happens with Asian character sets for example which is why the 6.1.2.20 modifications were made...  Additionally
<Testmode 10> can also be used to combat weird naming problems.

   Certain devices come with preinstalled button mappings, see Input and <MapRequest> etc.
   
    Certain operating systems preclude the use of certain input devices. Most notably Windows NT (not that anyone would want to use DMDX under it), Windows 2000 and Windows XP and later (Vista, Windows 7, 8 and 10) preclude the use of devices that involve direct access to I/O ports. While InstaCal drivers can be installed and used for the PIO12 devices no such thing was available for the RawJoystick device until version 5.2.1.0 of DMDX where support for inpout32.dll was added (see the PIO test documentation for details, to use it you will first need to run InstallDriver.exe in the DMDX program folder with administrative access to install the ring 0 kernal mode driver interface for the DLL).

   



DMDX Index.