Saturday, November 3, 2018

XT Keyboard Layouts Reference

XT Keyboard Layouts Reference

  ◄◄ XT Keyboard Layouts Reference ►►

  ▼▼  GeneralConsiderations

  • .. Click on ▼▼ to hide ..

  • Development and testing has been done on Windows 10.
    The binaries (keyboard layout DLLs) can be installed
    on other recent versions of Windows, most probably.
    This work can be done on other platforms (Linux, Android, ..), too;
    however, that is out of my competence.

  • Three keyboard layouts which were found on my computer under Windows 10
    have been customized:

    SignatureLanguageDescriptionRemark
    ENG-USEnglish (US)USqwerty
    BG_PhoneticTraditionalBulgarianBulgarian (Phonetic Traditional)явертъ
    BG_TypewriterBulgarianBulgarian (Typewriter),уеишщ
    --ignored--BulgarianBulgarian,уеишщ
    --ignored--BulgarianBulgarian (Latin)qwerty
    --ignored--BulgarianBulgarian (Phonetic)чшертъ

    The last three keyboards are ignored because of their minimal or null usage.

  • After the customization, called here XT customization,
    the following three keyboard layouts are suggested:

    SignatureDescriptionRemark
    ENG-US-XTUS - CustomXTqwerty
    BG_PhoneticTraditional-XTBulgarian (Phonetic Traditional) - XTявертъ
    BG_Typewriter-XTBulgarian (Typewriter) - XTфуеишщ

    Remark: The XT customization did not change the language.

  • The targets of the XT customization are:

    • Additional Cyrillic letters (ѣѫђџ..) in Bulgarian keyboard layouts.
    • Combining diacritics.
    • Additional characters.

  • The development tool used for the XT customization is MSKLC.

    • ►► .. more details ..

  • The distribution.

    • ▼▼ .. hide details ..

      • There is a common distribution of the three XT keyboard layouts suggested here.

        • Download once.

        • Download either the packed archive file XT_KeyboardLayouts.zip from this link, and then unzip,
        • Or download the self-extracting archive file XT_KeyboardLayouts.exe from this link, and then run to unzip.

        • After the extraction (unzipping), there will be a folder named XT_KeyboardLayouts and three subfolders:

          • bg_phtxt: for KeyboardLayout-BG_PhoneticTraditional-XT
          • bg_typxt: for KeyboardLayout-BG_Typewriter-XT
          • eng-usxt: for KeyboardLayout-ENG-US-XT
          XT_KeyboardLayouts\bg_phtxt\setup.exe
          XT_KeyboardLayouts\bg_phtxt\BG_Pht_Original.klc
          XT_KeyboardLayouts\bg_phtxt\BG_PhtXT.klc
          XT_KeyboardLayouts\bg_phtxt\BG_PhtXT_KeyboardVerify.log
          XT_KeyboardLayouts\bg_phtxt\BG_PhtXT_amd64.msi
          XT_KeyboardLayouts\bg_phtxt\BG_PhtXT_i386.msi
          XT_KeyboardLayouts\bg_phtxt\BG_PhtXT_ia64.msi
          XT_KeyboardLayouts\bg_phtxt\amd64\BG_PhtXT.dll
          XT_KeyboardLayouts\bg_phtxt\i386\BG_PhtXT.dll
          XT_KeyboardLayouts\bg_phtxt\ia64\BG_PhtXT.dll
          XT_KeyboardLayouts\bg_phtxt\wow64\BG_PhtXT.dll
          
          XT_KeyboardLayouts\bg_typxt\setup.exe
          XT_KeyboardLayouts\bg_typxt\BG_TypOriginal.klc
          XT_KeyboardLayouts\bg_typxt\BG_TypXT.klc
          XT_KeyboardLayouts\bg_typxt\BG_TypXT_KeyboardVerify.log
          XT_KeyboardLayouts\bg_typxt\BG_TypXT_amd64.msi
          XT_KeyboardLayouts\bg_typxt\BG_TypXT_i386.msi
          XT_KeyboardLayouts\bg_typxt\BG_TypXT_ia64.msi
          XT_KeyboardLayouts\bg_typxt\amd64\BG_TypXT.dll
          XT_KeyboardLayouts\bg_typxt\i386\BG_TypXT.dll
          XT_KeyboardLayouts\bg_typxt\ia64\BG_TypXT.dll
          XT_KeyboardLayouts\bg_typxt\wow64\BG_TypXT.dll
          
          XT_KeyboardLayouts\eng-usxt\setup.exe
          XT_KeyboardLayouts\eng-usxt\ENG-US_Original.klc
          XT_KeyboardLayouts\eng-usxt\ENG-USXT.klc
          XT_KeyboardLayouts\eng-usxt\ENG-USXT_KeyboardVerify.log
          XT_KeyboardLayouts\eng-usxt\ENG-USXT_amd64.msi
          XT_KeyboardLayouts\eng-usxt\ENG-USXT_i386.msi
          XT_KeyboardLayouts\eng-usxt\ENG-USXT_ia64.msi
          XT_KeyboardLayouts\eng-usxt\amd64\ENG-USXT.dll
          XT_KeyboardLayouts\eng-usxt\i386\ENG-USXT.dll
          XT_KeyboardLayouts\eng-usxt\ia64\ENG-USXT.dll
          XT_KeyboardLayouts\eng-usxt\wow64\ENG-USXT.dll
          
      • Also, there are separate distributions for the three XT keyboard layouts suggested here.

        Distribution
        Display name
        Distribution
        File name
        Zip-file
        to unzip
        Self-extracting
        to run
        BG_PhoneticTraditional-XT bg_phtxt Download Download
        BG_Typewriter-XT bg_typxt Download Download
        ENG-US-XT eng-usxt Download Download
        All-in-one XT_KeyboardLayouts Download Download

      • Each of the three XT keyboard layouts suggested here is to be installed separately.

        • You may choose which to install and which to ignore.
        • Go to the corresponding subfolder (bg_phtxt,bg_typxt,eng-usxt) and run setup.exe in it.

  • How are the keyboard layouts functioning?
    On Windows, keyboard layouts are attributed to Languages
    .

    • ►► .. more details ..

  • All keyboards are based on the Unicode encoding.

    • ▼▼ .. hide details ..

      • In Unicode, each character is assigned a code which is a number in the range 1..65535.
      • The characters whose Unicode is in the range 1..127 actually inherit their codes from ASCII/ANSI.

      • Thus, a Unicode is a 16-bit number which can fit into two bytes.

      • Usually, a Unicode is represented either as a decimal number in the range 1..65535 or as 4-digit hexadecimal number.
      • Both representations are being used:

        • The MSKLC tool uses the 4-digit hexadecimal representation.
        • In HTML, the decimal representation is used.

      • You may use the Character Map tool (found among the Accessories in the Windows Start menu) to get the Unicode of a character in hexadecimal.
      • Then, you may use the Programmer mode of the Calculator tool (found on the same place) to convert from hexadecimal to decimal.

      • E.g. Cyrillic letter "Ѣ" has hexadecimal Unicodes U+0462 (in UpperCase) and U+0463 (in LowerCase). In decimal, these are 1122 and 1123.
      • E.g. Greek letter "Ω" has hexadecimal Unicodes U+03A9 (in UpperCase) and U+03C9 (in LowerCase). In decimal, these are 937 and 969.
      • E.g. Roman letter "Z" has hexadecimal Unicodes U+005A (in UpperCase) and U+007A (in LowerCase). In decimal, these are 90 and 122. Same as in ASCII.

      • Keyboards are considered here. Keyboards are responsible for the input of characters in Unicode encoding.

      • For the correct visualization of the characters, those are the fonts responsible.
      • Fonts are not considered here.

      • If special characters are to be input on a computer (e.g. strange Cyrillic letters "Ѣ" and "Ѫ"),
        then a special keyboard layout should be installed on this computer.

      • If such special characters are just to be displayed on a computer,
        then that computer must have proper fonts at its disposal,
        and the proper fonts are to be specified in some way.
      • Usually, any computer has at its disposal fonts to display almost all the Unicode characters.
        Distributing fonts to a wide audience is not a good idea.
      • Again: fonts are not considered here.

      • Actually, on Windows, the keyboard allows the input of any Unicode character.

        • Press and hold down the Alt key.
        • Type the Plus (+) key on the numeric keypad.
        • Type the four hexadecimal digits of the Unicode character to be input.
        • Release the Alt key.

        • Please try.
        • Perhaps, this method of input requires a registry setting.
        • If so, then run regedit.

        • Locate HKEY_Current_User/Control Panel/Input Method ..
        • .. and set EnableHexNumpad to "1" as a REG_SZ value.
        • Restart Windows in order the registry change to take effect.
        • And try again.

  • A KeyboardLayout, and the XT KeyboardLayouts as referenced here in particular,
    can be represented as a set of six layouts, one for each state. The states are:

    • Base state: no special keys pressed.
    • Shift state: the Shift key pressed and hold.
    • Ctrl state: the Ctrl key pressed and hold.
    • CtrlShift state: both the Ctrl key and the Shift key pressed and hold.
    • AltGr state: the AltGr key pressed and hold.
    • AltGrShift state: both the AltGr key and the Shift key pressed and hold.

  • The AltGr key is the right Alt key.
    Pressing both the Ctrl key and the left Alt key has the effect of the AltGr key.

  • On this page here, on the keyboard pictures, the Shift, Ctrl and AltGr keys
    are actually buttons and can be used to switch between the six states of the keyboard.
    If the key is pressed, it is shown in green.

  • Combining diacritics are characters
    which are displayed in the position of the previous character.
    A combining diacritic character modifies the previous character.
    The combining diacritic character is to be input immediately after the character to modify.

  • The combining diacritics that are assigned in XT KeyboardLayouts are as follows:

    Grave accentAltGrVK_OEM_3BG: to be used as stress mark
    TildeAltGrShiftVK_OEM_3ESP: ñ
    OgonekAltGr
    AltGrShift
    VK_1BG: а̨ я̨
    POL: а̨ ę
    CaronAltGr
    AltGrShift
    VK_2BG: а̌ я̌
    Acute accentAltGr
    AltGrShift
    VK_3FR: é
    CedillaAltGrVK_4FR: ç
    IotaYpogegrammeneAltGrShiftVK_4Ancient Greek
    DiaeresisAltGr
    AltGrShift
    VK_5RUS: ё
    GER: ä ö ü
    Circumflex accentAltGr
    AltGrShift
    VK_6FR: е̂ â ô û
    Double grave accentAltGr
    AltGrShift
    VK_7
    Double acute accentAltGr
    AltGrShift
    VK_8BG: ѣ̋
    Comma aboveAltGrVK_9Greek: smooth breathing
    Reversed comma aboveAltGrShiftVK_9Greek: rough breathing
    Dot aboveAltGrVK_0
    Ring aboveAltGrShiftVK_0BG: я̊
    BreveAltGrVK_OEM_MINUSBG: ў й
    Inverted breveAltGrShiftVK_OEM_MINUS
    MacronAltGrVK_OEM_PLUSBG: ю̄
    OverlineAltGrShiftVK_OEM_PLUS

  • christotamarin.blogspot: Bulgarian Letter Revival: how to use the re-established letters Ѣ and Ѫ (in Bulgarian).

  • .. Hide the GeneralConsiderations section ..

  ►►  KeyboardLayout-ENG-US-XT

  ►►  KeyboardLayout-BG_PhoneticTraditional-XT

  ►►  KeyboardLayout-BG_Typewriter-XT

  ►►  Comments, Q&As (Click on ►► to expand and display)



No comments:

Post a Comment