Skip to contentSkip to conversation

Where is the v4l remote howto? (kworld 110)

DISCUSSION stuart 2 participants 3 messages Apr 20, 2009 – Apr 21, 2009 Media (V4L/DVB)

lore
Share & tools
lore

stuart

author
#0 lore raw

Hi...

Remote control for tuner cards appears dicey and a bit confusing. My impression is that it's no were near as rock solid as the efforts here (@ v4l) to support the tuner portion of the cards. So I've always been willing to put in some work. When I used an analog happauge tuner card I went to some length to get lirc working. Now as I switch to digital, I find my self wanting to use an old but well supported kworld 110 ATSC tuner. I assume this means I will be using v4l keyboard events instead of the lirc kernel modules. However, I've not found a good source of information as to how to go about this. It's more likely I haven't googled properly. Can anyone point me in the right direction?

...thanks

--
video4linux-list mailing list
Unsubscribe mailto:[email protected]?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

#1 lore raw

Here is the original patch that I had. It worked, just the repeat keys did not work. It has not been compiled against a recent kernel though, so it might need to small patching to compile.

________________________________
From: stuart <[email protected]>
To: [email protected]
Sent: Monday, April 20, 2009 9:46:39 AM
Subject: Where is the v4l remote howto? (kworld 110)

Hi...

Remote control for tuner cards appears dicey and a bit confusing. My impression is that it's no were near as rock solid as the efforts here (@ v4l) to support the tuner portion of the cards. So I've always been willing to put in some work. When I used an analog happauge tuner card I went to some length to get lirc working. Now as I switch to digital, I find my self wanting to use an old but well supported kworld 110 ATSC tuner. I assume this means I will be using v4l keyboard events instead of the lirc kernel modules. However, I've not found a good source of information as to how to go about this. It's more likely I haven't googled properly. Can anyone point me in the right direction?

...thanks

--
video4linux-list mailing list
Unsubscribe mailto:[email protected]?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

linux/drivers/media/common/ir-keymaps.c +54 -0
diff -U 3 -H -d -r -N -- a/linux/drivers/media/common/ir-keymaps.c b/linux/drivers/media/common/ir-keymaps.c
@@ -1828,3 +1828,57 @@
 };
 
 EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
+
+IR_KEYTAB_TYPE ir_codes_kworld_atsc110[IR_KEYTAB_SIZE] = {
+        [ 0x0 ] = KEY_1,
+        [ 0x1 ] = KEY_2,
+        [ 0x2 ] = KEY_3,
+        [ 0x3 ] = KEY_4,
+        [ 0x4 ] = KEY_5,
+        [ 0x5 ] = KEY_6,
+        [ 0x6 ] = KEY_7,
+        [ 0x7 ] = KEY_8,
+        [ 0x8 ] = KEY_9,
+        [ 0xa ] = KEY_0,
+        [ 0x9 ] = KEY_ESC,              /* UP ARROW */
+        [ 0xc ] = KEY_POWER,            /* POWER */
+        [ 0x0a ] = KEY_MUTE,            /* MUTE */
+        [ 0x0b ] = KEY_SEARCH,		/* SEARCH */
+        [ 0x0d ] = KEY_EPG,             /* GUIDE */
+        [ 0x1b ] = KEY_RECORD,          /* RECORD */
+        [ 0x16 ] = KEY_PAUSE,           /* PAUSE */
+        [ 0x1a ] = KEY_STOP,            /* STOP */
+        [ 0x1d ] = KEY_VOLUMEDOWN,      /* VOLUME- */
+        [ 0x1c ] = KEY_VOLUMEUP,        /* VOLUME+ */
+        [ 0x1f ] = KEY_CHANNELDOWN,     /* CHANNEL/PAGE- */
+        [ 0x1e ] = KEY_CHANNELUP,       /* CHANNEL/PAGE+ */
+        [ 0x10 ] = KEY_UP,              /* KEY_SCROLLUP */
+        [ 0x12 ] = KEY_LEFT,            /* KEY_BACK */
+        [ 0xe  ] = KEY_ENTER,           /* KEY_ENTER */
+        [ 0x13 ] = KEY_RIGHT,           /* KEY_FORWARD */
+        [ 0x11 ] = KEY_DOWN,            /* KEY_SCROLLDOWN */
+        [ 0x14 ] = KEY_MUTE,            /* MUTE */
+        [ 0x15 ] = KEY_AUDIO,           /* STEREO */
+        [ 0x16 ] = KEY_VIDEO,           /* SOURCE */
+        [ 0x17 ] = KEY_ZOOM,            /* ZOOM */
+        [ 0x18 ] = KEY_PRINT,           /* SHUTDOWN */
+        [ 0X19 ] = KEY_T,               /* TIMESHIFT */
+        [ 0x44 ] = KEY_PLAYPAUSE,       /* PAUSE/PLAY */
+        [ 0x45 ] = KEY_STOP,            /* STOP */
+        [ 0x40 ] = KEY_REWIND,          /* REWIND */
+        [ 0x41 ] = KEY_FORWARD,         /* FASTFORWARD */
+        [ 0x42 ] = KEY_PREVIOUSSONG,    /* PREVIOUS */
+        [ 0x43 ] = KEY_NEXTSONG,        /* NEXT */
+
+        // buttons a-h
+        [ 0x48 ] = KEY_A, 
+        [ 0x49 ] = KEY_B,
+        [ 0x4a ] = KEY_C,
+        [ 0x4b ] = KEY_D,
+        [ 0x4c ] = KEY_E,
+        [ 0x4d ] = KEY_F,
+        [ 0x4e ] = KEY_G,
+        [ 0x4f ] = KEY_H
+};
+
+EXPORT_SYMBOL_GPL(ir_codes_kworld_atsc110);
linux/drivers/media/video/ir-kbd-i2c.c +40 -6

