IMG Home PageIMG ProductsProduct DownloadsOrdering InformationTechnical Support and Frequently Asked QuestionsDeveloper's Corner and UtilitiesAbout IMG
CustomersIMG ResellersMedia InformationIMG Events / Trade ShowsUseful LinksIMG Contact InformationIMG Information / Policies
Translate
 
IMG's Blog - Recorded Keystrokes

IMG's Blog - Recorded Keystrokes

Understanding the KeyBoard File (.KBF file)
written August 23, 2016 by Kermit Komm
Category: Development Tags: My-T-Soft; Keyboard File; Keyboard Data; Technical detail    #71
 
Click to view as Press Release
 

With more & more new users, many of whom are creating layouts with My-T-Soft® Build-A-Board, occassionally there are questions regarding the keyboard layout files, their naming conventions, and what they are all about. In this entry, we will cover some history, some relevant details & distinctions, and a look into the future.

In the before time, the original release of My-T-Mouse utilized 3 main types of configuration files - files with .KBF, .KMF and .INI extensions. The keyboard data file was named with a .KBF extension for KeyBoard File. This data file contained panel rectangles, key rectangles, and window configuration information. The actual key labels and key actions were contained in the .KMF files - Keyboard Macro Files, which lended itself well to international / different keyboard layouts (same physical layout, different labels/key actions). User configuration information was in the initialization file, or MYTMOUSE.INI. Because certain data spanned the user configuration and had an effect on the keyboard display (i.e. size, visible keys, panels open, etc.), the intertwined nature of the .INI and .KBF file became a factor when working with the 1.xx software. Because of this, for best results when manipulating the keyboard software, using BOTH the .INI and .KBF files as a matched pair was recommended when externally controlling layout changes.

Due to various user interface conventions and customer requests, along with design considerations, the .KBF file became more & more flexible, and could be manipulated in various ways. For example, when the keyboard software is opened, it reads in the data file (.KBF file), along with user options (.INI file) and then configures things based on these settings (the KMF file in user relied on the Keyboard= setting in the .INI file). Since the user could have changed the .INI file via the separate Setup tool (or programmatically via Developer Kit tools), settings such as layout size might need to reconfigure the data read in from the current/saved .KBF file. The general approach was that user settings in the .INI overruled the .KBF file. However, due to design decisions and the possibility of impossible manipulations because of certain internal constraints, it became necessary to require that both the .INI and .KBF be a matched pair when being used to create multiple configurations for "on-the-fly" layout changes.

When the 2.xx software was designed, keeping the .KBF as the single / only data file was deemed the best solution. Having multiple files that needed to be managed to ensure proper display/operation is not keeping in line with making things as straightforward and as easy as possible for users and developers, so the single .KBF file per layout is how things work with the 2.xx software. Because there are many examples of "user" or "field" settings that need to be part of the keyboard layout data, an embedded MYTSOFT.INI has been incorporated into the 2.20 KBF data structure. This allows tools such as KBFEdit to open and modify these user based settings in the field by the user, allowing certain customizations for operational aspects and user settings.

In most cases, the single .KBF as data for a keyboard layout, with incorporated operational aspects works very well - in the spectrum of ideal to acceptable. However, there are situations where there are issues. Cases where the user should not be able to make modifications, or where there are many layouts and user settings should be "per user" can be accommodated, but not as easily as program/user options separated from the layout data. But before we touch upon future enhancements, let's review how the current Build-A-Board system works and creates .KBF files.

The Build-A-Board Builder creates its own sub-folder in the Public Documents location, and under the Build-A-Board folder, there are 3 folders: SOURCE, TARGET, BOARDS. Under the SOURCE and TARGET folders, there are Project Name folders. Let's use an example, and walk through the general steps. If you create a project called MyAwesomeLayout, you will get a sub-folder in SOURCE\MyAwesomeLayout. In that folder you will find all the source files that contain the information displayed in the Layout Builder - window size, keys, key sizes, key labels, key actions, etc., etc. When you close a project in the Builder, all the text and data files will be zipped up (i.e. compressed) into a single Project source file, e.g. SOURCE\MyAwesomeLayout\MyAwesomeLayout.zip.

