|IMG Developer's Kit: Developer's Kit Guide and Technical Documentation; Version 1.90; User's Guide
|Chapter 1. IMG Developer's Kit
Please note some of the resources available here & on-line:
The most frequently asked questions & implementation of the frequent uses of the DevKit are on-line in our Developer's Corner at IMG's Developer's Corner. This document is also used as the on-line information, and a more current version may be available on-line. This is the link for the Developer's Corner within this document.
For quick questions, feel free to e-mail us at email@example.com - We can quickly point you in the right direction, or give you a handful of options available.
If you run into something you can't do, also e-mail us at firstname.lastname@example.org, or call and ask for developer support - we may have some nugget of information that can save you a lot of time & effort...
IDE Notes: In general, we tend to use older IDEs (e.g. Microsoft Visual Studio 6 was used more often then .NET 2003, or Visual Studio 2005/2008/2010/2012/2013/2015/2017/2019/2022). This is done for the simple reason that you can move forward to newer IDEs without too much trouble, but trying to go backwards can be difficult (if not impossible). The other aspect is that Microsoft moves forward with little care towards backwards compatibility, and often it is easiest to work with the IDE concurrent with the oldest version of Windows supported. Because our customers just want the software to work, priorities are on a solid base and stability over cutting edge items that have no relevance to the software.
You can also refer to older and historical notes here.
Developer's Kit or Developer's Kit? A Brief History
The original Developer's Kit is what is now found in the DEVKIT folder. Certain comments, notes, and documentation refer to this as the "Developer's Kit." The current Developer's Kit includes the original Developer's Kit plus numerous add-ons, notes, utilities, modifications, and other tools. Please be aware of this historical context when reading notes and documents that may reference the original.
What is now called the IMG Developer's Kit evolved from the My-T-Soft Developer's Kit. This Developer's Kit originally contained utilities & folders focused on this family of products. Now it is a collection of ALL developer utilities, for all IMG products that have developer information, source code, and utilities.
OnScreen and the Developer's Kit
OnScreen (formerly My-T-Soft AT) has always been built on the same source as My-T-Soft. Because OnScreen is focused on the individual user, and not truly meant as a tool for developers or integrators, IMG does not recommend nor support using OnScreen with these Developer's Kit tools & utilities. With that said, OnScreen has its own set of tools & utils included with this Developer's Kit, and many of the DevKit utilities will operate with OnScreen. You can refer to the WCREMAP utility in the DEVKIT folder, and the OnScreen folder, that includes specially modified basic DevKit Utilities optimized for OnScreen. This is ONLY done as a courtesy to technical users of OnScreen or technicians / technically savvy specialists who are using OnScreen. To re-iterate, there are many assumptions taken in OnScreen, and the primary assumption is that it is used by an individual user (i.e. imagine an individual and their computer - shouldn't they be in complete control of all software that is being used?). So having external utilities that can manipulate this tool make no practical sense. However, the capabilities of the Developer's Kit in conjunction with the commercial software, combined with the special capabilities of OnScreen has also created a desire to use OnScreen and the Developer's Kit tools. The specific tools available provide a basic toolset that has satisfied various parties.
Build-A-Board and the Developer's Kit
The My-T-Soft executable (MYTSOFT.EXE) included with Build-A-Board is the next generation of the software. It is built from its own code base, and many of the Developer's Kit utilities, source code, and documentation may not be relevant (or operate correctly or at all) with the next generation of My-T-Soft (i.e. any version greater than 2.00). As Build-A-Board evolves, the Developer's Kit will evolve with it. If you have particular questions about a specific utility, or are having difficulties while working with Build-A-Board and the Developer's Kit, please feel free to contact IMG.
Because many users of Build-A-Board will eventually move the run-time files to a different system, the Developer's Kit is installed into its own SDK folder. Reference \Program Files\Build-A-Board\[Project Name]\[Target System Folder] By including relevant Developer's Kit utilities into that Target System folder, the Make Run-Time Files or ActiveSync options will also include these utilities.
In the 1.77 release of My-T-Soft/My-T-Touch/My-T-Pen, a Build-A-Board run-time license is included with the run-time license for the 1.77 release. By manipulating the KEYBOARD.KBF file, the desired layout can be brought up as required. Note that many of the Developer's Kit utilities work with both run-time programs, but not all. Refer to the support notes for Version 2 supported functions.
The Magnifier Developer's Kit
You will want to unzip the IMG Developer's Kit, and refer to the Magnifier folder, and the section covering The Magnifier Developer's Kit.
Joystick-To-Mouse Developer's Kit
You will want to unzip the IMG Developer's Kit, and refer to the JTMUTIL folder, and the section covering the Joystick-To-Mouse Developer's Kit.
Version 1.90 Notes
Developer's Kit 1.90 (DK190001.ZIP)
This was released in May 2022 for the 1.90 Release 5. There never was a 1.80 release. Over the past 10 years, the working updated Dev Kit was made available to customers, but was never publicly released until this release. Includes 64-bit versions of all DEVKIT utilities and code-signed EXEs with different manifests to assist integrating in different systems with different permissions/security levels and/or with User Account Control.
Version 1.79 Notes
Developer's Kit 1.79 (DK179001.ZIP)
This was released in September 2012 for the 1.79 Release. Includes the Themes, MultiTouch DLL, Zip updates, and first public release of the HTML version of help.
Version 1.78 Notes
Developer's Kit 1.78 Release 5 (DK178005.ZIP)
This was configured in April 2011 for 1.78 Release 5, but the 1.78 R5 was never publicly released, and all changes roll into the 1.79 release. There was never a public Release 5 or 4. The Developer's Kit documentation has been reworked to be available as HTML and PDF, and available on IMG's website in its entirety.
Developer's Kit 1.78 Release 3 (DK178003.ZIP)
This was released in October 2007 in conjunction with the 1.78 Release 2, and adds 3 new options. PAINTDLL allows external painting of keys, WORDSDLL to integrate with OnScreen and the Word lists/Word Complete candidates, and MTSAppBar which provides an AppBar (taskbar like app that attaches to top or bottom of screen and limits desktop/application area). The DLL capabilities require the 1.78 Release 2 versions of My-T-Soft.
In a continuing effort to streamline things, this release also includes the Developer tools for The Magnifier 1.50 and Joystick-To-Mouse 2.60. The intent is to bring all development tools & documentation into one easy to update and maintain structure.
Developer's Kit 1.78 Release 2 (DK178002.ZIP)
This was released in May 2007, and we have reworked all of the Developer's Kit examples, MTSDLL, Visual Basic, C#, J#, Java, and Internet Explorer examples to work with the new 1.78 location changes in a much better way. This also includes source for KeyboardSync, WebSync, EditSync, OnScreen samples, and keyboard layout (KMF) sources.
Developer's Kit 1.78 Release 1 (DK178001.ZIP)
There are various updates, and the following new examples: C Sharp (C# / .NET integration example & source);J Sharp (J#) example; Java integration example; AddOnDLL example; and a specific usage of the Add-On DLL approach with LOGDLL (when used, logs usage details). We have kept the samples in Visual Studio 6 (rather than Visual Studio 2005) for maximum compatibility - you should have no problem importing and updating these samples if you are using later MS tools.
IMPORTANT!! The 1.78 version & Vista versions moved configuration files such as the INI and KEYBOARD.KBF files out of the installation folder into personal / user locations. Refer to the ConfigPath entry in the INI documentation for options & details. In general, this will cause problems with many assumptions in the Developer's Kit. Use ConfigPath=0 for direct compatibility with the early 1.78 releases of the Developer's Kit. See below for other Developer's Kits notes regarding this.
Developer's Kits Updates: With the 1.78 release, the Developer's Kit is no longer included by default with the release of the software - check your distribution media, or go on-line to download the latest version. Because the on-line update is now a default option, there will be numerous updates to address Windows Vista and changes to the release that affect the Developer's Kit. There will be update releases to address & update the Developer's Kit to work with the new configuration files locations and changes to the current & future releases of the My-T-Soft software. If the current available Developer's Kit approach does not work with the current My-T-Soft software, please check for more recent updates and let us know your situation. Note that we provide source code, documentation, and assume we are dealing with capable developers. While we attempt to make our software easy to use, and would like to make everyones life easier, being forced to change the location of our configuration files and dropping 14 years of consistency wasnt our first choice. However, there are valid reasons and other benefits to providing flexibility in the location of the configuration files, so during the transition period, the developers kit and any developers running into these issues will need to be somewhat adaptable.
Version 1.77 Notes
Updates to DEVKIT (CONFGMTS for Toolbar panel manipulation), CPYCNMTS, MOVEWMTS, KybdSync, MTSDLL, updated MS-Access example, updates to the Internet Explorer examples, a Visual C example added, sample logos with minimize button shown, and all relevant notes are now in this single Help file.
Version 1.75 Notes
A DEVKIT2 Folder has been added to customize the Developer's Kit to work with Version 2.00+ versions of My-T-Soft.
CLOSEMTS, MOVEWMTS, MINMZMTS, FWCTLMTS, OPEN_MTS, REPOSMTS, and SVPOSMTS are included.
Version 1.74 Notes
A DEVKITCE Folder has been added to bring basic DevKit executables & source for the Windows CE platforms that Build-A-Board supports. CLOSEMTS, MOVEWMTS, MINMZMTS, OPEN_MTS, REPOSMTS, and SVPOSMTS are included.
- KEYBOARD folder includes KEYENTER.EXE, KEYBACK.EXE, KEYTAB.EXE, KEYESC.EXE - simple executable that generate the virtual keystroke as indicated by the file name.
Version 1.73 Notes
More of a minor update & maintenance release than anything else.
These are the relevant additions that may be of interest:
- MTSISTRT has been added in the DEVKIT folder - allows for a clean implementation of opening My-T-Soft/My-T-Touch/My-T-Pen as an icon (or icon in the tray (Shell Icon)). Note that if you tag the shortcut with the Run property as Minimized, the keyboard will open in the minimized state as a button. There is no way to alter this, so this utility gives you all three choices of opening in a minimized state.
- STRESS.EXE (DEVUTIL folder) has been added to script various developer kit commands and verify the integrity of the commands and the keyboard software. There was a minor memory leak when the 3D keys were in use and the CONFGMTS utility was used, and this little utility helped nail down that there was indeed a problem.
- EDITSYNC.EXE/ESLIB.DLL (UserUtil folder) has been added that allows 2 operation options - physical keyboard monitoring for OnScreen (to work in conjunction with WordComplete), and auto-positioning for text caret position (using Active Accessibility)
Version 1.72 Notes
Some of the redundant documentation in each individual folder has been removed - this document is the current & best source of info for the Developer's Kit.
The CPYCNMTS/FWCTLMTS have been redone to use only Microsoft Win32 APIs to allow proper operation in the NT/2000/XP platforms.
There have been some "Read-Only" file issues with Microsoft Source Safe within the Visual Basic examples, and a problem within the CPYCNMTS/FWCTLMTS utility on NT/2000/XP.
Files tagged as "Read-Only" will not be removed by the 1.70 Uninstall, and any files & folders will have to be removed manually.
Finally a handful of new utilities have been added:
- TurnAway for Head/Eye "mouse" users (OnScreen)
- WCRemap (WordComplete remap - external utility to trigger completions) (OnScreen)
- ShowInfo - a nice utility to show Window Names & Classes, Handles & Parent
- WebSync - Internet Explorer utility for client control of My-T-Soft via VBScript / Client Scripting
- WaitRun - a utility to execute a command after a set period of time
Version 1.71 Notes
In Version 1.71, the Win32 compiler is Microsoft Visual C++ Version 6 - the DevKit, CtAltDel, and MTSDLL folders include project information for this compiler.
Version 1.50 Notes
In Version 1.50, there is an icon in the Program Group created for My-T-Soft - Run Install Developer's Kit, and then select Extract to create the files & folders on your system.
As seen in ...