linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: camden lindsay <camden.lindsay+kernel@gmail.com>
To: Sean Young <sean@mess.org>
Cc: linux-media@vger.kernel.org
Subject: Re: ir-keytable segfault when writing keymap from file
Date: Wed, 22 Jan 2020 19:32:41 -0800	[thread overview]
Message-ID: <CABkW7JNKq3N39pzmMJJ5B05V0fHZBqxmd68XThuDs6f+QC41Nw@mail.gmail.com> (raw)
In-Reply-To: <20200122091640.GA14036@gofer.mess.org>

[-- Attachment #1: Type: text/plain, Size: 2791 bytes --]

On Wed, Jan 22, 2020 at 1:16 AM Sean Young <sean@mess.org> wrote:
>
> Hi Camden,
>
> On Tue, Jan 21, 2020 at 02:48:45PM -0800, camden lindsay wrote:
> > Will do.
> >
> > To do a quick test, i copied the sample config file out of the man
> > page and tried loading it:
> > [kodiuser@kodiarch ir-keytable]$ sudo ir-keytable -w /etc/ir-keytable/test.toml
> > Read iMON Station RSC table
> > /etc/ir-keytable/test.toml: keycode `KEY_MAX' not recognised, no
>
> The KEY_MAX problem is fixed in master.
>
> > mapping for scancode 8392834
> > Wrote 42 keycode(s) to driver
> > Protocols changed to nec
> > Can't find imon_rsc bpf protocol in /etc/rc_keymaps/protocols or
> > /usr/lib/udev/rc_keymaps/protocols
> > [kodiuser@kodiarch ir-keytable]$
> >
> >
> > Looks like perhaps i should file a bug against arch for the missing
> > protocol file?
>
> That would be great, however I don't think it affects the problem you are
> having.

Understood, and agreed.


>
> > I have no idea what IR BPF decoding does.. but the pages i have
> > skimmed about it (including running across your ramblings and  bpf man
> > page description) seem to indicate it is more complex that what i'll
> > need, given i'll be using the kernel IR decoders.  I think? heh.
>
> For the most common IR protocols, the kernel includes a set of hand-written
> decoders. There are many more protocols, or slight variants. So rather
> than having a decoder for each, we use BPF for those. BPF decoders are
> stored in /usr/lib/udev/rc_keymaps/protocols
>
> Having said all of that, it's likely that you can make do with the kernel
> decoders (non-BPF).
>
> I would suggest you try the "ir-keytable -p all -t" and see if you can
> identify all the protocols and scancodes of your remote.

Did this, and found that all of the remote commands were nec-x and I
must have been mapping the others for some other device.  Included my
mappings for the other device to test the toml file with multiple
protocols, and it all seems to work correctly

[kodiuser@kodiarch ~]$ sudo ir-keytable -c
Old keytable cleared
[kodiuser@kodiarch ~]$ sudo ir-keytable -w /etc/ir-keytable/test.toml
Read AVR54 Remote table
Wrote 64 keycode(s) to driver
Protocols changed to nec rc-6
[kodiuser@kodiarch ~]$ grep 0x /etc/ir-keytable/test.toml | wc -l
64
[kodiuser@kodiarch ~]$


Now have the toml file as attached, and seems to work for what I need
and load properly.

One question; the format  as called out in the man page seems strange-
that we set a name to the first [[protocols]] entry, which appears to
be for the entire file- but we don't in subsequent [[protocols]]
entries.   Is that by design/purposeful?  Or am I reading the man page
example wrong?




Many thanks for helping me getting this sorted- i can use my remote again!! :)
c
>
>
> Sean

[-- Attachment #2: keymap.toml --]
[-- Type: application/octet-stream, Size: 2395 bytes --]

       [[protocols]]
       name = "AVR54 Remote"
       protocol = "nec"
       variant = "necx"
       [protocols.scancodes]
        0x847490 = "KEY_ENTER"
        0x84748a = "KEY_FASTFORWARD"
        0x84747e = "KEY_REWIND"
        0x84747f = "KEY_PLAY"
        0x847499 = "KEY_RECORD"
        0x84748c = "KEY_PAUSE"
        0x84747c = "KEY_X"
        0x84747d = "KEY_NEXTSONG"
        0x84747b = "KEY_PREVIOUSSONG"
        0x84748e = "KEY_UP"
        0x847492 = "KEY_DOWN"
        0x84748f = "KEY_LEFT"
        0x847491 = "KEY_RIGHT"
        0x847497 = "KEY_BACKSPACE"
        0x847496 = "KEY_MENU"
        0x80d864 = "KEY_POWER"

       [[protocols]]
       protocol = "rc-6"
       [protocols.scancodes]
        0x800f0400 = "KEY_NUMERIC_0"
        0x800f0401 = "KEY_NUMERIC_1"
        0x800f0402 = "KEY_NUMERIC_2"
        0x800f0403 = "KEY_NUMERIC_3"
        0x800f0404 = "KEY_NUMERIC_4"
        0x800f0405 = "KEY_NUMERIC_5"
        0x800f0406 = "KEY_NUMERIC_6"
        0x800f0407 = "KEY_NUMERIC_7"
        0x800f0408 = "KEY_NUMERIC_8"
        0x800f0409 = "KEY_NUMERIC_9"
        0x800f040a = "KEY_DELETE"
        0x800f040c = "KEY_SLEEP"
        0x800f040d = "KEY_MEDIA"
        0x800f040e = "KEY_MUTE"
        0x800f040f = "KEY_INFO"
        0x800f0410 = "KEY_VOLUMEUP"
        0x800f0411 = "KEY_VOLUMEDOWN"
        0x800f0412 = "KEY_CHANNELUP"
        0x800f0413 = "KEY_CHANNELDOWN"
        0x800f041c = "KEY_NUMERIC_POUND"
        0x800f041d = "KEY_NUMERIC_STAR"
        0x800f0424 = "KEY_DVD"
        0x800f0425 = "KEY_TUNER"
        0x800f0426 = "KEY_EPG"
        0x800f0427 = "KEY_ZOOM"
        0x800f0432 = "KEY_MODE"
        0x800f0433 = "KEY_PRESENTATION"
        0x800f0434 = "KEY_EJECTCD"
        0x800f043a = "KEY_BRIGHTNESSUP"
        0x800f0446 = "KEY_TV"
        0x800f0447 = "KEY_AUDIO"
        0x800f0448 = "KEY_PVR"
        0x800f0449 = "KEY_CAMERA"
        0x800f044a = "KEY_VIDEO"
        0x800f044c = "KEY_LANGUAGE"
        0x800f044d = "KEY_TITLE"
        0x800f044e = "KEY_PRINT"
        0x800f0450 = "KEY_RADIO"
        0x800f045a = "KEY_SUBTITLE"
        0x800f045b = "KEY_RED"
        0x800f045c = "KEY_GREEN"
        0x800f045d = "KEY_YELLOW"
        0x800f045e = "KEY_BLUE"
        0x800f0465 = "KEY_POWER2"
        0x800f046e = "KEY_PLAYPAUSE"
        0x800f046f = "KEY_PLAYER"
        0x800f0480 = "KEY_BRIGHTNESSDOWN"
        0x800f0481 = "KEY_PLAYPAUSE"

  reply	other threads:[~2020-01-23  3:32 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CABkW7JNg-7PNwSH2CsZVFHpqHdnaH5Ha4VS83r8_CaMox3wfQQ@mail.gmail.com>
2020-01-21  2:47 ` ir-keytable segfault when writing keymap from file camden lindsay
2020-01-21  8:33   ` Frantisek Rysanek
2020-01-21 15:53     ` camden lindsay
2020-01-21  9:20   ` Sean Young
2020-01-21 15:57     ` camden lindsay
2020-01-21 16:49       ` Sean Young
2020-01-21 19:18         ` camden lindsay
2020-01-21 19:29           ` Sean Young
2020-01-21 22:48             ` camden lindsay
2020-01-22  9:16               ` Sean Young
2020-01-23  3:32                 ` camden lindsay [this message]
2020-01-23  9:09                   ` Sean Young

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABkW7JNKq3N39pzmMJJ5B05V0fHZBqxmd68XThuDs6f+QC41Nw@mail.gmail.com \
    --to=camden.lindsay+kernel@gmail.com \
    --cc=linux-media@vger.kernel.org \
    --cc=sean@mess.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).