HOW-TO:Use SMS-style text entry for remotes

From Official Kodi Wiki
Jump to: navigation, search
Home icon grey.png   ▶ Remote controls ▶ HOW-TO:Use SMS-style text entry for remotes

If you have a remote control that is viewed as a keyboard to Kodi and want to enable SMS-style text input and page jumping, this guide wills how you how to enable this using a custom keymap. If you have a normal "MCE" style remote or non-Android CEC device, then this how-to may not necessary.

1 Steps

1 Create a plain text file (no rich text formatting, don't use .doc, etc) and save it as keyboard.xml. Make sure that the file extension is ".xml" and not ".txt" or ".xml.txt".
2 Cut and paste this into your new plain text file:
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
  <global>
    <keyboard>
      <zero>Number0</zero>
      <one>JumpSMS1</one>
      <two>JumpSMS2</two>
      <three>JumpSMS3</three>
      <four>JumpSMS4</four>
      <five>JumpSMS5</five>
      <six>JumpSMS6</six>
      <seven>JumpSMS7</seven>
      <eight>JumpSMS8</eight>
      <nine>JumpSMS9</nine>
      <escape>Back</escape>
    </keyboard>
  </global>
  <VirtualKeyboard>
    <keyboard>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <backspace>Backspace</backspace>
    </keyboard>
  </VirtualKeyboard>
  <FullscreenVideo>
    <keyboard>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <escape>Stop</escape>
    </keyboard>
  </FullscreenVideo>
  <VideoMenu>
    <keyboard>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
    </keyboard>
  </VideoMenu>
  <NumericInput>
    <keyboard>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
    </keyboard>
  </NumericInput>
  <Teletext>
    <keyboard>
      <zero>number0</zero>
      <one>number1</one>
      <two>number2</two>
      <three>number3</three>
      <four>number4</four>
      <five>number5</five>
      <six>number6</six>
      <seven>number7</seven>
      <eight>number8</eight>
      <nine>number9</nine>
    </keyboard>
  </Teletext>
</keymap>
3 Save this file in userdata/Keymaps/:

Note: if you use the Keymap Editor addon for Kodi, you need to append these new XML lines above inside the XML file generated by this addon, not in keyboard.xml. In March of 2015, the file generated by Keymap Editor is called "gen.xml".

4 If Kodi is already running then restart it so that the changes take effect.
5 Note: This step is not required for Kodi v14 and higher.

Go into Kodi and then Settings -> System -> Input devices and enable Remote control sends keyboard presses. This will allow your arrow keys to use the on-screen keyboard even though Kodi thinks your remote is a keyboard already.


2 Filter instead of jump

You can also use FilterSMS instead of JumpSMS in the above keymap. This will filter out titles that don't match the letters being entered.

For example, typing "STAR" will filter out anything that doesn't start with those letters, leaving behind entries like "Star Wars", "Star Trek", "Stargate", etc.

3 Note for Imon remotes users

  • Some Imon remotes, such as the Pad, and perhaps other remotes, have numeric buttons that do not send keys like “one”, “two”, etc. Neither they do output key-codes from the numeric pad of a keyboard. What they do is send key-codes from the keys Under the function keys (F1, F2, etc), meaning: 1,2,3, etc. The problem on some system is : they send the keyboard’s lowercase (unshifted) characters for the 1,2,3, etc, keys. For example, if you have a French AZERTY keyboard, the remote's numeric keys will be understood by Kodi as "&锑(-è_çà)". As a result, the XML lines above need to be changed.
  • Using the Keymap Editor addon, it should be possible to press the remote buttons and have the button's output registered. But in some cases it is not possible or not handy, so it is sometimes better to use some real keyboard key codes. In the following method, we do not count on the remote's IR emitted key codes, but on regular keyboard keystrokes.
  • Use the Keymap Editor addon to note which key-code Kodi gets when typing the keys from the second row of the keyboard. Go to Keymap Editor > edit > global > virtual keyboard > and for each number, type the corresponding numeric key on the keyboard (not the numpad).
  • Open the gen.xml file, generated by the Keymap Editor addon. Following the instructions above, it should include the XML lines above for the T9 ability. Edit the lines like <zero>Number0</zero> and replace them by the codes you got from the Keymap Editor addon. For example : <key id=”61488″>Number0</key>.
Personal tools
Namespaces

Variants
Actions
Navigation
Wiki help
Toolbox