mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-27 07:22:57 +02:00
Origin commit data
------------------
Commit: 58c1650b72
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2013-01-11 (Fri, 11 Jan 2013)
74 lines
3.4 KiB
C
74 lines
3.4 KiB
C
/*
|
|
* public definitions for the generic IR / input driver.
|
|
*
|
|
* Copyright (C) 2008-2012 Coolstream International Limited
|
|
*
|
|
*/
|
|
#ifndef __CS_IR_GENERIC_H__
|
|
#define __CS_IR_GENERIC_H__
|
|
|
|
/* Linux character device name */
|
|
#define CS_IR_DEVICE_NAME "cs_ir"
|
|
#define CS_IR_DEVICE_MAJOR 240
|
|
|
|
/* max. possible key map size */
|
|
#define CS_IR_MAX_KEY_MAP_SIZE 0x10000
|
|
|
|
/* Possible handled IR protocols */
|
|
typedef enum {
|
|
IR_PROTOCOL_UNKNOWN = 0x00000,
|
|
IR_PROTOCOL_RMAP = 0x00001, /* Ruwido rMAP */
|
|
IR_PROTOCOL_RMAP_E = 0x00002, /* Ruwido rMAP with extension for MNC Ltd sp. z o.o. */
|
|
IR_PROTOCOL_NRC17 = 0x00004, /* Nokia NRC17 */
|
|
IR_PROTOCOL_JVC = 0x00008, /* JVC */
|
|
IR_PROTOCOL_RCA = 0x00010, /* RCA */
|
|
IR_PROTOCOL_PSD = 0x00020, /* Precision Squared (not yet supported) */
|
|
IR_PROTOCOL_RC5 = 0x00040, /* Philips RC5 */
|
|
IR_PROTOCOL_RCMM = 0x00080, /* Philips RCMM */
|
|
IR_PROTOCOL_RECS80 = 0x00100, /* Philips RECS80 */
|
|
IR_PROTOCOL_NEC = 0x00200, /* NEC */
|
|
IR_PROTOCOL_NECE = 0x00400, /* NEC with 16 bit address capability */
|
|
IR_PROTOCOL_SCA = 0x00800, /* Scientific Atlanta */
|
|
IR_PROTOCOL_MATSUSHITA = 0x01000, /* Matsushita (Technics/Panasonics) */
|
|
IR_PROTOCOL_SONY = 0x02000, /* Sony SIRC 12 bit */
|
|
IR_PROTOCOL_SONY15 = 0x04000, /* Sony SIRC 15 bit */
|
|
IR_PROTOCOL_SONY20 = 0x08000, /* Sony SIRC 20 bit */
|
|
IR_PROTOCOL_SONY24 = 0x10000, /* Sony SIRC 24 bit */
|
|
IR_PROTOCOL_BUTTON = 0x20000, /* Sony SIRC 24 bit */
|
|
IR_PROTOCOL_ALL = 0x2FFFF
|
|
} ir_protocol_t;
|
|
|
|
/* FP key mode */
|
|
typedef enum {
|
|
FP_MODE_KEYS_DISABLED = 0,
|
|
FP_MODE_KEYS_ENABLED = 1
|
|
} fp_mode_t;
|
|
|
|
/*******************************************************************************/
|
|
/* ioctl's */
|
|
/*******************************************************************************/
|
|
|
|
/* set the IR-protocols to listen for. */
|
|
#define IOC_IR_SET_PRI_PROTOCOL _IOW(0xDD, 1, ir_protocol_t) /* set the primary IR-protocol */
|
|
#define IOC_IR_SET_SEC_PROTOCOL _IOW(0xDD, 2, ir_protocol_t) /* set the secondary IR-protocol */
|
|
|
|
/* some IR-protocols can handle different device addresses. */
|
|
#define IOC_IR_SET_PRI_ADDRESS _IOW(0xDD, 3, unsigned int) /* set the primary IR-address */
|
|
#define IOC_IR_SET_SEC_ADDRESS _IOW(0xDD, 4, unsigned int) /* set the secondary IR-address */
|
|
|
|
/* defines the delay time between two pulses in milliseconds */
|
|
#define IOC_IR_SET_F_DELAY _IOW(0xDD, 5, unsigned int) /* set the delay time before the first repetition */
|
|
#define IOC_IR_SET_X_DELAY _IOW(0xDD, 6, unsigned int) /* set the delay time between all other repetitions */
|
|
|
|
/* load key mappings to translate from raw IR to Linux Input */
|
|
#define IOC_IR_SET_PRI_KEYMAP _IOW(0xDD, 7, unsigned short *) /* set the primary keymap [num entries],[entry 1],[entry 2],...,[entry n] (max 0xFFFF entries) */
|
|
#define IOC_IR_SET_SEC_KEYMAP _IOW(0xDD, 8, unsigned short *) /* set the secondary keymap [num entries],[entry 1],[entry 2],...,[entry n] (max 0xFFFF entries) */
|
|
|
|
/* frontpanel button options */
|
|
#define IOC_IR_SET_FP_MODE _IOW(0xDD, 9, fp_mode_t) /* enable/disable frontpanel buttons */
|
|
|
|
/* informative stuff */
|
|
#define IOC_IR_GET_PROTOCOLS _IOR(0xDD, 10, ir_protocol_t) /* reports a bitmask of all supported ir_protocols */
|
|
|
|
#endif /* __CS_IR_GENERIC_H__ */
|