Re: [PATCH] Add support for Asus Europa Hybrid DVB-T card (SAA7134 SubVendor ID: 0x1043 Device ID: 0x4847)

2009-09-20 Thread Pham Thanh Nam
Hi, Danny
Please add an entry in:
linux/Documentation/video4linux/CARDLIST.saa7134
Regards.

Vào CN, ngày 20, 09 năm 2009 lúc 16:14 +0100, Danny Wood viết:
> Adds the device IDs and driver linking to allow the Asus Europa DVB-T
> card to operate with these drivers.
> The device has a SAA7134 chipset with a TD1316 Hybrid Tuner.
> All inputs work on the card including switching between DVB-T and
> Analogue TV, there is also no IR with this card.
> 
> (Resent with fixed email formatting)
> 
> Signed-off-by: Danny Wood 
> diff -ruN a/linux/drivers/media/video/saa7134/saa7134-cards.c 
> b/linux/drivers/media/video/saa7134/saa7134-cards.c
> --- a/linux/drivers/media/video/saa7134/saa7134-cards.c   2009-09-20 
> 09:10:03.0 +0100
> +++ b/linux/drivers/media/video/saa7134/saa7134-cards.c   2009-09-20 
> 09:07:21.0 +0100
> @@ -5317,6 +5317,30 @@
>   .amux = TV,
>   },
>   },
> + [SAA7134_BOARD_ASUS_EUROPA_HYBRID] = {
> + .name   = "Asus Europa Hybrid OEM",
> + .audio_clock= 0x00187de7,
> + .tuner_type = TUNER_PHILIPS_TD1316,
> + .radio_type = UNSET,
> + .tuner_addr = 0x61,
> + .radio_addr = ADDR_UNSET,
> + .tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
> + .mpeg   = SAA7134_MPEG_DVB,
> + .inputs = {{
> + .name   = name_tv,
> + .vmux   = 3,
> + .amux   = TV,
> + .tv = 1,
> + },{
> + .name   = name_comp1,
> + .vmux   = 4,
> + .amux   = LINE2,
> + },{
> + .name   = name_svideo,
> + .vmux   = 8,
> + .amux   = LINE2,
> + }},
> + },
>  
>  };
>  
> @@ -6455,6 +6479,12 @@
>   .subvendor= PCI_VENDOR_ID_PHILIPS,
>   .subdevice= 0x2004,
>   .driver_data  = SAA7134_BOARD_ZOLID_HYBRID_PCI,
> + },{
> + .vendor   = PCI_VENDOR_ID_PHILIPS,
> + .device   = PCI_DEVICE_ID_PHILIPS_SAA7134,
> + .subvendor= 0x1043,
> + .subdevice= 0x4847,
> + .driver_data  = SAA7134_BOARD_ASUS_EUROPA_HYBRID,
>   }, {
>   /* --- boards without eeprom + subsystem ID --- */
>   .vendor   = PCI_VENDOR_ID_PHILIPS,
> @@ -7162,6 +7192,7 @@
>   /* break intentionally omitted */
>   case SAA7134_BOARD_VIDEOMATE_DVBT_300:
>   case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
> + case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
>   {
>  
>   /* The Philips EUROPA based hybrid boards have the tuner
> diff -ruN a/linux/drivers/media/video/saa7134/saa7134-dvb.c 
> b/linux/drivers/media/video/saa7134/saa7134-dvb.c
> --- a/linux/drivers/media/video/saa7134/saa7134-dvb.c 2009-09-20 
> 09:10:03.0 +0100
> +++ b/linux/drivers/media/video/saa7134/saa7134-dvb.c 2009-09-20 
> 08:58:51.0 +0100
> @@ -1116,6 +1116,7 @@
>   break;
>   case SAA7134_BOARD_PHILIPS_EUROPA:
>   case SAA7134_BOARD_VIDEOMATE_DVBT_300:
> + case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
>   fe0->dvb.frontend = dvb_attach(tda10046_attach,
>  &philips_europa_config,
>  &dev->i2c_adap);
> diff -ruN a/linux/drivers/media/video/saa7134/saa7134.h 
> b/linux/drivers/media/video/saa7134/saa7134.h
> --- a/linux/drivers/media/video/saa7134/saa7134.h 2009-09-20 
> 09:10:03.0 +0100
> +++ b/linux/drivers/media/video/saa7134/saa7134.h 2009-09-20 
> 09:08:15.0 +0100
> @@ -298,6 +298,7 @@
>  #define SAA7134_BOARD_BEHOLD_X7 171
>  #define SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM 172
>  #define SAA7134_BOARD_ZOLID_HYBRID_PCI   173
> +#define SAA7134_BOARD_ASUS_EUROPA_HYBRID 174
>  
>  #define SAA7134_MAXBOARDS 32
>  #define SAA7134_INPUT_MAX 8
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] dibusb-mc: New USB ID for Humax/Coex DVB-T USB Stick 2.0 High Speed

2009-07-25 Thread Pham Thanh Nam
Signed-off-by: Pham Thanh Nam 
Add new USB ID for Humax/Coex DVB-T USB Stick 2.0 High Speed

diff -ur a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c
b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c
--- a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c   2009-07-12
20:52:32.0 +0700
+++ b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c   2009-07-12
20:12:56.0 +0700
@@ -42,6 +42,8 @@
 /* 11 */   { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC,
USB_PID_ARTEC_T14_WARM) },
 /* 12 */   { USB_DEVICE(USB_VID_LEADTEK,
USB_PID_WINFAST_DTV_DONGLE_COLD) },
 /* 13 */   { USB_DEVICE(USB_VID_LEADTEK,
USB_PID_WINFAST_DTV_DONGLE_WARM) },
+/* 14 */   { USB_DEVICE(USB_VID_HUMAX_COEX,
USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD) },
+/* 15 */   { USB_DEVICE(USB_VID_HUMAX_COEX,
USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM) },
{ } /* Terminating entry */
 };
 MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table);
