Logitech USB Keyboard w/trackpad and Kodi on RPi2

Plugging in devices such as LAN adapters, Wi-Fi cards, printers, etc. to Arch Linux ARM.

Logitech USB Keyboard w/trackpad and Kodi on RPi2

Postby ILMostro » Fri Apr 17, 2015 5:35 am

I am having trouble finding information and workarounds for lack of keyboard input functionality in Kodi, a.k.a. XBMC. I have a raspberry pi 2 running ALARM with `kodi-rbp-git 15.20150330-1` installed. The input device is a keyboard/trackpad combo, which is registered, according to `dmesg` output, as:

Code: Select all
logitech-djreceiver 0003:046D:C52B.0003: hiddev0,hidraw0: USB HID v1.11 Device [Logitech USB Receiver] on usb-bcm2708_usb-1.5/input2
[  +0.072847] input: Logitech Unifying Device. Wireless PID:4024 as /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.2/0003:046D:C52B.0003/0003:046D:C52B.0004/input/input0
[  +0.025463] logitech-djdevice 0003:046D:C52B.0004: input,hidraw1: USB HID v1.11 Keyboard [Logitech Unifying Device. Wireless PID:4024] on usb-bcm2708_usb-1.5:1


While the keyboard device functions as expected when running Kodi on Raspbian and OSMC, in ALARM, only the trackpad, arrow keys, and some unwanted keyboard shortcuts work; forcing me to use the arrow keys and the digital keyboard as a poor substitute for a full QUERTY keyboard. I've tried, unsuccessfully, to figure out if, somehow, somewhere, there's a config file missing/existing that would cause this unwanted behavior. I've also tried creating `udev` rules for more relaxed permissions on `/dev/tty0`, as suggested by a forum thread on raspberrypi.org; as well as adding my primary user AND the `kodi` user to the input, tty groups without any observable difference to the lack of functionality.

Lastly, I've noticed the following in the `dmesg` output:
Code: Select all
------------[ cut here ]------------
[  +0.004822] WARNING: CPU: 0 PID: 0 at net/core/skbuff.c:3996 skb_try_coalesce+0x320/0x378()
[  +0.008544] Modules linked in: evdev joydev hid_logitech_dj bmp085_i2c regmap_i2c i2c_bcm2708 uio_pdrv_genirq uio nfsd sch_fq_codel usbip_host usbip_core snd_bcm2835 snd_pcm snd_timer snd bcm2708_rng rng_core ipv6
[  +0.019600] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.18.11-2-ARCH #1
[  +0.006665] [<80014e08>] (unwind_backtrace) from [<80011e8c>] (show_stack+0x10/0x14)
[  +0.007808] [<80011e8c>] (show_stack) from [<80729b00>] (dump_stack+0x84/0xc4)
[  +0.007283] [<80729b00>] (dump_stack) from [<8002c13c>] (warn_slowpath_common+0x74/0x90)
[  +0.008157] [<8002c13c>] (warn_slowpath_common) from [<8002c1f4>] (warn_slowpath_null+0x1c/0x24)
[  +0.008847] [<8002c1f4>] (warn_slowpath_null) from [<80652c1c>] (skb_try_coalesce+0x320/0x378)
[  +0.008656] [<80652c1c>] (skb_try_coalesce) from [<806a73c8>] (tcp_try_coalesce.part.38+0x28/0xbc)
[  +0.009073] [<806a73c8>] (tcp_try_coalesce.part.38) from [<806a8b9c>] (tcp_data_queue+0x7a8/0xca8)
[  +0.009043] [<806a8b9c>] (tcp_data_queue) from [<806aa890>] (tcp_rcv_established+0x150/0x63c)
[  +0.008614] [<806aa890>] (tcp_rcv_established) from [<806b29f4>] (tcp_v4_do_rcv+0x180/0x394)
[  +0.008492] [<806b29f4>] (tcp_v4_do_rcv) from [<806b5350>] (tcp_v4_rcv+0x8c4/0x8cc)
[  +0.007701] [<806b5350>] (tcp_v4_rcv) from [<80691b68>] (ip_local_deliver_finish+0xe0/0x2c8)
[  +0.008507] [<80691b68>] (ip_local_deliver_finish) from [<8065d070>] (__netif_receive_skb_core+0x664/0x85c)
[  +0.009827] [<8065d070>] (__netif_receive_skb_core) from [<80660b7c>] (process_backlog+0x8c/0x138)
[  +0.009049] [<80660b7c>] (process_backlog) from [<806609c0>] (net_rx_action+0x13c/0x26c)
[  +0.008146] [<806609c0>] (net_rx_action) from [<8002f7a4>] (__do_softirq+0x128/0x320)
[  +0.007887] [<8002f7a4>] (__do_softirq) from [<8002fc30>] (irq_exit+0xb8/0xf4)
[  +0.007278] [<8002fc30>] (irq_exit) from [<80071028>] (__handle_domain_irq+0xa8/0x104)
[  +0.008022] [<80071028>] (__handle_domain_irq) from [<8072f6b0>] (__irq_svc+0x30/0x144)
[  +0.008132] [<8072f6b0>] (__irq_svc) from [<8000f09c>] (arch_cpu_idle+0x38/0x3c)
[  +0.007498] [<8000f09c>] (arch_cpu_idle) from [<80063720>] (cpu_startup_entry+0x210/0x264)
[  +0.008383] [<80063720>] (cpu_startup_entry) from [<809e9c64>] (start_kernel+0x3a0/0x3ac)
[  +0.008278] ---[ end trace dd0f445406182c77 ]---


