0 Replies Latest reply on Oct 5, 2016 4:46 AM by ABHINEET AGARWAL

    Function Key Mapping On Omni XT15 WM and WorkAbout Pro 4 WM Device Via Enterprise Browser Application

    ABHINEET AGARWAL

      Problem Statement

      On Omni XT15 WM and WorkAbout Pro 4 WM device, the value for the function keys is never getting retrieved via windows keydown/keyup message. Instead, it returns the proprietary Unicode value through windows character message.

      For Example: On pressing F1 function key, user is expecting that the hexadecimal value 0x70 (i.e. 112 in decimal format) will be fired using windows keydown/keyup message. But this is never getting called.

      Instead, the hexadecimal value E001 (i.e. 57345 in decimal format) is fired using windows character message.

      This will lead to an issue for the customer who wants to use EnterpriseBrowser product on Omni XT15 WM and WorkAbout Pro 4 WM device as the Microsoft virtual keyCode value will never be called. Customers need to unnecessary change their webpage if they are legacy/new customers.

      Solution

      Map the proprietary Unicode value of required function keys to Microsoft virtual keyCode value internally in our EnterpriseBrowser application.

      How to Map the Function Key

      User need to follow the below steps for mapping particular function keys from proprietary Unicode value to Microsoft virtual keyCode value.

      1. Add and enable the FunctionKeyMappingToStandardMSValue tag in Config.xml as shown below. Possible values of FunctionKeyMappingToStandardMSValue tag is either 0 or 1. The below FunctionKeyMapping tag need to be present under Configuration root tag as a child tag.

      <Configuration> 
         ---
         ---
         <FunctionKeyMapping>
           <FunctionKeyMappingToStandardMSValue value="1"/>
         </FunctionKeyMapping>
         ---
         ---
      </Configuration>

      2. Create EBFunctionKeyMapping.xml file and provide the function key which need to be mapped to Microsoft virtual keyCode value. The format of xml content should be in the similar manner as shown in the below templates.

       

      After creation, place EBFunctionKeyMapping.xml file to \Program Files\EnterpriseBrowser\ location in the device after installing EnterpriseBrowser application into the device.

      Template 1:

      If user want to map the particular function key to Microsoft keyCode value.

      For Example:

      If F1 function key need to be mapped whose proprietary Unicode value in hexadecimal is 0xE001 and Microsoft virtual keyCode value in hexadecimal is 0x70 then the content & format of EBFunctionKeyMapping.xml file will look as shown below.

      <FUNCTION_KEY_MAPPING_TO_STANDARD_MS_VALUE> 
          <SET_FUNCTION_KEY_TO_STANDARD_MS_VALUE  IF_CHAR_VALUE="0xE001" SEND_KEYDOWN_VALUE="0x70"/>
      </FUNCTION_KEY_MAPPING_TO_STANDARD_MS_VALUE>

      Template 2:

      If user want to map multiple function key to Microsoft keyCode value.

      For Example:

      If F1 to F5 function keys need to be mapped then content & format of EBFunctionKeyMapping.xml file will look as shown below.

      <FUNCTION_KEY_MAPPING_TO_STANDARD_MS_VALUE> 
         <SET_FUNCTION_KEY_TO_STANDARD_MS_VALUE  IF_CHAR_VALUE="0xE001" SEND_KEYDOWN_VALUE="0x70"/>
         <SET_FUNCTION_KEY_TO_STANDARD_MS_VALUE  IF_CHAR_VALUE="0xE002" SEND_KEYDOWN_VALUE="0x71"/>
         <SET_FUNCTION_KEY_TO_STANDARD_MS_VALUE  IF_CHAR_VALUE="0xE003" SEND_KEYDOWN_VALUE="0x72"/>
         <SET_FUNCTION_KEY_TO_STANDARD_MS_VALUE  IF_CHAR_VALUE="0xE004" SEND_KEYDOWN_VALUE="0x73"/>
         <SET_FUNCTION_KEY_TO_STANDARD_MS_VALUE  IF_CHAR_VALUE="0xE005" SEND_KEYDOWN_VALUE="0x74"/>
      </FUNCTION_KEY_MAPPING_TO_STANDARD_MS_VALUE>

       

      EBFunctionKeyMapping.xml Content Explanation:

      • FUNCTION_KEY_MAPPING_TO_STANDARD_MS_VALUE – This is the name of the root tag.
      • SET_FUNCTION_KEY_TO_STANDARD_MS_VALUE - This is the name of the child tag associated with the root tag. The maximum supported child tag is 65 which can be associated by EBFunctionKeyMapping.xml file.
      • IF_CHAR_VALUE - This attribute contains the proprietary Unicode value. The set value is used internally in EnterpriseBrowser application for mapping purpose whenever any function key is pressed.
      • SEND_KEYDOWN_VALUE - This attribute contains the Microsoft virtual keyCode value. The set value is used internally inEnterpriseBrowser application for mapping purpose whenever any function key is pressed.

      On Omni XT15 WM and WorkAbout Pro 4 WM device, when EnterpriseBrowser application is running in foreground, on pressing any function key, if the value of windows character message matches with anyone of the set value of IF_CHAR_VALUE attributes which is provided in EBFunctionKeyMapping.xml file, then the set value of the associated SEND_KEYDOWN_VALUE attribute is mapped and sent to windows keydown message internally in our EnterpriseBrowser application for recieving Microsoft virtual keyCode value instead of proprietary Unicode value.

      Note:

      1. This feature will be supported from EnterpriseBrowser 1.5 onwards.
      2. This feature is only applicable for WorkAbout Pro 4 and Omnii XT15 Windows Embedded Handheld 6.5 device.
      3. Total number of function keys which can be mapped is 65 through EBFunctionKeyMapping.xml file.
      4. The format of EBFunctionKeyMapping.xml file should not be altered. Refer Template section i.e. Template 1 and Template 2.
      5. The proprietary Unicode value for function keys can be fetched from here.
      6. The below table list the information of standard function keys value from F1 to F24.
      Function KeysProprietary Unicode ValueMicrosoft Virtual Keycode Value
      F10xE0010x70
      F20xE0020x71
      F30xE0030x72
      F40xE0040x73
      F50xE0050x74
      F60xE0060x75
      F70xE0070x76
      F80xE0080x77
      F90xE0090x78
      F100xE00A0x79
      F110xE00B0x7A
      F120xE00C0x7B
      F130xE00D0x7C
      F140xE00E0x7D
      F150xE00F0x7E
      F160xE0100x7F
      F170xE0110x80
      F180xE0120x81
      F190xE0130x82
      F200xE0140x83
      F210xE0150x84
      F220xE0160x85
      F230xE0170x86
      F240xE0180x87