@@ -66,7 +68,7 @@
/* parameter for the MPEG2-data transfer */
.stream = {
.type = USB_BULK,
-   .count = 7,
+   .count = 8,
.endpoint = 0x06,
.u = {
.bulk = {
@@ -88,7 +90,7 @@
 
.generic_bulk_ctrl_endpoint = 0x01,
 
-   .num_device_descs = 7,
+   .num_device_descs = 8,
.devices = {
{   "DiBcom USB2.0 DVB-T reference design (MOD3000P)",
{ &dibusb_dib3000mc_table[0], NULL },
@@ -119,6 +121,10 @@
{ &dibusb_dib3000mc_table[12], NULL },
{ &dibusb_dib3000mc_table[13], NULL },
},
+   {   "Humax/Coex DVB-T USB Stick 2.0 High Speed",
+   { &dibusb_dib3000mc_table[14], NULL },
+   { &dibusb_dib3000mc_table[15], NULL },
+   },
{ NULL },
}
 };
diff -ur a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
--- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12
20:52:32.0 +0700
+++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12
21:23:29.0 +0700
@@ -58,6 +58,7 @@
 #define USB_VID_GIGABYTE   0x1044
 #define USB_VID_YUAN   0x1164
 #define USB_VID_XTENSIONS  0x1ae7
+#define USB_VID_HUMAX_COEX 0x10b9
 
 /* Product IDs */
 #define USB_PID_ADSTECH_USB2_COLD  0xa333
@@ -259,5 +260,7 @@
 #define USB_PID_SONY_PLAYTV0x0003
 #define USB_PID_ELGATO_EYETV_DTT   0x0021
 #define USB_PID_ELGATO_EYETV_DTT_Dlx   0x0020
+#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD0x5000
+#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM0x5001
 
 #endif

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: AVerMedia AVerTV GO 007 FM, no radio sound (with routing enabled)

2009-07-16 Thread Pham Thanh Nam
Hi
So, should we add an option for this card? For example:
modprobe saa7134 card=57 radioontv
Regards

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: AVerMedia AVerTV GO 007 FM, no radio sound (with routing enabled)

2009-07-16 Thread Pham Thanh Nam
I read somewhere that the radio had ever worked for this card but has
stopped working with newer kernels. I had the same problem when I used
my card (AverMedia AverTV GO 007 FM Plus) with card=57 before. Radio had
worked with old kernel versions.
Try this:
hg clone http://linuxtv.org/hg/v4l-dvb
Edit v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c, go to
entry [SAA7134_BOARD_AVERMEDIA_GO_007_FM], in .radio = { ... },
change .amux = LINE1 to .amux = TV
make
then
sudo make install
and reboot.
I don't know why someone has changed it to LINE1. But if the
modification works for you, I think we need to modify a bit.
Please let us know if it works.

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] Add support for Humax/Coex DVB-T USB Stick 2.0 High Speed

2009-07-12 Thread Pham Thanh Nam
This patch adds support for Humax/Coex DVB-T USB Stick 2.0 High Speed
which is a very popular tuner sold in Vietnam.
Tested with at least 3 tuners.
It's very likely that this patch will not cause any regression.
Thanks

Signed-off-by: Pham Thanh Nam 
diff -ur a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c
b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c
--- a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c   2009-07-12
20:52:32.0 +0700
+++ b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c   2009-07-12
20:12:56.0 +0700
@@ -42,6 +42,8 @@
 /* 11 */   { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC,
USB_PID_ARTEC_T14_WARM) },
 /* 12 */   { USB_DEVICE(USB_VID_LEADTEK,
USB_PID_WINFAST_DTV_DONGLE_COLD) },
 /* 13 */   { USB_DEVICE(USB_VID_LEADTEK,
USB_PID_WINFAST_DTV_DONGLE_WARM) },
+/* 14 */   { USB_DEVICE(USB_VID_HUMAX_COEX,
USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD) },
+/* 15 */   { USB_DEVICE(USB_VID_HUMAX_COEX,
USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM) },
{ } /* Terminating entry */
 };
 MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table);