When you open a closed project, it will be unzipped, and all the data from the project source files will be read in to the Builder, and the customizable layout will be presented, where properties, actions, etc. can all be modified. Then you can select a Run-Time Target - Linux or Windows, ANSI or UNICODE, 32-bit or 64-bit, and various other platforms & combinations of run-time targets. When you Build the project, the Project Name folder in the TARGET folder will be created, along with a Test sub-folder and the target folder, e.g. MSWIN32 for Windows 32-bit targets. So the run-time files for Win32 would be in TARGET\MyAwesomeLayout\MSWIN32. This folder could be copied to a Win32 system, and the MYTSOFT.exe can be run, showing the MyAwesomeLayout layout. In the TARGET\MyAwesomeLayout there are 2 .KBF files - MyAwesomeLayout.KBF and KEYBOARD.KBF. These are also in the Test folder (used for testing/running on the system running Build-A-Board), and in any run-time target folders. Also, the MyAwesomeLayout.KBF is copied to the BOARDS folder - so when the Board select option is used in My-T-Soft, it will appear as a board option to select.

The reason there are 2 .KBF files is that by default, when My-T-Soft is run, it will look for and run KEYBOARD.KBF - so each project always copies the Project Name .KBF file to KEYBOARD.KBF. The reason the project name is used (e.g. MyAwesomeLayout.KBF) is for dealing with many different projects, so each unique project has a unique .KBF file name.

So what data does a 2.xx .KBF file contain? For those that are interested, it is pretty easy to review the text files in the SOURCE folder for an open project and get a general idea. These are the main aspects of a layout file: Window information, Panel information, key positions, and then key information. Then there is supporting data - key images, base & international macro files (.KMF data), state data, image data, platform license data, and the MYTSOFT.INI. As much as possible, the user interface and operational aspects are controlled by the .KBF file / layout data.

So what does the future hold? There are actually many different items under development and slated for future enhancement regarding the .KBF KeyBoard File. As a single data file that defines the keyboard, the 2.xx approach has been deemed a success. To accommodate user specific options, an override approach has been defined as the best/most flexible. The way this will be implemented will be a user editable MYTSOFT.INI which can contain a subset of all possible entries, and those that are in the MYTSOFT.INI in the user application data/configuration area will be used as the actual setting, potentially overriding any matching setting in the .KBF file. Note that these user settings will apply to all .KBF files run, so any user settings set in this manner will apply to all layouts run. This approach will allow multiple users on a system to have different operational settings, all while using the same .KBF. If there are not user specific settings, then the settings in the .KBF will be used.

The general approach is for .KBF files to be layout files that can be used across multiple platforms. Because of platform differences, certain aspects of the layout may be interpreted differently based on the platform, screen resolution, system capabilities, etc. How these will continue to evolve depends on actual use cases and customer requirements. Although not yet formalized, the 3.xx release anticipates merging all capabilities of 1.xx and 2.xx software, along with additional capabilities incorporated based on real world customer input. As the original .KBF implementation passes 25 years of use, a nod can be made to its original design & flexibility, and a hearty thank you to the customers that have used and continue to implement the software to address and solve real world needs.

View Current
View Company News
View Technical
View All

Blog Information

My-T-Soft for Android
October 12, 2017
Kermit Komm
Category: Development
Tags: My-T-Soft; Android; Build-A-Board
 

The New IMG Logo!
June 6, 2017
Tracy Chang
Category: PR
Tags: new IMG Logo; marketing
 

My-T-Soft® for Linux 2.20 Release 5 now available
May 10, 2017
Kermit Komm
Category: Development
Tags: My-T-Soft; Build-A-Board; Linux; 32-bit; 64-bit;
 

Joystick-To-Mouse 2.80 Release 5 now available to address Windows updates
January 24, 2017
Kermit Komm
Category: Development
Tags: Joystick-To-Mouse; Text Scaling;
 

Hormel Foods Corporation renews Annual Maintenance for Enterprise License
November 15, 2016
Tracy Chang
Category: PR
Tags: Enterprise License; My-T-Soft
 

Understanding the KeyBoard File (.KBF file)
August 23, 2016
Kermit Komm
Category: Development
Tags: My-T-Soft; Keyboard File; Keyboard Data; Technical detail
 

IMG is pleased to announce that My-T-Soft® 1.90 is now available
May 26, 2016
Kermit Komm
Category: Development
Tags: My-T-Soft 1.90 Release
 

Understanding the differences between the IMG Personal License (Basic/Standard) and the IMG Professional License
May 25, 2016
Kermit Komm
Category: Development
Tags: IMG Personal License, IMG Professional License, Licensing
 

Keeping your Annual fees paid is a great idea (& can make employees happy)
May 25, 2016
Tracy Chang
Category: PR
Tags: Annual Maintenance; Annual Distribution; My-T-Soft
 

Hemlock Semiconductor purchases My-T-Soft site license for Windows 7
April 20, 2016
Tracy Chang
Category: PR
Tags: Site license; My-T-Soft
 

