Keyboards-Customized
The Keyboards feature enables you to customize soft keyboard interface for entries that cannot be scanned and may need to be localized (translated) into another language. For example, if you added a new keyboard node (object), under the type "FullAlpha," this keyboard would be displayed if you selected "FullAlpha" in the Keyboard property of a Memo control or TextBox control.
To add and customize a keyboard
Before you start -- decide what type of keyboard you need, and if you need to customize a keyboard, or use a pre-configured file.
To use a preconfigured file, see To import a keyboard file. To create your own keyboard see To Add and Customize a Keyboard.
1. In the Solution Explorer, navigate to the Keyboards node.
2. Right-click on Keyboards and select Add New Keyboard to add a keyboard, or select an existing one under the Keyboards node. Depending on your selection, a screen similar to the one below will display.
3. Select a Type, Locale, and Key State from the drop down list. Change the default of 30% of your target screen height (ScreenHeight% ) if needed.
The Keyboard is organized by KeyGroups-- groups of common character types. For example, one for function keys, the second for alphabetical keys, and the third for numbers.
Enter the number of groups you want for KeyGroups.
After you enter a number for keygroups, each group is added under Keyboards.
6. Select a Group, then enter the number of rows desired for each group. Unless needed, keep the width as 100 percentage for groups width for each row.
The rows are added under each group. Select a row and enter the number of Buttons. Keep the RowScale as 1 for now.
After you enter the number of buttons/row, the row units will equal the number of buttons. A list of characters are added under the row and in the display area, an layout of the row.
7. Select a character under the row, and then enter the values you want display on the key of the keyboard. For example, if you want the first char in the row (far left) to be the number "1", enter "1" for the Char value (upper right). RFgen will automatically change the Character to the Key Code Value for the local of the keyboard. For example "1" is key code value 49.
Repeat assignment of the values for all characters in each row for each group.
To Stylize a Keyboard
The look and feel of the keyboard is set from Solution Explorer > Themes > [name of the theme] > Element = Keyboard.
Keyboard Designer Features and Options
Bevel – Shapes the outer edges of keyboard.
Caption – Enables you to enter text for buttons that may have a function other than a character or numeric key value. (i.e. Tab, Shift, Delete.) Caption displays if Key State = CapsLock and (Style) = Character + Text or KeyDown + Text.
KeyGroups. Groups the sections of the keyboard. For example, the left section is alphabetical keys and the right section, numeric keys.
Keyboard ID – Enter a text or numeric identifier.
Key State – Associates character or function of the key based on one of these three states: Normal, CapsLock, and FuncLock
For blank space buttons, set the (Style) to BlankSpace.
If the Key State is Normal, you can assign a button two values: the lower-case letter (Char) and its upper case (CharShift).
If Key State is FuncLock, you can only assign one value, the Fkey to the button. Leave Char and CarShift to 0.
Type – Allows presets settings for all alphabetical characters, alpha-numeric characters, or all numeric characters.
Locale – The Local/language that the characters/labels of each key in the keyboard.
Margin – Sets the spacing between buttons.
RowSpan – Sets the button height based on the number of rows there are above and/or below the button.
ScreenHeights% – Is a percentage of the screen size.
Units – The number of units a row is divided into. (I.e. number of equally sized buttons in a row.) The most granular number of units will be the base set of units for all rows. This way, a button can be allowed to span 3 or more units.
The profile automatically sets the keyboard theme (if a keyboard is used), but wanted to verify if this is the case.