@@ -66,7 +68,7 @@
/* parameter for the MPEG2-data transfer */
.stream = {
.type = USB_BULK,
-   .count = 7,
+   .count = 8,
.endpoint = 0x06,
.u = {
.bulk = {
@@ -88,7 +90,7 @@
 
.generic_bulk_ctrl_endpoint = 0x01,
 
-   .num_device_descs = 7,
+   .num_device_descs = 8,
.devices = {
{   "DiBcom USB2.0 DVB-T reference design (MOD3000P)",
{ &dibusb_dib3000mc_table[0], NULL },
@@ -119,6 +121,10 @@
{ &dibusb_dib3000mc_table[12], NULL },
{ &dibusb_dib3000mc_table[13], NULL },
},
+   {   "Humax/Coex DVB-T USB Stick 2.0 High Speed",
+   { &dibusb_dib3000mc_table[14], NULL },
+   { &dibusb_dib3000mc_table[15], NULL },
+   },
{ NULL },
}
 };
diff -ur a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
--- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12
20:52:32.0 +0700
+++ b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h 2009-07-12
21:23:29.0 +0700
@@ -58,6 +58,7 @@
 #define USB_VID_GIGABYTE   0x1044
 #define USB_VID_YUAN   0x1164
 #define USB_VID_XTENSIONS  0x1ae7
+#define USB_VID_HUMAX_COEX 0x10b9
 
 /* Product IDs */
 #define USB_PID_ADSTECH_USB2_COLD  0xa333
@@ -259,5 +260,7 @@
 #define USB_PID_SONY_PLAYTV0x0003
 #define USB_PID_ELGATO_EYETV_DTT   0x0021
 #define USB_PID_ELGATO_EYETV_DTT_Dlx   0x0020
+#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD0x5000
+#define USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM        0x5001
 
 #endif
Signed-off-by: Pham Thanh Nam 
Add support for Humax/Coex DVB-T USB Stick 2.0 High Speed (popular in Vietnam)

diff -ur a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c
--- a/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c	2009-07-12 20:52:32.0 +0700
+++ b/linux/drivers/media/dvb/dvb-usb/dibusb-mc.c	2009-07-12 20:12:56.0 +0700
@@ -42,6 +42,8 @@
 /* 11 */	{ USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC,	USB_PID_ARTEC_T14_WARM) },
 /* 12 */	{ USB_DEVICE(USB_VID_LEADTEK,		USB_PID_WINFAST_DTV_DONGLE_COLD) },
 /* 13 */	{ USB_DEVICE(USB_VID_LEADTEK,		USB_PID_WINFAST_DTV_DONGLE_WARM) },
+/* 14 */	{ USB_DEVICE(USB_VID_HUMAX_COEX,	USB_PID_DVB_T_USB_STICK_HIGH_SPEED_COLD) },
+/* 15 */	{ USB_DEVICE(USB_VID_HUMAX_COEX,	USB_PID_DVB_T_USB_STICK_HIGH_SPEED_WARM) },
 			{ }		/* Terminating entry */
 };
 MODULE_DEVICE_TABLE (usb, dibusb_dib3000mc_table);