Any- and all helpful suggestions are very much appreciated.
ILMostro
 
Posts: 26
Joined: Tue Apr 22, 2014 8:07 am

Re: Logitech USB Keyboard w/trackpad and Kodi on RPi2

Postby ILMostro » Sun May 10, 2015 12:02 am

Wow, I can't believe no one else has had this issue. Am I missing something? Is this the default behavior for all keyboards in kodi on archlinuxarm?

I've tried using a different keyboard with the same results. The kod log file only says
Code: Select all
NOTICE: -->Python Interpreter Initialized<--
NOTICE: CommonFunctions-2.5.1

when the keyboard dialog pops up on the display.
ILMostro
 
Posts: 26
Joined: Tue Apr 22, 2014 8:07 am

Re: Logitech USB Keyboard w/trackpad and Kodi on RPi2

Postby ILMostro » Sun May 10, 2015 7:47 am

The unwanted behavior that I described in the original post seems to correspond to the keyboard.xml file that comes with the kodi-rbp-git package in "/usr/share/kodi/system/keymaps/keyboard.xml".
Code: Select all
<keymap>
  <global>
    <keyboard>
      <p>Play</p>
      <q>Queue</q>
      <f>FastForward</f>
      <r>Rewind</r>
      <y>SwitchPlayer</y>
      <left>Left</left>
      <right>Right</right>
      <up>Up</up>
      <down>Down</down>
      <left mod="ctrl">analogseekback</left>
      <right mod="ctrl">analogseekforward</right>
      <pageup>PageUp</pageup>
      <pagedown>PageDown</pagedown>
      <return>Select</return>
      <enter>Select</enter>
      <backspace>Back</backspace>
      <key id='65446'>Back</key>
      <m>ActivateWindow(PlayerControls)</m>
      <s>ActivateWindow(shutdownmenu)</s>
      <escape>PreviousMenu</escape>
      <i>Info</i>
      <menu>ContextMenu</menu>
      <c>ContextMenu</c>
      <space>Pause</space>
      <x>Stop</x>
      <period>SkipNext</period>
      <comma>SkipPrevious</comma>
      <tab>FullScreen</tab>
      <printscreen>Screenshot</printscreen>
      <s mod="ctrl">Screenshot</s>
      <minus>VolumeDown</minus>
      <plus>VolumeUp</plus>
      <equals>VolumeUp</equals>
      <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>
      <numpadminus>VolumeDown</numpadminus>
      <numpadplus>VolumeUp</numpadplus>
      <numpadzero>Number0</numpadzero>
      <numpadone>Number1</numpadone>
      <numpadtwo>Number2</numpadtwo>
      <numpadthree>Number3</numpadthree>
      <numpadfour>Number4</numpadfour>
      <numpadfive>Number5</numpadfive>
      <numpadsix>Number6</numpadsix>
      <numpadseven>Number7</numpadseven>
      <numpadeight>Number8</numpadeight>
      <numpadnine>Number9</numpadnine>
      <backslash>ToggleFullScreen</backslash>
      <home>FirstPage</home>
      <end>LastPage</end>
      <power>ActivateWindow(shutdownmenu)</power>
      <sleep>ActivateWindow(shutdownmenu)</sleep>
      <!-- PVR windows -->
      <e>ActivateWindow(TVGuide)</e>
      <h>ActivateWindow(TVChannels)</h>
      <j>ActivateWindow(RadioChannels)</j>
...


So, I assume I'll have to place a different keymaps file in the local or global .../kodi/system/ directory.
ILMostro
 
Posts: 26
Joined: Tue Apr 22, 2014 8:07 am


Return to Hardware

Who is online

Users browsing this forum: No registered users and 1 guest