4

I just installed Kodi on my Raspberry Pi 3 via Raspbian, so I don't have to switch SD Cards when I need to watch a YouTube video and then return to the desktop.

A problem I encountered is that my keyboard is not working properly. When I enter a search or a text field in Kodi, a virtual keyboard pops up, and I am unable to type using my physical keyboard.

The display is not a touchscreen, it is just a regular TV.

While, keys such as C open context menu, for example, arrows, ESC, Return and every shortcut key work, I am not able to use the keyboard as a typing device. I already tried to follow these guides and Stack Exchange answers:

Here's what I did to install Kodi:

sudo apt-get update
# to refresh package list, then
sudo apt-get install kodi

SD card has just been flashed with newest Raspbian, keyboard is IT attached via USB.

UPDATE: I made a few tries and I found out that the num pad is acting as one of those cheap phone keyboards with alphabet letters, just like ones on old Nokia phones, where you press a number more times and you cycle between letters, like: 2 -> a b c 2 A B C 3 -> d e f 3 D E F And so on, while 1 does special symbols and number 1.

It's bad when a thing doesn't work, but it's even more frustrating when something only works partially.

5
  • Is the display actually a touchscreen?
    – goldilocks
    Commented Nov 2, 2016 at 15:09
  • No, it's not. It's my TV
    – Manchineel
    Commented Nov 2, 2016 at 17:59
  • It sounds like your keyboard FN (Function) lock is enabled.... Keyboard is the oldest thing ever. If its a USB keyboard it emulates PS2 - So its very strange why kodi is interpreting the keystrokes in such a strange way.
    – Piotr Kula
    Commented Nov 3, 2016 at 19:46
  • 1
    I had the same problem when I installed Kodi on a Raspbian Jessie Pi3 in May.. I "solved it" by installing LibreELEC instead - then the keyboard worked properly. Of course, this doesn't solve your problem, but it might help someone else to do so.. :-) Commented Nov 4, 2016 at 15:55
  • If I only had to use Kodi, then there would be no reason to run it on Raspbian: I could very well flash SD w/ OSMC then boom. Problem is I also need Desktop
    – Manchineel
    Commented Nov 4, 2016 at 20:27

3 Answers 3

2

I had this exact same keyboard-input problem with Kodi 17 on Raspbian Jessie.

It only went away when I added the following to /etc/rc.local (before the "exit" line):

chmod 0777 /dev/tty0

I found this solution after reading the instructions at https://www.raspberrypi.org/forums/viewtopic.php?t=99866

It seems a bit of a hacky solution though, and I don't know why it's necessary because Kodi is clearly getting the keyboard input, just ignoring it for the text input fields. Perhaps we should weigh in at the Kodi bugtracker ( http://trac.kodi.tv/ticket/15902 )?

0
1

The use of /etc/rc.local is deprecated in modern versions of Debian and its derivatives, including Raspbian, which use systemd. Here is the preferred way to implement the workaround in Raspbian Stretch. The steps assume that you are working in a root shell (e.g., via sudo bash).

  1. Ensure that the user running kodi (in my case, kodi) is in the tty group:

    # usermod -a -G tty kodi
    
  2. Create a new service as follows:

    # cat <<EOF >/lib/systemd/system/kodi-enable-keyboard.service
    [Unit]
    Description = Kodi Keyboard Enabler
    After = remote-fs.target network-online.target
    Wants = network-online.target
    
    [Service]
    ExecStart = /bin/chmod 0660 /dev/tty0
    
    [Install]
    WantedBy = multi-user.target
    EOF
    
  3. Start the new service and tell systemd that you want it started on every boot:

    # systemctl daemon-reload
    # systemctl start kodi-enable-keyboard.service
    # systemctl enable kodi-enable-keyboard.service
    
  4. If you are already running Kodi as a systemd service, then you should ensure that it gets started after the kodi-enable-keyboard service by specifying After = kodi-enable-keyboard.service in its [Unit] section. For example, you might want to change your entire /lib/systemd/system/kodi.service file to look something like the following:

    [Unit]
    Description = Kodi Media Center
    After = kodi-enable-keyboard.service
    Wants = network-online.target
    
    [Service]
    User = kodi
    Group = kodi
    Type = simple
    ExecStart = /usr/bin/kodi
    Restart = on-abort
    RestartSec = 5
    
    [Install]
    WantedBy = multi-user.target
    
  5. Regardless whether or not you are running Kodi as a service, you need to restart it for the keyboard fix to take effect.

0

Using RPI 3 with Kodi v17

Building on @Paul M's answer, you can add the user running kodi (kodi in my case) to the group tty and then placing the below in /etc/rc.local

chmod 0660 /dev/tty0

This solves it in a similar manner, while avoiding allowing everyone to write to /dev/tty0

The permissions are generally 620 root:tty. For some reason, kodi needs the read permission (2 + 4: 620 -> 660) to allow you to type into the search with a keyboard?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.