@@ -66,7 +68,7 @@
 	/* parameter for the MPEG2-data transfer */
 			.stream = {
 .type = USB_BULK,
-.count = 7,
+.count = 8,
 .endpoint = 0x06,
 .u = {
 	.bulk = {
@@ -88,7 +90,7 @@
 
 	.generic_bulk_ctrl_endpoint = 0x01,
 
-	.num_device_descs = 7,
+	.num_device_descs = 8,
 	.devices = {
 		{   "DiBcom USB2.0 DVB-T reference design (MOD3000P)",
 			{ &dibusb_dib3000mc_table[0], NULL },
@@ -119,6 +121,10 @@
 			{ &dibusb_dib3000mc_table[12], NULL },
 			{ &dibusb_dib3000mc_table[13], NULL },
 		},
+		{   "Humax/Coex DVB-T USB Stick 2.0 High Speed",
+			{ &dibusb_dib3000mc_table[14], NULL },
+			{ &dibusb_dib3000mc_table[15], NULL },
+		},
 		{ NULL },
 	}
 };
diff -ur a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h b/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
--- a/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h	2009-07

Re: [PATCH] pwc: add support for webcam snapshot button (2)

2009-01-12 Thread Pham Thanh Nam
Hi all
Maybe Linux Media team has not received my patch. I also CC'ed my former
email to linux-media mailing list, but it has been filtered out by Linux
Media mail server's policy for some reason, so I resend the patch.
*** PATCH BEGINS FROM HERE ***
This patch adds support for Philips webcam snapshot button as an
event input device, for consistency with other webcam drivers.
Signed-off-by: Pham Thanh Nam 

diff -uNr a/linux/drivers/media/video/pwc/Kconfig
b/linux/drivers/media/video/pwc/Kconfig
--- a/linux/drivers/media/video/pwc/Kconfig 2009-01-03
20:03:43.0 +0700
+++ b/linux/drivers/media/video/pwc/Kconfig 2009-01-09
16:09:45.0 +0700
@@ -35,3 +35,13 @@
  Say Y here in order to have the pwc driver generate verbose
debugging
  messages.
  A special module options 'trace' is used to control the verbosity.
+
+config USB_PWC_INPUT_EVDEV
+   bool "USB Philips Cameras input events device support"
+   default y
+   depends on USB_PWC && INPUT
+   ---help---
+ This option makes USB Philips cameras register the snapshot button
as
+ an input device to report button events.
+
+ If you are in doubt, say Y.
diff -uNr a/linux/drivers/media/video/pwc/pwc.h
b/linux/drivers/media/video/pwc/pwc.h
--- a/linux/drivers/media/video/pwc/pwc.h   2009-01-03 20:03:43.0
+0700
+++ b/linux/drivers/media/video/pwc/pwc.h   2009-01-09 17:06:04.0
+0700
@@ -38,6 +38,9 @@
 #include 
 #include 
 #include 
+#ifdef CONFIG_USB_PWC_INPUT_EVDEV
+#include 
+#endif
 
 #include "pwc-uncompress.h"
 #include 
@@ -256,6 +259,9 @@
int pan_angle;  /* in degrees * 100 */
int tilt_angle; /* absolute angle; 0,0 is home position 
*/
int snapshot_button_status; /* set to 1 when the user push the
button, reset to 0 when this value is read */
+#ifdef CONFIG_USB_PWC_INPUT_EVDEV
+   struct input_dev *button_dev;   /* webcam snapshot button input */
+#endif
 
/*** Misc. data ***/
wait_queue_head_t frameq;   /* When waiting for a frame to finish...
*/
diff -uNr a/linux/drivers/media/video/pwc/pwc-if.c
b/linux/drivers/media/video/pwc/pwc-if.c
--- a/linux/drivers/media/video/pwc/pwc-if.c2009-01-03
20:03:43.0 +0700
+++ b/linux/drivers/media/video/pwc/pwc-if.c2009-01-10
11:26:44.0 +0700
@@ -53,6 +53,7 @@
- Xavier Roche: QuickCam Pro 4000 ID
- Jens Knudsen: QuickCam Zoom ID
    - J. Debert: QuickCam for Notebooks ID
+   - Pham Thanh Nam: webcam snapshot button as an event input device
 */
 
 #include 
@@ -61,6 +62,13 @@
 #include 
 #include 
 #include 
+#ifdef CONFIG_USB_PWC_INPUT_EVDEV
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18)
+#include 
+#else
+#include 
+#endif
+#endif
 #include 
 #include 
 #include 
@@ -587,6 +595,23 @@
pdev->vframe_count);
 }
 
