heise online · c't · iX · Technology Review · Telepolis · mobil · Security · Netze · heise open · heise resale · Autos · c't-TV · Jobs · Kiosk
Zum Inhalt
c't

c't Projekte - c't-Bot und c't-Sim - Mailinglisten

c't-Bot und c't-Sim


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] Alle bekannten FB-Codes in rc5-codes.h

Absender: Michail Brzitwa
Datum: Sa, 18.03.2006 12:21:43
In-reply-to: <200603181146.51516.bbe@xxxxxxxx>
References: <200603172204.17736.michail@xxxxxxxxxx> <200603181052.40665.michail@xxxxxxxxxx> <200603181146.51516.bbe@xxxxxxxx>


Am Samstag, 18. März 2006 11:46 schrieb Benjamin Benz:
> Sicherlich nicht. Aber vielleicht sollte man trotzdem möglichst bald klein
> Anfangen. Dann kann jeder recht schnell seine Codes als Patch einreichen.

Ok, auch gut. Dann hier mein rc5-codes.h-Patch mit den Hauppauge-Codes
und den "Conrad Promo 8"-Codes von Randolf. Gruß,
-- 
Michail Brzitwa           <michail@xxxxxxxxxx>            +49-511-343215
Index: rc5-codes.h
===================================================================
RCS file: /ctbot/ct-Bot/include/rc5-codes.h,v
retrieving revision 1.4
diff -u -r1.4 rc5-codes.h
--- rc5-codes.h	17 Mar 2006 17:09:24 -0000	1.4
+++ rc5-codes.h	18 Mar 2006 12:28:20 -0000
@@ -28,13 +28,123 @@
 #ifndef RC5CODE_H_
 #define RC5CODE_H_
 