84 lines not on this page · raw message

linux/drivers/media/video/saa7134/saa7134-cards.c +3 -0
diff -U 3 -H -d -r -N -- a/linux/drivers/media/video/saa7134/saa7134-cards.c b/linux/drivers/media/video/saa7134/saa7134-cards.c
@@ -4175,6 +4175,9 @@
 	case SAA7134_BOARD_PINNACLE_PCTV_110i:
 	case SAA7134_BOARD_PINNACLE_PCTV_310i:
 	case SAA7134_BOARD_UPMOST_PURPLE_TV:
+	case SAA7134_BOARD_KWORLD_ATSC110:
+		dev->has_remote = SAA7134_REMOTE_I2C;
+		break;
 	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
 		dev->has_remote = SAA7134_REMOTE_I2C;
 		break;
linux/drivers/media/video/saa7134/saa7134-i2c.c +1 -0
diff -U 3 -H -d -r -N -- a/linux/drivers/media/video/saa7134/saa7134-i2c.c b/linux/drivers/media/video/saa7134/saa7134-i2c.c
@@ -350,6 +350,7 @@
 
 	switch (client->addr) {
 		case 0x7a:
+		case 0x30:
 		case 0x47:
 		case 0x71:
 		{
linux/include/media/ir-common.h +1 -0
diff -U 3 -H -d -r -N -- a/linux/include/media/ir-common.h b/linux/include/media/ir-common.h
@@ -140,6 +140,7 @@
 extern IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_kworld_atsc110[IR_KEYTAB_SIZE];
 
 #endif
 

--
video4linux-list mailing list
Unsubscribe mailto:[email protected]?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

author
#2 lore raw

Thank you Dwaine for posting this kworld 110 patch to the v4l software.

So what you are indicating is that this patch, that has been around going on 2 years, is still not part of the v4l distribution? Why? (I have a feeling I should not direct this question to Dwaine as much as toward those controlling the v4l project.)

And if v4l is not going to support the IR feature of tuner cards... well... is there a way to easily disable the IR part of v4l? I mean, from what I can tell, v4l "gets in the way" of lirc making it impossible for lirc to access the IR hardware.

Dwaine, I just tried the patch on a version of v4l I pulled some time ago (about 8 months). It looks like more the half the "hunks" fail. Guess I'll have to do some hand merging if I want this to be successful.

I'll work on this a bit more. But now I'm wondering if this is what people actually do? I mean, is it worth anyone's time to keep fixing v4l (patching it) each time the old v4l gets over-written by a system update?

I'm guessing - but are most people giving up on their tuner's IR port and using dedicated IR / USB dongles instead?

-thanks again Dwaine

Quoted 15 lines · Dwaine Garden VE3GIF wrote:

Here is the original patch that I had. It worked, just the repeat keys did not work. It has not been compiled against a recent kernel though, so it might need to small patching to compile.

------------------------------------------------------------------------
*From:* stuart <[email protected]>
*To:* [email protected]
*Sent:* Monday, April 20, 2009 9:46:39 AM *Subject:* Where is the v4l remote howto? (kworld 110)

Hi...

Remote control for tuner cards appears dicey and a bit confusing. My impression is that it's no were near as rock solid as the efforts here (@ v4l) to support the tuner portion of the cards. So I've always been willing to put in some work. When I used an analog happauge tuner card I went to some length to get lirc working. Now as I switch to digital, I find my self wanting to use an old but well supported kworld 110 ATSC tuner. I assume this means I will be using v4l keyboard events instead of the lirc kernel modules. However, I've not found a good source of information as to how to go about this. It's more likely I haven't googled properly. Can anyone point me in the right direction?

Quoted 7 lines

...thanks

--
video4linux-list mailing list
Unsubscribe mailto:[email protected] <mailto:[email protected]>?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list

--
video4linux-list mailing list
Unsubscribe mailto:[email protected]?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/video4linux-list