XPlore Technologies purchases My-T-Soft 1.90 license
April 18, 2016
Tracy Chang
Category: PR
Tags: My-T-Soft
 

Police Scotland upgrades to My-T-Soft 1.80
March 30, 2016
Tracy Chang
Category: PR
Tags: Upgrade; My-T-Soft
 

Cooper Tire & Rubber Company enters into IMG Technology License Agreement
January 18, 2016
Tracy Chang
Category: PR
Tags: Cooper Tire; IMG Technology License; My-T-Soft
 

JLT Mobile enters OEM Distribution agreement with IMG for My-T-Soft & access to custom layouts
September 1, 2015
Tracy Chang
Category: PR
Tags: OEM Distribution License; My-T-Soft
 

Global leader enters OEM Distribution Agreement with IMG for My-T-Soft 1.90
August 1, 2015
Tracy Chang
Category: PR
Tags: OEM Distribution License; My-T-Soft
 

Understanding User Interface Privilege Isolation (UIPI) with My-T-Soft
March 31, 2015
Kermit Komm
Category: Development
Tags: My-T-Soft, User Interface, UIPI, Privilege, Security
 

Reservoir Environmental standarizes on IMG's My-T-Touch Touchscreen User Interface
March 12, 2015
Jerry Hussong
Category: PR
Tags: Reservoir Environmental, My-T-Touch Site License
 

QBS Software Ltd, U.K., adds IMG's My-T-Soft family to its product line
February 15, 2015
Jerry Hussong
Category: PR
Tags: QBS Software Ltd, My-T-Touch
 

Key Recorder records and formats keystroke macros
February 11, 2015
Kermit Komm
Category: Development
Tags: My-T-Soft, Build-A-Board, Utility, macros, recorder
 

Anadarko Petroleum licenses My-T-Touch for their process control Industrial PCs
January 5, 2015
Jerry Hussong
Category: PR
Tags: Anadarko Petroleum, My-T-Touch
 

Mobis North America purchases My-T-Touch Enterprise License for use in factory Industrial PCs
December 10, 2014
Jerry Hussong
Category: PR
Tags: Mobis North America, My-T-Touch
 

Group Limagrain, France purchases Enterprise License for My-T-Soft custom keypad user interface
December 5, 2014
Jerry Hussong
Category: PR
Tags: Group LimaGrain, My-T-Soft, Build-A-Board
 

THAAD Missile Systems delivers new systems integrating IMG's My-T-Soft Linux User Interface
December 5, 2014
Jerry Hussong
Category: PR
Tags: THAAD Missile, Lockheed Martin, My-T-Soft
 

My-T-Soft Basic 2.30 is now available!
November 6, 2014
Kermit Komm
Category: Development
Tags: My-T-Soft Basic;Build-A-Board;Board Browser
 

National Beverage chooses IMG's My-T-Soft Build-A-Board User Interface for new mobile tablets
September 1, 2014
Jerry Hussong
Category: PR
Tags: National Beverage, My-T-Soft, Build-A-Board, Motion Computing
 

Sargento Cheese upgrades to My-T-Soft TS User Interface for Windows Terminal Servers
August 21, 2014
Jerry Hussong
Category: PR
Tags: Sargento Cheese, My-T-Soft TS Terminal Services
 

US Navy chooses IMG's My-T-Soft user interface for next generation Ship Control Systems
August 1, 2014
Jerry Hussong
Category: PR
Tags: US Navy, My-T-Soft
 

Goodwill of Arizona continues its rollout of IMG's My-T-Soft user interface in its thrift stores
July 1, 2014
Jerry Hussong
Category: PR
Tags: Goodwill of Arizona, My-T-Soft
 

Caps Lock - who decides?
June 6, 2014
Kermit Komm
Category: Development
Tags: Caps Lock; My-T-Soft; IgnoreSystemCapsLock
 

Berings Bridal Registry stores integrate My-T-SoftCE user interface on mobile store scanner systems
June 1, 2014
Jerry Hussong
Category: PR
Tags: Berings, My-T-Soft, Build-A-Board
 

Fresh Direct expands its My-T-Soft investment for new Windows 7 systems
February 26, 2014
Jerry Hussong
Category: PR
Tags: Fresh Direct, My-T-Soft, Windows 7
 

IMG announces new Individual Personal License option
February 21, 2014
Jerry Hussong
Category: PR
Tags: IMG's Individual Personal License
 

System Design Considerations: The on-screen keyboard - User Control, Application Control, or System Control
January 9, 2014
Kermit Komm
Category: Development
Tags: system design; on-screen keyboard; user; application
 

