On Wed, Nov 23, 2016 at 10:34:19PM +0000, Sean Young wrote: > > Not sure why Driver is (null), dvb_usb_cxusb is loaded. > > That's a mistake, I've fixed that now. Ah. I see the added module_name struct members. > > I tried -t and it generated events constantly, before I could press > > any keys. > > # ir-keytable -s rc1 -t > > Testing events. Please, press CTRL-C to abort. > > 1479903007.535509: event type EV_MSC(0x04): scancode = 0x00 > > 1479903007.535509: event type EV_SYN(0x00). > > 1479903007.635521: event type EV_MSC(0x04): scancode = 0x00 > > That's also been fixed. > yep, works nicely. Things are looking much better! As shown below I am able to clear a keytable and put in a fresh one. Having a bit of trouble with key remapping. I guess we still have to work out the protocol in use. Test details: # ir-keytable -v Found device /sys/class/rc/rc0/ Found device /sys/class/rc/rc1/ Found device /sys/class/rc/rc2/ Input sysfs node is /sys/class/rc/rc0/input8/ Event sysfs node is /sys/class/rc/rc0/input8/event5/ Parsing uevent /sys/class/rc/rc0/input8/event5/uevent /sys/class/rc/rc0/input8/event5/uevent uevent MAJOR=13 /sys/class/rc/rc0/input8/event5/uevent uevent MINOR=69 /sys/class/rc/rc0/input8/event5/uevent uevent DEVNAME=input/event5 Parsing uevent /sys/class/rc/rc0/uevent /sys/class/rc/rc0/uevent uevent NAME=rc-imon-mce /sys/class/rc/rc0/uevent uevent DRV_NAME=imon input device is /dev/input/event5 /sys/class/rc/rc0/protocols protocol rc-6 (enabled) Found /sys/class/rc/rc0/ (/dev/input/event5) with: Driver imon, table rc-imon-mce Supported protocols: rc-6 Enabled protocols: rc-6 Name: iMON Remote (15c2:ffdc) bus: 3, vendor/product: 15c2:ffdc, version: 0x0000 Input sysfs node is /sys/class/rc/rc1/input18/ Event sysfs node is /sys/class/rc/rc1/input18/event15/ Parsing uevent /sys/class/rc/rc1/input18/event15/uevent /sys/class/rc/rc1/input18/event15/uevent uevent MAJOR=13 /sys/class/rc/rc1/input18/event15/uevent uevent MINOR=79 /sys/class/rc/rc1/input18/event15/uevent uevent DEVNAME=input/event15 Parsing uevent /sys/class/rc/rc1/uevent /sys/class/rc/rc1/uevent uevent NAME=rc-dvico-mce /sys/class/rc/rc1/uevent uevent DRV_NAME=dvb_usb_cxusb input device is /dev/input/event15 /sys/class/rc/rc1/protocols protocol unknown (disabled) Found /sys/class/rc/rc1/ (/dev/input/event15) with: Driver dvb_usb_cxusb, table rc-dvico-mce Supported protocols: unknown Enabled protocols: Name: IR-receiver inside an USB DVB re bus: 3, vendor/product: 0fe9:db78, version: 0x827b Input sysfs node is /sys/class/rc/rc2/input19/ Event sysfs node is /sys/class/rc/rc2/input19/event16/ Parsing uevent /sys/class/rc/rc2/input19/event16/uevent /sys/class/rc/rc2/input19/event16/uevent uevent MAJOR=13 /sys/class/rc/rc2/input19/event16/uevent uevent MINOR=80 /sys/class/rc/rc2/input19/event16/uevent uevent DEVNAME=input/event16 Parsing uevent /sys/class/rc/rc2/uevent /sys/class/rc/rc2/uevent uevent NAME=rc-empty /sys/class/rc/rc2/uevent uevent DRV_NAME=dvb_usb_af9035 input device is /dev/input/event16 /sys/class/rc/rc2/protocols protocol nec (disabled) Found /sys/class/rc/rc2/ (/dev/input/event16) with: Driver dvb_usb_af9035, table rc-empty Supported protocols: nec Enabled protocols: Name: Leadtek WinFast DTV Dongle Dual bus: 3, vendor/product: 0413:6a05, version: 0x0200 Repeat delay = 500 ms, repeat period = 125 ms Repeat delay = 500 ms, repeat period = 125 ms Repeat delay = 500 ms, repeat period = 125 ms # ir-keytable -r -v -s rc1 Found device /sys/class/rc/rc0/ Found device /sys/class/rc/rc1/ Found device /sys/class/rc/rc2/ Input sysfs node is /sys/class/rc/rc1/input18/ Event sysfs node is /sys/class/rc/rc1/input18/event15/ Parsing uevent /sys/class/rc/rc1/input18/event15/uevent /sys/class/rc/rc1/input18/event15/uevent uevent MAJOR=13 /sys/class/rc/rc1/input18/event15/uevent uevent MINOR=79 /sys/class/rc/rc1/input18/event15/uevent uevent DEVNAME=input/event15 Parsing uevent /sys/class/rc/rc1/uevent /sys/class/rc/rc1/uevent uevent NAME=rc-dvico-mce /sys/class/rc/rc1/uevent uevent DRV_NAME=dvb_usb_cxusb input device is /dev/input/event15 /sys/class/rc/rc1/protocols protocol unknown (disabled) Opening /dev/input/event15 Input Protocol version: 0x00010001 Enabled protocols: scancode 0xfe01 = KEY_RECORD (0xa7) scancode 0xfe02 = KEY_TV (0x179) scancode 0xfe03 = KEY_0 (0x0b) scancode 0xfe05 = KEY_VOLUMEDOWN (0x72) scancode 0xfe07 = KEY_4 (0x05) scancode 0xfe09 = KEY_CHANNELDOWN (0x193) scancode 0xfe0a = KEY_EPG (0x16d) scancode 0xfe0b = KEY_1 (0x02) scancode 0xfe0d = KEY_STOP (0x80) scancode 0xfe0e = KEY_MP3 (0x187) scancode 0xfe0f = KEY_PREVIOUSSONG (0xa5) scancode 0xfe11 = KEY_CHANNELUP (0x192) scancode 0xfe12 = KEY_NEXTSONG (0xa3) scancode 0xfe13 = KEY_ANGLE (0x173) scancode 0xfe15 = KEY_VOLUMEUP (0x73) scancode 0xfe16 = KEY_SETUP (0x8d) scancode 0xfe17 = KEY_2 (0x03) scancode 0xfe19 = KEY_OPEN (0x86) scancode 0xfe1a = KEY_DVD (0x185) scancode 0xfe1b = KEY_3 (0x04) scancode 0xfe1e = KEY_FAVORITES (0x16c) scancode 0xfe1f = KEY_ZOOM (0x174) scancode 0xfe42 = KEY_ENTER (0x1c) scancode 0xfe43 = KEY_REWIND (0xa8) scancode 0xfe46 = KEY_POWER2 (0x164) scancode 0xfe47 = KEY_PLAYPAUSE (0xa4) scancode 0xfe48 = KEY_7 (0x08) scancode 0xfe49 = KEY_BACK (0x9e) scancode 0xfe4c = KEY_8 (0x09) scancode 0xfe4d = KEY_MENU (0x8b) scancode 0xfe4e = KEY_POWER (0x74) scancode 0xfe4f = KEY_FASTFORWARD (0xd0) scancode 0xfe50 = KEY_5 (0x06) scancode 0xfe51 = KEY_UP (0x67) scancode 0xfe52 = KEY_CAMERA (0xd4) scancode 0xfe53 = KEY_DOWN (0x6c) scancode 0xfe54 = KEY_6 (0x07) scancode 0xfe55 = KEY_TAB (0x0f) scancode 0xfe57 = KEY_MUTE (0x71) scancode 0xfe58 = KEY_9 (0x0a) scancode 0xfe59 = KEY_INFO (0x166) scancode 0xfe5a = KEY_TUNER (0x182) scancode 0xfe5b = KEY_LEFT (0x69) scancode 0xfe5e = KEY_OK (0x160) scancode 0xfe5f = KEY_RIGHT (0x6a) # ir-keytable -s rc1 -t Testing events. Please, press CTRL-C to abort. 1479985656.760267: event type EV_MSC(0x04): scancode = 0xfe47 1479985656.760267: event type EV_KEY(0x01) key_down: KEY_PLAYPAUSE(0x00a4) 1479985656.760267: event type EV_SYN(0x00). 1479985657.011045: event type EV_KEY(0x01) key_up: KEY_PLAYPAUSE(0x00a4) 1479985657.011045: event type EV_SYN(0x00). 1479985671.812267: event type EV_MSC(0x04): scancode = 0xfe53 1479985671.812267: event type EV_KEY(0x01) key_down: KEY_DOWN(0x006c) 1479985671.812267: event type EV_SYN(0x00). 1479985672.063048: event type EV_KEY(0x01) key_up: KEY_DOWN(0x006c) 1479985672.063048: event type EV_SYN(0x00). 1479985674.520279: event type EV_MSC(0x04): scancode = 0xfe52 1479985674.520279: event type EV_KEY(0x01) key_down: KEY_CAMERA(0x00d4) 1479985674.520279: event type EV_SYN(0x00). 1479985674.771044: event type EV_KEY(0x01) key_up: KEY_CAMERA(0x00d4) 1479985674.771044: event type EV_SYN(0x00). 1479985675.628312: event type EV_MSC(0x04): scancode = 0xfe4d 1479985675.628312: event type EV_KEY(0x01) key_down: KEY_MENU(0x008b) 1479985675.628312: event type EV_SYN(0x00). 1479985675.879045: event type EV_KEY(0x01) key_up: KEY_MENU(0x008b) 1479985675.879045: event type EV_SYN(0x00). 1479985677.732236: event type EV_MSC(0x04): scancode = 0xfe49 1479985677.732236: event type EV_KEY(0x01) key_down: KEY_BACK(0x009e) 1479985677.732236: event type EV_SYN(0x00). 1479985677.983043: event type EV_KEY(0x01) key_up: KEY_BACK(0x009e) 1479985677.983043: event type EV_SYN(0x00). 1479985687.464239: event type EV_MSC(0x04): scancode = 0xfe5e 1479985687.464239: event type EV_KEY(0x01) key_down: KEY_OK(0x0160) 1479985687.464239: event type EV_SYN(0x00). 1479985687.715043: event type EV_KEY(0x01) key_up: KEY_OK(0x0160) 1479985687.715043: event type EV_SYN(0x00). 1479985696.396382: event type EV_MSC(0x04): scancode = 0xfe42 1479985696.396382: event type EV_KEY(0x01) key_down: KEY_ENTER(0x001c) 1479985696.396382: event type EV_SYN(0x00). 1479985696.647049: event type EV_KEY(0x01) key_up: KEY_ENTER(0x001c) 1479985696.647049: event type EV_SYN(0x00). 1479985701.220194: event type EV_MSC(0x04): scancode = 0xfe0d 1479985701.220194: event type EV_KEY(0x01) key_down: KEY_STOP(0x0080) 1479985701.220194: event type EV_SYN(0x00). 1479985701.471047: event type EV_KEY(0x01) key_up: KEY_STOP(0x0080) 1479985701.471047: event type EV_SYN(0x00). ^C # diff dvice_mce dvico_mce_new --- dvico_mce 2016-11-24 22:18:48.000000000 +1100 +++ dvico_mce_new 2016-11-24 22:11:02.000000000 +1100 @@ -12,7 +12,7 @@ 0xfe5b KEY_LEFT 0xfe5f KEY_RIGHT 0xfe53 KEY_DOWN -0xfe5e KEY_OK +0xfe5e KEY_ENTER 0xfe59 KEY_INFO 0xfe55 KEY_TAB 0xfe0f KEY_PREVIOUSSONG # ir-keyable -v -s rc1 -c Found device /sys/class/rc/rc0/ Found device /sys/class/rc/rc1/ Found device /sys/class/rc/rc2/ Input sysfs node is /sys/class/rc/rc1/input18/ Event sysfs node is /sys/class/rc/rc1/input18/event15/ Parsing uevent /sys/class/rc/rc1/input18/event15/uevent /sys/class/rc/rc1/input18/event15/uevent uevent MAJOR=13 /sys/class/rc/rc1/input18/event15/uevent uevent MINOR=79 /sys/class/rc/rc1/input18/event15/uevent uevent DEVNAME=input/event15 Parsing uevent /sys/class/rc/rc1/uevent /sys/class/rc/rc1/uevent uevent NAME=rc-dvico-mce /sys/class/rc/rc1/uevent uevent DRV_NAME=dvb_usb_cxusb input device is /dev/input/event15 /sys/class/rc/rc1/protocols protocol unknown (disabled) Opening /dev/input/event15 Input Protocol version: 0x00010001 Deleting entry 1 Deleting entry 2 Deleting entry 3 Deleting entry 4 Deleting entry 5 Deleting entry 6 Deleting entry 7 Deleting entry 8 Deleting entry 9 Deleting entry 10 Deleting entry 11 Deleting entry 12 Deleting entry 13 Deleting entry 14 Deleting entry 15 Deleting entry 16 Deleting entry 17 Deleting entry 18 Deleting entry 19 Deleting entry 20 Deleting entry 21 Deleting entry 22 Deleting entry 23 Deleting entry 24 Deleting entry 25 Deleting entry 26 Deleting entry 27 Deleting entry 28 Deleting entry 29 Deleting entry 30 Deleting entry 31 Deleting entry 32 Deleting entry 33 Deleting entry 34 Deleting entry 35 Deleting entry 36 Deleting entry 37 Deleting entry 38 Deleting entry 39 Deleting entry 40 Deleting entry 41 Deleting entry 42 Deleting entry 43 Deleting entry 44 Deleting entry 45 Deleting entry 46 Old keytable cleared # ir-keyable -v -s rc1 -w dvico-mce-new Parsing ./dvico_mce_new keycode file parsing 0xfe02=KEY_TV: value=377 parsing 0xfe0e=KEY_MP3: value=391 parsing 0xfe1a=KEY_DVD: value=389 parsing 0xfe1e=KEY_FAVORITES: value=364 parsing 0xfe16=KEY_SETUP: value=141 parsing 0xfe46=KEY_POWER2: value=356 parsing 0xfe0a=KEY_EPG: value=365 parsing 0xfe49=KEY_BACK: value=158 parsing 0xfe4d=KEY_MENU: value=139 parsing 0xfe51=KEY_UP: value=103 parsing 0xfe5b=KEY_LEFT: value=105 parsing 0xfe5f=KEY_RIGHT: value=106 parsing 0xfe53=KEY_DOWN: value=108 parsing 0xfe5e=KEY_ENTER: value=28 parsing 0xfe59=KEY_INFO: value=358 parsing 0xfe55=KEY_TAB: value=15 parsing 0xfe0f=KEY_PREVIOUSSONG: value=165 parsing 0xfe12=KEY_NEXTSONG: value=163 parsing 0xfe42=KEY_ENTER: value=28 parsing 0xfe15=KEY_VOLUMEUP: value=115 parsing 0xfe05=KEY_VOLUMEDOWN: value=114 parsing 0xfe11=KEY_CHANNELUP: value=402 parsing 0xfe09=KEY_CHANNELDOWN: value=403 parsing 0xfe52=KEY_CAMERA: value=212 parsing 0xfe5a=KEY_TUNER: value=386 parsing 0xfe19=KEY_OPEN: value=134 parsing 0xfe0b=KEY_1: value=2 parsing 0xfe17=KEY_2: value=3 parsing 0xfe1b=KEY_3: value=4 parsing 0xfe07=KEY_4: value=5 parsing 0xfe50=KEY_5: value=6 parsing 0xfe54=KEY_6: value=7 parsing 0xfe48=KEY_7: value=8 parsing 0xfe4c=KEY_8: value=9 parsing 0xfe58=KEY_9: value=10 parsing 0xfe13=KEY_ANGLE: value=371 parsing 0xfe03=KEY_0: value=11 parsing 0xfe1f=KEY_ZOOM: value=372 parsing 0xfe43=KEY_REWIND: value=168 parsing 0xfe47=KEY_PLAYPAUSE: value=164 parsing 0xfe4f=KEY_FASTFORWARD: value=208 parsing 0xfe57=KEY_MUTE: value=113 parsing 0xfe0d=KEY_STOP: value=128 parsing 0xfe01=KEY_RECORD: value=167 parsing 0xfe4e=KEY_POWER: value=116 Read dvico_mce table Found device /sys/class/rc/rc0/ Found device /sys/class/rc/rc1/ Found device /sys/class/rc/rc2/ Input sysfs node is /sys/class/rc/rc1/input18/ Event sysfs node is /sys/class/rc/rc1/input18/event15/ Parsing uevent /sys/class/rc/rc1/input18/event15/uevent /sys/class/rc/rc1/input18/event15/uevent uevent MAJOR=13 /sys/class/rc/rc1/input18/event15/uevent uevent MINOR=79 /sys/class/rc/rc1/input18/event15/uevent uevent DEVNAME=input/event15 Parsing uevent /sys/class/rc/rc1/uevent /sys/class/rc/rc1/uevent uevent NAME=rc-dvico-mce /sys/class/rc/rc1/uevent uevent DRV_NAME=dvb_usb_cxusb input device is /dev/input/event15 /sys/class/rc/rc1/protocols protocol unknown (disabled) Opening /dev/input/event15 Input Protocol version: 0x00010001 fe4e=0074 fe01=00a7 fe0d=0080 fe57=0071 fe4f=00d0 fe47=00a4 fe43=00a8 fe1f=0174 fe03=000b fe13=0173 fe58=000a fe4c=0009 fe48=0008 fe54=0007 fe50=0006 fe07=0005 fe1b=0004 fe17=0003 fe0b=0002 fe19=0086 fe5a=0182 fe52=00d4 fe09=0193 fe11=0192 fe05=0072 fe15=0073 fe42=001c fe12=00a3 fe0f=00a5 fe55=000f fe59=0166 fe5e=001c fe53=006c fe5f=006a fe5b=0069 fe51=0067 fe4d=008b fe49=009e fe0a=016d fe46=0164 fe16=008d fe1e=016c fe1a=0185 fe0e=0187 fe02=0179 Wrote 45 keycode(s) to driver /sys/class/rc/rc1//protocols: Invalid argument Couldn't change the IR protocols # ir-keyable -v -s rc1 -r Found device /sys/class/rc/rc0/ Found device /sys/class/rc/rc1/ Found device /sys/class/rc/rc2/ Input sysfs node is /sys/class/rc/rc1/input18/ Event sysfs node is /sys/class/rc/rc1/input18/event15/ Parsing uevent /sys/class/rc/rc1/input18/event15/uevent /sys/class/rc/rc1/input18/event15/uevent uevent MAJOR=13 /sys/class/rc/rc1/input18/event15/uevent uevent MINOR=79 /sys/class/rc/rc1/input18/event15/uevent uevent DEVNAME=input/event15 Parsing uevent /sys/class/rc/rc1/uevent /sys/class/rc/rc1/uevent uevent NAME=rc-dvico-mce /sys/class/rc/rc1/uevent uevent DRV_NAME=dvb_usb_cxusb input device is /dev/input/event15 /sys/class/rc/rc1/protocols protocol unknown (disabled) Opening /dev/input/event15 Input Protocol version: 0x00010001 Enabled protocols: scancode 0xfe01 = KEY_RECORD (0xa7) scancode 0xfe02 = KEY_TV (0x179) scancode 0xfe03 = KEY_0 (0x0b) scancode 0xfe05 = KEY_VOLUMEDOWN (0x72) scancode 0xfe07 = KEY_4 (0x05) scancode 0xfe09 = KEY_CHANNELDOWN (0x193) scancode 0xfe0a = KEY_EPG (0x16d) scancode 0xfe0b = KEY_1 (0x02) scancode 0xfe0d = KEY_STOP (0x80) scancode 0xfe0e = KEY_MP3 (0x187) scancode 0xfe0f = KEY_PREVIOUSSONG (0xa5) scancode 0xfe11 = KEY_CHANNELUP (0x192) scancode 0xfe12 = KEY_NEXTSONG (0xa3) scancode 0xfe13 = KEY_ANGLE (0x173) scancode 0xfe15 = KEY_VOLUMEUP (0x73) scancode 0xfe16 = KEY_SETUP (0x8d) scancode 0xfe17 = KEY_2 (0x03) scancode 0xfe19 = KEY_OPEN (0x86) scancode 0xfe1a = KEY_DVD (0x185) scancode 0xfe1b = KEY_3 (0x04) scancode 0xfe1e = KEY_FAVORITES (0x16c) scancode 0xfe1f = KEY_ZOOM (0x174) scancode 0xfe42 = KEY_ENTER (0x1c) scancode 0xfe43 = KEY_REWIND (0xa8) scancode 0xfe46 = KEY_POWER2 (0x164) scancode 0xfe47 = KEY_PLAYPAUSE (0xa4) scancode 0xfe48 = KEY_7 (0x08) scancode 0xfe49 = KEY_BACK (0x9e) scancode 0xfe4c = KEY_8 (0x09) scancode 0xfe4d = KEY_MENU (0x8b) scancode 0xfe4e = KEY_POWER (0x74) scancode 0xfe4f = KEY_FASTFORWARD (0xd0) scancode 0xfe50 = KEY_5 (0x06) scancode 0xfe51 = KEY_UP (0x67) scancode 0xfe52 = KEY_CAMERA (0xd4) scancode 0xfe53 = KEY_DOWN (0x6c) scancode 0xfe54 = KEY_6 (0x07) scancode 0xfe55 = KEY_TAB (0x0f) scancode 0xfe57 = KEY_MUTE (0x71) scancode 0xfe58 = KEY_9 (0x0a) scancode 0xfe59 = KEY_INFO (0x166) scancode 0xfe5a = KEY_TUNER (0x182) scancode 0xfe5b = KEY_LEFT (0x69) scancode 0xfe5e = KEY_ENTER (0x1c) ##NB scancode 0xfe5f = KEY_RIGHT (0x6a) # cat /sys/class/rc/rc1/protocols unknown Mapping KEY_OK to KEY_ENTER worked (ie the behaviour when the OK key was pressed changed), but others did not. For example I mapped KEY_BACK (0x9e, decimal 158) to KEY_ESC (001) and KEY_PLAYPAUSE (0xa4, 164) to KEY_PAUSE (119). But I did not observe any change in behaviour for these two. ir-keytable -t did show the correct KEY_foo and descimal code, eg. # ir-keytable -s rc1 -t Testing events. Please, press CTRL-C to abort. 1479989250.528206: event type EV_MSC(0x04): scancode = 0xfe47 1479989250.528206: event type EV_KEY(0x01) key_down: KEY_PAUSE(0x0077) 1479989250.528206: event type EV_SYN(0x00). 1479989250.779044: event type EV_KEY(0x01) key_up: KEY_PAUSE(0x0077) 1479989250.779044: event type EV_SYN(0x00). ^C I notice that KEY_ENTER existed in the original keymap but _PAUSE and _ESC don't, but I don't understand the significance of that. Vince -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html