+static void pwc_snapshot_button(struct pwc_device *pdev, int down)
+{
+   if (down) {
+   PWC_TRACE("Snapshot button pressed.\n");
+   pdev->snapshot_button_status = 1;
+   } else {
+   PWC_TRACE("Snapshot button released.\n");
+   }
+
+#ifdef CONFIG_USB_PWC_INPUT_EVDEV
+   if (pdev->button_dev) {
+   input_report_key(pdev->button_dev, BTN_0, down);
+   input_sync(pdev->button_dev);
+   }
+#endif
+}
+
 static int pwc_rcv_short_packet(struct pwc_device *pdev, const struct
pwc_frame_buf *fbuf)
 {
int awake = 0;
@@ -604,13 +629,7 @@
pdev->vframes_error++;
}
if ((ptr[0] ^ pdev->vmirror) & 0x01) {
-   if (ptr[0] & 0x01) {
-   pdev->snapshot_button_status = 1;
-   PWC_TRACE("Snapshot button pressed.\n");
-   }
-   else {
-   PWC_TRACE("Snapshot button released.\n");
-   }
+   pwc_snapshot_button(pdev, ptr[0] & 0x01);
}
if ((ptr[0] ^ pdev->vmirror) & 0x02) {
if (ptr[0] & 0x02)
@@ -634,12 +653,7 @@
else if (pdev->type == 740 || pdev->type == 720) {
unsigned char *ptr = (unsigned char *)fbuf->data;
if ((ptr[0] ^ pdev->vmirror) & 0x01) {
-   if (ptr[0] & 0x01) {
-   pdev->snapshot_button_status = 1;
-   PWC_TRACE("Snapshot button pressed.\n");
-   }
-   else
-   PWC_TRACE("Snapshot button released.\n");
+   pwc_snapshot_button(pdev, ptr[0] & 0x01);
}
pdev->vmirror = ptr[0

Re: [PATCH] pwc: add support for webcam snapshot button (2)

2009-01-11 Thread Pham Thanh Nam
Hi,
Please review and consider to apply my patch, for following reasons:
1. Nobody complains anymore about it :)
2. Tested to guarantee working with 2 kinds of Logitech webcam.
3. It's quite clearly to see that event input support won't break
anything existing (and you still have option to disable it in kernel
configuration if you don't like).
4. Consistency of webcam snapshot button support as an event input
device with other webcam drivers.
5. Nowadays, many manufacturers are making webcams with a button on it
to use in their Windows software (e.g. the software Logitech's Quickcam
for Logitech webcams). The webcam snapshot button is very convenient
when you want to take an interesting moment on someone or something by
one hand (like a digital camera). I've asked a question about this
problem and it seems that solutions are still null for Linux.
But now I'm happy because I've found the way to use webcam snapshot
button with webcam applications (like Cheese) provided that my webcam
button is supported as an input device.
--
Sharing my experience on Ubuntu 8.10
1. Install gizmod (http://gizmod.sourceforge.net)
sudo apt-get install gizmod
2. Connect webcam and run gizmod at debug mode as superuser:
sudo gizmod -g
3. Open webcam with Cheese and press the snapshot button (button of pwc
webcam is only usable when webcam is being open)
When button is pressed, gizmod shows:
onEvent: Standard -- /dev/input/event12 | [EV_KEY]  c: 0x100 v:
0x1
and when button is released, gizmod shows:
onEvent: Standard -- /dev/input/event12 | [EV_KEY]  c: 0x100 v:
0x0
Pay attention to "c: 0x100 v:0x0" in the above line, we'll use these
numbers to configure gizmod.
4. Create /etc/gizmod/modules.d/010-Snapshot-Cheese.py with the
following content (the numbers 0x100 and 0x0 are used):
#***
  #*
#*
#*** 
#*** GizmoDaemon Config Script
#*** Snapshot Cheese config
#***
#*
  #*********
#***

"""

  Written by Pham Thanh Nam (phamthanhnam@gmail.com)
  
"""


# Imports
##

from GizmoDaemon import *
from GizmoScriptRunningApplication import *
import subprocess

ENABLED = True
VERSION_NEEDED = 3.2
INTERESTED_CLASSES = [GizmoEventClass.Standard]
INTERESTED_APPLICATION = "cheese"


# SnapshotCheese Class definition
##

class SnapshotCheese(GizmoScriptRunningApplication):
"""
Snapshot Cheese Event Mapping
"""


# Public Functions
##

def onDeviceEvent(self, Event, Gizmo = None):
"""
Called from Base Class' onEvent method.
See GizmodDispatcher.onEvent documention for an explanation of this
function
"""

# process the key
   if (Event.Code == 0x100) and (Event.Value == 0x0):
   Gizmod.Keyboards[0].createEvent(GizmoEventType.EV_KEY,
GizmoKey.KEY_SPACE)
   return True
   else:
   # unmatched event, keep processing
return False 


# Private Functions
##

def __init__(self):
""" 
Default Constructor
"""

GizmoScriptRunningApplication.__init__(self, ENABLED, VERSION_NEEDED,
INTERESTED_CLASSES, INTERESTED_APPLICATION)


# SnapshotCheese class end
##

# register the user script
SnapshotCheese()
5. Kill gizmod by Ctrl-C and run it again at normal mode:
sudo gizmod
6. Focus to active Cheese window, uncheck countdown option in Cheese and
try the snapshot button. Happy shots!
--

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html