input.h
来自「AMLOGIC DPF source code」· C头文件 代码 · 共 217 行
H
217 行
/*****************************************************************
** **
** Copyright (C) 2004 Amlogic,Inc. **
** All rights reserved **
** Filename : input.h /Project:AVOS driver **
** Revision : 1.0 **
** **
*****************************************************************/
#ifndef _AM_INPUT_H
#define _AM_INPUT_H
#define NEC_REMOTE
#define PHILIPS_REMOTE
#define KONKA_REMOTE
#define SLAVE_I2C_REMOTE
#define UART_REMOTE
#define KEYBOARD
#define TOUCH_SCREEN
#define INPUT_VALID 0x01
#define INPUT_REPEAT_FLAG 0x02
#define KEY_DOWN 0x01
#define KEY_UP 0x02
#define MOUSE_MOVE 0x03
#define MOUSE_L_BUTTON_DOWN 0x04
#define MOUSE_L_BUTTON_UP 0x05
#define MOUSE_R_BUTTON_DOWN 0x06
#define MOUSE_R_BUTTON_UP 0x07
#define MOUSE_M_BUTTON_DOWN 0x08
#define MOUSE_M_BUTTON_UP 0x09
#define MOUSE_SCROLL_UP 0x0A
#define MOUSE_SCROLL_DOWN 0x0B
typedef struct {
INT16U input_type ; //to define which type we get, key up, key down, or mouse move, and so on
INT16U input_flag ; //to define input if valide or if it repeat key
INT32U input_data ; //input value
INT32U input_modifers ; //special key, like shift, ctrl, alt and so on
} INPUTDATA ;
typedef struct {
INT8U id ; //to define which type we get, key up, key down, or mouse move, and so on
INT8U address ; //to define input if valide or if it repeat key
INT8U input_data ; //input value
INT8U send_bps ; //bps value
INT8U send_hour ; //send_hour value
INT8U send_minute ; //send_minute value
INT8U rec_hour ; //rec_hour value
INT8U rec_minute ; //rec_minute value
INT8U output_data ; //special key, like shift, ctrl, alt and so on
INT8U name_source ;
INT8U name_channel ;
INT8U name_year ;
INT8U name_month ;
INT8U name_day ;
INT8U name_language ;
INT8U ack ;
} I2C_slave ;
//for NEC remote ioctl define
#define NEC_FRAME_MASK_IGNORE_ALL 0x0
#define NEC_FRAME_MASK_IGNORE_CUSTOMER_CODE 0x1
#define NEC_FRAME_MASK_IGNORE_DATA_CODE 0x2
#define NEC_FRAME_MASK_IGNORE_NONE 0x3
#define IOCMD_NEC_SET_LEADER_ACTIVE_TIME_SCOPE 0x1 //high 16bit is max time(microsecond), low 16bit is min time(microsecond)
#define IOCMD_NEC_SET_LEADER_IDLE_TIME_SCOPE 0x2 //high 16bit is max time(microsecond), low 16bit is min time(microsecond)
#define IOCMD_NEC_SET_REPEAT_LEADER_IDLE_TIME_SCOPE 0x3 //high 16bit is max time(microsecond), low 16bit is min time(microsecond)
#define IOCMD_NEC_SET_ZERO_BIT_IDEN_TIME_SCOPE 0x4 //high 16bit is max time(microsecond), low 16bit is min time(microsecond)
#define IOCMD_NEC_SET_REMOTE_CLOCK 0x5 //input system clock(MIPS) to caculate remote clock
#define IOCMD_NEC_SET_FRAME_MASK 0x6
#define IOCMD_NEC_RESET 0x7
#define IOCMD_NEC_HOLD_FIRST_KEY 0x8
#define IOCMD_NEC_HOLD_LAST_KEY 0x9
#define IOCMD_NEC_SET_IR_DEC_BIT0_TIME 0xa
#define IOCMD_NEC_SET_IR_DEC_CONTROL 0xb
#define IOCMD_NEC_SET_IR_REPEAT_RATE_CTRL 0xc
#define IOCMD_KEYBOARD_SET_TIME_INTERVAL 0xd
#ifdef KEYBOARD
typedef INT32S (*KEYBOARDIRQPROC)();
avfs_device_driver keyboard_initialize(avfs_device_major_number major, avfs_device_minor_number minor, void *arg) ;
avfs_device_driver keyboard_open(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver keyboard_close(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver keyboard_read(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver keyboard_ioctl(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
void AWRegisterKeyboardIRQ(KEYBOARDIRQPROC IRQ_handle);
#define DEVICE_TABLE_KEYBOARD \
{ \
keyboard_initialize, \
keyboard_open, \
keyboard_close, \
keyboard_read, \
NULL, \
keyboard_ioctl \
}
#endif
#ifdef NEC_REMOTE
avfs_device_driver nec_remote_init(avfs_device_major_number major, avfs_device_minor_number minor, void *arg) ;
avfs_device_driver nec_remote_open(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver nec_remote_close(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver nec_remote_read(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver nec_remote_write(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver nec_remote_ioctl(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
#define DEVICE_TABLE_NEC_REMOTE \
{ \
nec_remote_init, \
nec_remote_open, \
nec_remote_close, \
nec_remote_read, \
nec_remote_write, \
nec_remote_ioctl \
}
#endif
#ifdef PHILIPS_REMOTE
avfs_device_driver philips_remote_init(avfs_device_major_number major, avfs_device_minor_number minor, void *arg) ;
avfs_device_driver philips_remote_open(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver philips_remote_close(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver philips_remote_read(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver philips_remote_write(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver philips_remote_ioctl(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
#define DEVICE_TABLE_PHILIPS_REMOTE \
{ \
philips_remote_init, \
philips_remote_open, \
philips_remote_close, \
philips_remote_read, \
philips_remote_write, \
philips_remote_ioctl \
}
#endif
#ifdef KONKA_REMOTE
avfs_device_driver konka_remote_init(avfs_device_major_number major, avfs_device_minor_number minor, void *arg) ;
avfs_device_driver konka_remote_open(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver konka_remote_close(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver konka_remote_read(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver konka_remote_write(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver konka_remote_ioctl(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
#define DEVICE_TABLE_KONKA_REMOTE \
{ \
konka_remote_init, \
konka_remote_open, \
konka_remote_close, \
konka_remote_read, \
konka_remote_write, \
konka_remote_ioctl \
}
#endif
#ifdef SLAVE_I2C_REMOTE
avfs_device_driver Slave_i2c_remote_init(avfs_device_major_number major, avfs_device_minor_number minor, void *arg) ;
avfs_device_driver Slave_i2c_remote_open(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver Slave_i2c_remote_close(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver Slave_i2c_remote_read(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver Slave_i2c_remote_write(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver Slave_i2c_remote_ioctl(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
#define DEVICE_TABLE_SLAVE_I2C_REMOTE \
{ \
Slave_i2c_remote_init, \
Slave_i2c_remote_open, \
Slave_i2c_remote_close, \
Slave_i2c_remote_read, \
Slave_i2c_remote_write, \
Slave_i2c_remote_ioctl \
}
#endif
#ifdef UART_REMOTE
avfs_device_driver uart_remote_init(avfs_device_major_number major, avfs_device_minor_number minor, void *arg) ;
avfs_device_driver uart_remote_open(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver uart_remote_close(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver uart_remote_read(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver uart_remote_write(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver uart_remote_ioctl(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
#define DEVICE_TABLE_UART_REMOTE \
{ \
uart_remote_init, \
uart_remote_open, \
uart_remote_close, \
uart_remote_read, \
uart_remote_write, \
uart_remote_ioctl \
}
#endif
#ifdef TOUCH_SCREEN
typedef INT16U (*TOUCHSCREENGET)();
avfs_device_driver touch_screen_init(avfs_device_major_number major, avfs_device_minor_number minor, void *arg) ;
avfs_device_driver touch_screen_open(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver touch_screen_close(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver touch_screen_read(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver touch_screen_write(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
avfs_device_driver touch_screen_ioctl(avfs_device_major_number major, avfs_device_minor_number minor, void *arg);
#define DEVICE_TABLE_TOUCH_SCREEN \
{ \
touch_screen_init, \
touch_screen_open, \
touch_screen_close, \
touch_screen_read, \
touch_screen_write, \
touch_screen_ioctl \
}
#endif
#endif //end of _AM_INPUT_H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?