+
+/*!
+ * Definition RC5-Codes verschiedener Fernbedienungen. Wer eine neue FB
+ * einfügen will, sollte
+ * 
+ * 	- 	eine Definition per cut&paste duplizieren,
+ * 	- 	eine geeignete Konstante RC_HAVE_{Herstellername}_{Fernbedienungsname}
+ * 		wählen,
+ * 	-	diese Konstante in die obere Liste der FB-Selektion eintragen,
+ * 	-	die alte FB-Konstante Konstante im kopierten Bereich ersetzen,
+ * 	-	festlegen, ob die FB ein Jog-Dial hat, ob der RC5_NOT_AVAIL-Code
+ * 		wirklich nie von der FB generiert werden kann (0xFFFF ist meisst ok)
+ * 	-	die eigentlichen, herausgefunden Codes eintragen.
+ * 
+ * Ist das erledigt, und funktioniert die neue FB-Definition, kann diese
+ * in der c't-bot-Entwicklerliste vorgestellt werden. (mb/18.03.2006)
+ */
+
+
+
+#define RC_HAVE_HAUPPAUGE_WINTV
+#undef RC_HAVE_CONRAD_PROMO8
+
+
+
+
+/*!
+ * Fernbedienung Hauppauge (simple WinTV-Karten Fernbedienung)
+ */
+
+#ifdef RC_HAVE_HAUPPAUGE_WINTV
+	#define RC_HAVE_CODES							/*!< Definiert Codes */
+	#undef JOG_DIAL									/*!< Hat keinen Jog Dial */
+
+	#define RC5_MASK		(RC5_COMMAND)
+	#define RC5_NOT_AVAIL	(0xFFFF)				/*!< Code für Taste nicht vorhanden */
+
+	#define	RC5_CODE_0		(0x1000 & RC5_MASK)		/*!< Taste 0 */
+	#define	RC5_CODE_1		(0x1001 & RC5_MASK)		/*!< Taste 1 */
+	#define	RC5_CODE_2		(0x1002 & RC5_MASK)		/*!< Taste 2 */
+	#define	RC5_CODE_3		(0x1003 & RC5_MASK)		/*!< Taste 3 */
+	#define	RC5_CODE_4		(0x1004 & RC5_MASK)		/*!< Taste 4 */
+	#define	RC5_CODE_5		(0x1005 & RC5_MASK)		/*!< Taste 5 */
+	#define	RC5_CODE_6		(0x1006 & RC5_MASK)		/*!< Taste 6 */
+	#define	RC5_CODE_7		(0x1007 & RC5_MASK)		/*!< Taste 7 */
+	#define	RC5_CODE_8		(0x1008 & RC5_MASK)		/*!< Taste 8 */
+	#define	RC5_CODE_9		(0x1009 & RC5_MASK)		/*!< Taste 9 */
+
+	#define	RC5_CODE_PWR	(0x1026 & RC5_MASK)		/*!< Taste Minimize */
+	#define	RC5_CODE_VIEW	(0x102E & RC5_MASK)		/*!< Taste Full Screen */
+	#define	RC5_CODE_SELECT	(0x1022 & RC5_MASK)		/*!< Taste Source */
+
+	#define	RC5_CODE_UP		(0x1020 & RC5_MASK)		/*!< Taste CH + */
+	#define	RC5_CODE_DOWN	(0x1021 & RC5_MASK)		/*!< Taste CH - */
+	#define	RC5_CODE_LEFT	(0x1011 & RC5_MASK)		/*!< Taste VOL- */
+	#define	RC5_CODE_RIGHT	(0x1010 & RC5_MASK)		/*!< Taste VOL+ */
+
+	#define RC5_CODE_FWD	RC5_NOT_AVAIL			/*!< Taste nicht vorhanden */
+	#define RC5_CODE_BWD	RC5_NOT_AVAIL			/*!< Taste nicht vorhanden */
+	#define RC5_CODE_RED	RC5_NOT_AVAIL			/*!< Taste nicht vorhanden */
+	#define RC5_CODE_GREEN	RC5_NOT_AVAIL			/*!< Taste nicht vorhanden */
+	#define RC5_CODE_YELLOW	RC5_NOT_AVAIL			/*!< Taste nicht vorhanden */
+	#define RC5_CODE_BLUE	RC5_NOT_AVAIL			/*!< Taste nicht vorhanden */
+
+#endif /* RC_HAVE_HAUPPAUGE_WINTV */
+
+
+/*!
+ * Fernbedienung Conrad Promo 8
+ */
+
+#ifdef RC_HAVE_CONRAD_PROMO8
+	#define RC_HAVE_CODES							/*!< Definiert Codes */
+	#undef JOG_DIAL									/*!< Hat keinen Jog Dial */
+
+	#define RC5_MASK		(RC5_COMMAND)
+	#define RC5_NOT_AVAIL	(0xFFFF)				/*!< Code für Taste nicht vorhanden */
+
+	#define RC5_CODE_0		(0x3000 & RC5_MASK)		/*!< Taste 0 */
+	#define RC5_CODE_1		(0x3001 & RC5_MASK)		/*!< Taste 1 */
+	#define RC5_CODE_2		(0x3002 & RC5_MASK)		/*!< Taste 2 */
+	#define RC5_CODE_3		(0x3003 & RC5_MASK)		/*!< Taste 3 */
+	#define RC5_CODE_4		(0x3004 & RC5_MASK)		/*!< Taste 4 */
+	#define RC5_CODE_5		(0x3005 & RC5_MASK)		/*!< Taste 5 */
+	#define RC5_CODE_6		(0x3006 & RC5_MASK)		/*!< Taste 6 */
+	#define RC5_CODE_7		(0x3007 & RC5_MASK)		/*!< Taste 7 */
+	#define RC5_CODE_8		(0x3008 & RC5_MASK)		/*!< Taste 8 */
+	#define RC5_CODE_9		(0x3009 & RC5_MASK)		/*!< Taste 9 */
+
+	#define RC5_CODE_UP		(0x2010 & RC5_MASK)		/*!< Taste Hoch */
+	#define RC5_CODE_DOWN	(0x2011 & RC5_MASK)		/*!< Taste Runter */
+	#define RC5_CODE_LEFT	(0x2015 & RC5_MASK)		/*!< Taste Links */
+	#define RC5_CODE_RIGHT	(0x2016 & RC5_MASK)		/*!< Taste Rechts */
+	#define RC5_CODE_PWR	(0x300C & RC5_MASK)		/*!< Taste An/Aus */
+
+	#define RC5_CODE_RED	(0x202B & RC5_MASK)		/*!< Rote Taste */
+	#define RC5_CODE_GREEN	(0x202C & RC5_MASK)		/*!< Grüne Taste */
+	#define RC5_CODE_YELLOW	(0x202D & RC5_MASK)		/*!< Gelbe Taste */
+	#define RC5_CODE_BLUE	(0x202E & RC5_MASK)		/*!< Blaue Taste */
+	#define RC5_CODE_VIEW	(0x2012 & RC5_MASK)		/*!< Instant View Taste */
+
+
+	#define RC5_CODE_SELECT	(0x300D & RC5_MASK)		/*!< Select Taste */
+	#define RC5_CODE_BWD	(0x3011 & RC5_MASK)		/*!< Backward Taste */
+	#define RC5_CODE_FWD	(0x3010 & RC5_MASK)		/*!< Forward Taste */
+#endif
+
+
 /*!
  * Fernbedienung mit Jog-Dial-Rad, 
  * Achtung: Die Adress-Bits muessen auf die Fernbedienung angepasst werden!
  * Siehe hierzu rc5.c @see RC5_ADDRESS
  */
-#define noJOG_DIAL
 
+#ifndef RC_HAVE_CODES			/*!< Default RC5-Codes falls keine FB definiert wurde */
+ 
+#undef JOG_DIAL
 #define RC5_MASK (RC5_COMMAND)	/*!< Welcher Teil des Kommandos wird ausgewertet? */
 
 #define RC5_CODE_0	(0x3940 & RC5_MASK)		/*!< Taste 0 */
@@ -89,5 +199,7 @@
 	#define RC5_CODE_JOG_R6		(0x396E & RC5_MASK)	/*!< Taste Jog-Dial Rechts 6 */
 	#define RC5_CODE_JOG_R7		(0x3A6F & RC5_MASK)	/*!< Taste Jog-Dial Rechts 7 */
 #endif	/* JOG_DIAL */
+
+#endif /* !RC_HAVE_CODES */
 
 #endif /* RC5CODE_H_ */


Copyright © 2007 Heise Zeitschriften Verlag Kritik, Anregungen bitte an c't-WWW Datenschutzhinweis   Impressum