Alcon Labs adds My-T-Soft Onscreen Keyboard utilities to its Ireland facilities
October 15, 2013
Jerry Hussong
Category: PR
Tags: Alcon Labs, My-T-Soft
 

Southwire enhances its Terminal Server user interface with My-T-Soft
September 15, 2013
Jerry Hussong
Category: PR
Tags: Southwire Company, My-T-Soft Terminal Server
 

THAAD Missile Systems integrates My-T-Soft Build-A-Board User Interface
September 1, 2013
Jerry Hussong
Category: PR
Tags: THAAD Missile, Lockheed Martin, My-T-Soft
 

H.J. Heinz rolls out multi-plant My-T-Soft Enterprise License
July 15, 2013
J Hussong
Category: PR
Tags: H.J. Heinz, My-T-Soft
 

Solutions By Design to use IMG's My-T-Soft Build-A-Board System in Kiosk Projects
June 1, 2013
J Hussong
Category: PR
Tags: Solutions By Design, Kiosks, My-T-Soft Build-A-Board
 

Pfizer Pharmaceutical installs My-T-Soft software in Puerto Rico facility
May 15, 2013
J Hussong
Category: PR
Tags: Pfizer, My-T-Soft
 

The 1.79/1.80 Releases
April 30, 2013
Kermit Komm
Category: Development
Tags: My-T-Soft, 1.79, 1.80, Windows 8, Windows Server 2012
 

Robert Mann Packaging standardizes on IMG's My-T-Soft on screen keyboard user interface
March 25, 2013
Jerry Hussong
Category: PR
Tags: Robert Mann Packaging, My-T-Soft
 

Health and Social Care of Northern Ireland standardizes on IMG's My-T-Soft on screen keyboard user interface
March 25, 2013
Jerry Hussong
Category: PR
Tags: My-T-Soft, Health and Social Care of Northern Ireland
 

Mead Johson Nutritionals choose's IMG's My-T-Soft on screen keyboard user interface
March 20, 2013
Jerry Hussong
Category: PR
Tags: My-T-Soft, Mead Johnson Nutritionals
 

Domtar Paper standardizes on IMG's My-T-Soft on screen keyboard user interface
February 25, 2013
Jerry Hussong
Category: PR
Tags: Domtar Paper, My-T-Soft
 

Northport Health Services standardizes on IMG's My-T-Soft Terminal Server onscreen keyboard user interfaces
January 29, 2013
Jerry Hussong
Category: PR
Tags: Northport Health Services, My-T-Soft
 

Target Stores standardize on IMG's My-T-Soft Build-A-Board on screen keyboard user interface system
January 24, 2013
Jerry Hussong
Category: PR
Tags: Target Stores, My-T-Soft, Build-A-Board on screen keyboard user interface
 

Biery Cheese standardizes on IMG's My-T-Touch onscreen keyboard user interfaces
January 13, 2013
Jerry Hussong
Category: PR
Tags: Biery Cheese, My-T-Touch
 

Germany's Bundesamt fur Informationsmgmnt standardizes on IMG's My-T-Soft onscreen keyboard user interfaces
September 25, 2012
Jerry Hussong
Category: PR
Tags: Germany Bundesamt fur Informationsmgmnt, My-T-Soft
 

Belfast Health Services standardizes on IMG's My-T-Soft onscreen keyboard user interfaces
September 19, 2012
Jerry Hussong
Category: PR
Tags: Belfast Royal Hostpital, Belfast Health, My-T-Soft
 

Augusta Nitrogen div of Potash Corp standardizes on My-T-Soft Terminal Services
August 25, 2012
Jerry Hussong
Category: PR
Tags: Augusta Nitrogen My-T-Soft Terminal Services
 

York Container standardizes on IMG's My-T-Soft Build-A-Board System
August 15, 2012
Jerry Hussong
Category: PR
Tags: York Container My-T-Soft Build-A-Board
 

Time display adds new capabilities to Build-A-Board Windows run-time
August 1, 2012
Kermit Komm
Category: Development
Tags: Build-A-Board, Clock display, Time Display, Date Display, Windows run-time
 

IMG's The Magnifier software available on Amazon.com
July 25, 2012
Jerry Hussong
Category: PR
Tags: The Magnifier, IMG, Amazon
 

Sterilite Corp standardizes on IMG's My-T-Soft Build-A-Board System
July 15, 2012
Jerry Hussong
Category: PR
Tags: Sterilite My-T-Soft Build-A-Board
 

