DESKTOP_MODE_POLICY." name="Description"/>
Click or drag to resize

PropertyID.PhysicalKeyboardProfile Field

Administrative Settings: For devices managed by an organization, administrative policies might require to configure the default layout of an external physical keyboard in combination with DESKTOP_MODE_POLICY.

Namespace: Com.Datalogic.Device.Configuration
Assembly: datalogic-xamarin-sdk (in datalogic-xamarin-sdk.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
C#
VB
public const Int32 PhysicalKeyboardProfile = "value"

Field Value

Type: Int32
Remarks
Administrative Settings: For devices managed by an organization, administrative policies might require to configure the default layout of an external physical keyboard in combination with DESKTOP_MODE_POLICY.

This parameter allows to configure the layout for customizing settings related to an external physical keyboard connected to the device. This configuration takes effect only if the value of property PHYSICAL_KEYBOARD_POLICY is set to PhysicalKeyboardPolicy.CUSTOM.

The class of the property is TextProperty.

This property can be set with a String defining the keyboard layout identifier, keyboard layout short identifier or the locale:

  • keyboard layout identifier: it is the physical keyboard layout identifier defined by "[package name]/[receiver name]/keyboard_layout_xxx".
    For example:
    • com.android.inputdevices/com.android.inputdevices.InputDeviceReceiver/keyboard_layout_polish corresponds to Polish keyboard layout provided by Android.
  • keyboard layout short identifier: it is the physical keyboard layout identifier defined by "keyboard_layout_xxx". This is a shorter version of keyboard layout identifier, obtained by omitting the "[package name]/[receiver name]/" prefix. Since, an App could define a custom layout using the same short identifier keyboard_layout_xxx already used by a pre-loaded layout, when the user sets this property using that value, the pre-loaded keyboard layout will be used instead of the custom one. So, in case of custom layouts, it is required to configure this property using the keyboard layout identifier, instead of the shorter definition.
    For example:
    • keyboard_layout_german corresponds to German keyboard layout.
    • keyboard_layout_french corresponds to French-France keyboard layout.
    • keyboard_layout_french_ca corresponds to French-Canada keyboard layout.
    • keyboard_layout_italian corresponds to Italian keyboard layout.
  • invalid input: '<'/>locale: it is the locale identifier defined by [language identifier with two lowercase letters]-[country code identifier with uppercase two letters], where the country code is optional and it depends on the language.
    For example:
    • "de" or "de-DE" corresponds to German language.
    • "de-CH" corresponds to German language in Switzerland.
    • "fr" or "fr-FR" corresponds to French language in France.
    • "fr-CA" corresponds to French keyboard layout in Canada.
    • "it" corresponds to Italian language.

    Locale is a compact representation, but it does not always match uniquely with a keyboard layout. In particular:
    • not all the Locales have a corresponding layout (e.g chinese). In this case, when the user sets this property with one of those Locales, an error will be returned.
    • not all the Locales have only one corresponding layout (e.g "en-US"). In this case, setting this property when the user sets this property with one of those Locales, the most common layout for that Locale will be chosen.

The following command can be used to retrieve the identifier for all the pre-loaded and custom keyboard layouts available on the device:

adb shell dumpsys activity service com.datalogic.extension.uxsettings/.MainService

Below the list of pre-loaded physical keyboard layouts:

  • keyboard_layout_english_uk
  • keyboard_layout_english_us
  • keyboard_layout_english_us_intl
  • keyboard_layout_english_us_colemak
  • keyboard_layout_english_us_dvorak
  • keyboard_layout_english_us_workman
  • keyboard_layout_german
  • keyboard_layout_french
  • keyboard_layout_french_ca
  • keyboard_layout_russian
  • keyboard_layout_russian_mac
  • keyboard_layout_spanish
  • keyboard_layout_swiss_french
  • keyboard_layout_swiss_german
  • keyboard_layout_belgian
  • keyboard_layout_bulgarian
  • keyboard_layout_bulgarian_phonetic
  • keyboard_layout_italian
  • keyboard_layout_danish
  • keyboard_layout_norwegian
  • keyboard_layout_swedish
  • keyboard_layout_finnish
  • keyboard_layout_croatian
  • keyboard_layout_czech
  • keyboard_layout_czech_qwerty
  • keyboard_layout_estonian
  • keyboard_layout_hungarian
  • keyboard_layout_icelandic
  • keyboard_layout_brazilian
  • keyboard_layout_portuguese
  • keyboard_layout_slovak
  • keyboard_layout_slovenian
  • keyboard_layout_turkish
  • keyboard_layout_turkish_f invalid input: '<'/li
  • keyboard_layout_ukrainian
  • keyboard_layout_arabic
  • keyboard_layout_greek
  • keyboard_layout_hebrew
  • keyboard_layout_lithuanian
  • keyboard_layout_spanish_latin
  • keyboard_layout_latvian
  • keyboard_layout_persian
  • keyboard_layout_azerbaijani
  • keyboard_layout_polish
  • keyboard_layout_belarusian
  • keyboard_layout_mongolian
  • keyboard_layout_georgian
  • keyboard_layout_thai_kedmanee
  • keyboard_layout_thai_pattachote
  • keyboard_layout_romanian
  • keyboard_layout_romanian_qwertz
  • keyboard_layout_moldovan
  • keyboard_layout_moldovan_qwertz
  • keyboard_layout_serbian_cyrillic
  • keyboard_layout_serbian_latin
  • keyboard_layout_montenegrin_cyrillic
  • keyboard_layout_montenegrin_latin
  • keyboard_layout_english_india
  • keyboard_layout_hindi_inscript
  • keyboard_layout_japanese109

[Android Documentation]

See Also