c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
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_ */