Washington United Terminals standardizes on IMG's My-T-Soft® Build-A-Board On screen Keyboard User Interface
April 30, 2012
Jerry Hussong
Category: PR
Tags: WUT, Build-A-Board, My-T-Soft, Ryzex Group, IMG
 

Waitrose Supermarkets UK Standardize on My-T-Soft Build-A-Board System
April 15, 2012
Jerry Hussong
Category: PR
Tags: Waitrose Supermarkets UK My-T-Soft Build-A-Board
 

Hormel licenses IMG's My-T-Soft® On screen Keyboard User Interface
April 9, 2012
Jerry Hussong
Category: PR
Tags: Hormel, Roper Mobile, My-T-Soft, on screen keyboard
 

Monsanto Seed Standardizes on My-T-Touch Onscreen User Interface
February 1, 2012
Jerry Hussong
Category: PR
Tags: Monsanto Seed, My-T-Touch
 

Clever Devices to integrate IMG's My-T-Soft®Build-A-Board onscreen keyboards into Busware
January 24, 2012
Jerry Hussong
Category: PR
Tags: Clever Devices, Busware, Build-A-Board, My-T-Soft
 

German Bundeswehr standardizes on IMG's My-T-Soft Onscreen Keyboard Utilites
January 1, 2012
Jerry Hussong
Category: PR
Tags: Bundeswehr, My-T-Soft, onscreen keyboard
 

Developer's kit utilities for Build-A-Board Linux Targets
January 23, 2012
Kermit Komm
Category: Development
Tags: Linux, Build-A-Board, My-T-Soft Developer's Kit, tools, utilities
 

Browser based app with side layouts and bottom based keyboard
November 18, 2011
Kermit Komm
Category: Development
Tags: AppBar, MTSAppBar, Dock, MTSDock
 

Rugged Tablet Mfr. adds IMG's low vision The Magnifier to its offerings
October 18, 2011
Jerry Hussong
Category: PR
Tags: The Magnifier, IMG, Motion Computing, Rugged Tablet
 

XP Embedded - a componentized operating system
September 23, 2011
Kermit Komm
Category: Development
Tags: Build-A-Board, Macrobat, XP Embedded
 

Chesapeake Public Schools standardize on IMG's The Magnifier
September 23, 2011
J Hussong
Category: PR
Tags: Chesapeake Public Schools, The Magnifier, IMG
 

H.J. Heinz continues roll-out of IMG's My-T-Soft on-screen keyboard utilities
September 15, 2011
Jerry Hussong
Category: PR
Tags: H.J. Heinz, My-T-Soft, on-screen keyboard
 

Enabling tools... Real world story of IMG's technology
September 9, 2011
Kermit Komm
Category: Development
Tags: OnScreen, WordComplete, CrossScanner, Assistive Technology
 

My-T-Soft® 1.79 to incorporate new Touch Panel
August 17, 2011
Kermit Komm
Category: Development
Tags: multitouch, gestures, flicks, touch panel
 

CSX licenses IMG's My-T-Soft® On screen Keyboard Utilities company wide
June 10, 2011
Jerry Hussong
Category: PR
Tags: CSX, My-T-Soft, on screen keyboard, virtual keyboard
 

British Columbia Ambulance Services standardizes on IMG's My-T-Soft® Build-A-Board On screen Keyboard User Interface
June 3, 2011
Jerry Hussong
Category: PR
Tags: BC Ambulance, on screen keyboard, virtual keyboard
 

The Magnifier - The First Truly Affordable Full Screen Computer Software Magnifier
January 6, 2011
Jerry Hussong
Category: PR
Tags: The Magnifier, Screen Magnifier, Computer Magnifier
 

ELO Touchsystems renews IMG's My-T-Touch® On screen Keyboard Utilities for All-In-One PC
January 1, 2011
Jerry Hussong
Category: PR
Tags: ELO Touchsystems, My-T-Touch, onscreen keyboard, on screen keyboard, all-in-one pc
 

SDK Developers Kit Update
December 15, 2010
Kermit Komm
Category: Development
Tags: My-T-Soft, Build-A-Board, SDK, onscreen keyboard, virtual keyboard
 

 
 

IMG Logo
  • IMG's Blog covers company news, development news, and other interesting items.
  • IMG is dedicated to innovative ideas and turning those ideas into real-world solutions that provide value, increase productivity, and enhance technology.

Send IMG a note via e-mail...
IMG Home PageIMG ProductsProduct DownloadsOrdering InformationTechnical Support and Frequently Asked QuestionsDeveloper's Corner and UtilitiesAbout IMG
CustomersIMG ResellersMedia InformationIMG Events / Trade ShowsUseful LinksIMG Contact InformationIMG Information / Policies