|IMG Developer's Kit: Developer's Kit Guide and Technical Documentation; Version 1.79; User's Guide|
|Prev||Chapter 1. IMG Developer's Kit||Next|
Note: This is a general FAQ section on the IMG Developer's Kit - you may be also interested in the specific "How Do I..." section.
Why do I need the IMG Developer's Kit?
Implementing Touchscreen & Pen based input driven applications often require limited keyboard input. Even though the pointing device can operate a well written application, there are often times when quantities, names, files, passwords, or other character based input is required. By NOT including a physical keyboard with these systems, the manufacturer / integrator often sees lower production costs, and allows a seamless operation from the more intuitive user interface. By implementing the various keyboards & panels in the My-T-Soft software and using this developer's kit, the application developer / systems integrator can provide all of the capabilities of a physical keyboard. The ability to bring up a specific panel for the user, then sending it away when not needed (to restore valuable screen real-estate), allows the developer / integrator to implement a complete & fully functional application on these types of systems.
My time is limited - where should I start?
Most people new to the Developer's Kit want to get going quickly, and dont want to review items that dont apply to them. Because there is a wide spectrum of experience for people new to My-T-Soft, and a wide spectrum of requirements, it is difficult to generalize. Here is an attempt (from our experiences) at addressing this question.
Most uses of the Developer's Kit revolve around moving and configuring My-T-Soft when appropriate for the user. Key utilities are MOVEWMTS (My-T-Soft MoveWindow), CONFGMTS (Configure My-T-Soft), and CPYCNMTS (Copy new Configuration to My-T-Soft). Note that these utilities are available in both the DEVKIT folder, and as part of the MTSDLL DLL example.
These utilities accomplish the following:
MOVEWMTS - by moving the My-T-Soft window (i.e. moving the keyboard panels around, or moving off-screen when not needed) a clean interface to the application from a touchscreen or pen interface can be accomplished quickly. Usually the call to MOVEWMTS is triggered by an event, such as Field Enter (e.g. OnEnter), or Field Exit (e.g. OnExit). It is recommended that My-T-Soft be moved off-screen when not needed, and on-screen when appropriate. This utility easily handles the manipulation of where the keyboard is displayed.
CONFGMTS - this lets you change size and panels available. Not as powerful as CPYCNMTS, but basic & familiar to most developers. Only real trade-off is display speed - on faster machines, this may not matter much.
CPYCNMTS - This utility requires pre-configured layouts, but once these are assembled, the seamless changeover from one configuration to another is a developers dream.
Programming language? Whats that? (or they call me a Developer, so I better act like one) Review the Hints & Comments below, and review the My-T-Soft Developer's Kit - the pre-compiled executables can be run from most high-level environments, or from a windowed command prompt.
Start with MOVEWMTS and CONFGMTS to get a feel for what is possible.
I use C and/or C++
The source for the Developer's Kit and the MTSDLL is in C. Picking up the relevant parts is easy for Windows developers. If not familiar with the Windows API, start with MTSDLL. Also refer to the Visual C++ Examples (Microsoft Visual C Version 6 Project)
I'm using .NET and/or C#
Refer to the C# (.NET) examples & source code.
I'm using JAVA or J#
I'm using Visual Basic, Visual FoxPro, MS Access, or other high-level development environment
I'm using Internet Explorer, or building a Web based kiosk Refer to the IEXPLORE.HTM (INSTALLFOLDER\IEXPLORE\IEXPLORE.HTM) file in the IEXPLORE folder
NOTE: The current directory depends on where you started this help file Run WebSync from INSTALLFOLDER (Run: \iexplore\websync.exe), then Open HTML file from INSTALLFOLDER (Open:.\iexplore\iexplore.htm)
Why isn't this an OCX (ActiveX/COM control)?
These types of controls imply that there is a container to hold them, or some other software available to communicate to the control. Since the keyboard software is used by all types of users in all types of situations, forcing this kind of constraint of the software is too limiting. Allowing both direct user control (in cases where technicians or users are modifying the names of desktop icons, or changing file names, or logging on to a network, etc.), and allowing programmatic control (via events in edit controls, form activations, etc.) with the same exact piece of software is more powerful than limiting it only to development environments capable of working with COM controls. Since the same results can be achieved with the current implementation, but not with an COM control, there is little reason to re-work the software as an COM Control. See the MTSEDIT COM control included in the Developer's Kit as an example of a useful approach using COM controls. Also note that the keyboard software is written at the same level as the Windows operating system, making it an important part of any system where there is only one interface (i.e. the pointing device).
Hints and Comments for Developers (My-T-Touch / My-T-Pen / My-T-Soft Developer's Kit)
This section is available at Hints and Comments.
May 5, 2007
Copyright (C) 1997-2007 by Innovation Management Group, Inc.
All Rights Reserved.