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:

$this->bbcode_second_pass_code('', '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:
$this->bbcode_second_pass_code('', '------------[ 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: 29
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
$this->bbcode_second_pass_code('', 'NOTICE: -->Python Interpreter Initialized<--
NOTICE: CommonFunctions-2.5.1
')
when the keyboard dialog pops up on the display.
ILMostro
 
Posts: 29
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".
$this->bbcode_second_pass_code('', '<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: 29
Joined: Tue Apr 22, 2014 8:07 am


Return to Hardware

Who is online

Users browsing this forum: No registered users and 4 guests