Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: NOVA-t remote control



> Julian Tibble wrote:
> 
> > As far as I can tell, av7110_ir.c is part of the driver for "fully featured"
> > cards, and budget-ci.c is for cards with a common interface connection for
> > pay-per-view.  Neither of these apply to me (as far as I know), so can
> > I use the remote control?
> 
> The budget-ci is actually for budget cards with IR input, it confused me 
> for a while as well.
> 
> My new budget card has an IR connector, but it wasn't initally working 
> with the budget-ci driver. Moving the PCI ID from the budget to 
> budget-ci driver was all that was required to get the remote recognised. 
> Try the patch attached and see if it helps.
> 
> I also needed to tweak the mapping table as well to get all the keys 
> recognised correctly, but I don't have that code in front of me right now.
> 
> 	Jon
>

Thanks!!!! That worked - my mouse and keyboard moved up one event
device and the remote control is on /dev/input/event0

Is that patch (going to be put) in the main dvb-kernel CVS tree, and
hence on into the official kernel sources?

I'll have to do something about the keytable though - not all of the
buttons on my control produce an event and some of them produce the
wrong event.

Btw, I've heard of people using some program called "evtest", I don't
know where to get that from, but I wrote the following python script
to see which events are produced by which buttons on my remote control:

### BEGINNING OF SCRIPT
#
# Event viewer - written by Julian Tibble (2003-08-30)
#
# Change REMOTE_DEVICE to the correct device for your remote control

REMOTE_DEVICE = '/dev/input/event0'

types = {
    0x00: "EV_SYN",
    0x01: "EV_KEY",
    0x02: "EV_REL",
    0x03: "EV_ABS",
    0x04: "EV_MSC",
    0x11: "EV_LED",
    0x12: "EV_SND",
    0x14: "EV_REP",
    0x15: "EV_FF",
    0x16: "EV_PWR",
    0x17: "EV_FF_STATUS",
    0x1f: "EV_MAX"
}

codes = {
    0: "KEY_RESERVED",
    1: "KEY_ESC",
    2: "KEY_1",
    3: "KEY_2",
    4: "KEY_3",
    5: "KEY_4",
    6: "KEY_5",
    7: "KEY_6",
    8: "KEY_7",
    9: "KEY_8",
    10: "KEY_9",
    11: "KEY_0",
    12: "KEY_MINUS",
    13: "KEY_EQUAL",
    14: "KEY_BACKSPACE",
    15: "KEY_TAB",
    16: "KEY_Q",
    17: "KEY_W",
    18: "KEY_E",
    19: "KEY_R",
    20: "KEY_T",
    21: "KEY_Y",
    22: "KEY_U",
    23: "KEY_I",
    24: "KEY_O",
    25: "KEY_P",
    26: "KEY_LEFTBRACE",
    27: "KEY_RIGHTBRACE",
    28: "KEY_ENTER",
    29: "KEY_LEFTCTRL",
    30: "KEY_A",
    31: "KEY_S",
    32: "KEY_D",
    33: "KEY_F",
    34: "KEY_G",
    35: "KEY_H",
    36: "KEY_J",
    37: "KEY_K",
    38: "KEY_L",
    39: "KEY_SEMICOLON",
    40: "KEY_APOSTROPHE",
    41: "KEY_GRAVE",
    42: "KEY_LEFTSHIFT",
    43: "KEY_BACKSLASH",
    44: "KEY_Z",
    45: "KEY_X",
    46: "KEY_C",
    47: "KEY_V",
    48: "KEY_B",
    49: "KEY_N",
    50: "KEY_M",
    51: "KEY_COMMA",
    52: "KEY_DOT",
    53: "KEY_SLASH",
    54: "KEY_RIGHTSHIFT",
    55: "KEY_KPASTERISK",
    56: "KEY_LEFTALT",
    57: "KEY_SPACE",
    58: "KEY_CAPSLOCK",
    59: "KEY_F1",
    60: "KEY_F2",
    61: "KEY_F3",
    62: "KEY_F4",
    63: "KEY_F5",
    64: "KEY_F6",
    65: "KEY_F7",
    66: "KEY_F8",
    67: "KEY_F9",
    68: "KEY_F10",
    69: "KEY_NUMLOCK",
    70: "KEY_SCROLLLOCK",
    71: "KEY_KP7",
    72: "KEY_KP8",
    73: "KEY_KP9",
    74: "KEY_KPMINUS",
    75: "KEY_KP4",
    76: "KEY_KP5",
    77: "KEY_KP6",
    78: "KEY_KPPLUS",
    79: "KEY_KP1",
    80: "KEY_KP2",
    81: "KEY_KP3",
    82: "KEY_KP0",
    83: "KEY_KPDOT",
    84: "KEY_103RD",
    85: "KEY_F13",
    86: "KEY_102ND",
    87: "KEY_F11",
    88: "KEY_F12",
    89: "KEY_F14",
    90: "KEY_F15",
    91: "KEY_F16",
    92: "KEY_F17",
    93: "KEY_F18",
    94: "KEY_F19",
    95: "KEY_F20",
    96: "KEY_KPENTER",
    97: "KEY_RIGHTCTRL",
    98: "KEY_KPSLASH",
    99: "KEY_SYSRQ",
    100: "KEY_RIGHTALT",
    101: "KEY_LINEFEED",
    102: "KEY_HOME",
    103: "KEY_UP",
    104: "KEY_PAGEUP",
    105: "KEY_LEFT",
    106: "KEY_RIGHT",
    107: "KEY_END",
    108: "KEY_DOWN",
    109: "KEY_PAGEDOWN",
    110: "KEY_INSERT",
    111: "KEY_DELETE",
    112: "KEY_MACRO",
    113: "KEY_MUTE",
    114: "KEY_VOLUMEDOWN",
    115: "KEY_VOLUMEUP",
    116: "KEY_POWER",
    117: "KEY_KPEQUAL",
    118: "KEY_KPPLUSMINUS",
    119: "KEY_PAUSE",
    120: "KEY_F21",
    121: "KEY_F22",
    122: "KEY_F23",
    123: "KEY_F24",
    124: "KEY_KPCOMMA",
    125: "KEY_LEFTMETA",
    126: "KEY_RIGHTMETA",
    127: "KEY_COMPOSE",
    128: "KEY_STOP",
    129: "KEY_AGAIN",
    130: "KEY_PROPS",
    131: "KEY_UNDO",
    132: "KEY_FRONT",
    133: "KEY_COPY",
    134: "KEY_OPEN",
    135: "KEY_PASTE",
    136: "KEY_FIND",
    137: "KEY_CUT",
    138: "KEY_HELP",
    139: "KEY_MENU",
    140: "KEY_CALC",
    141: "KEY_SETUP",
    142: "KEY_SLEEP",
    143: "KEY_WAKEUP",
    144: "KEY_FILE",
    145: "KEY_SENDFILE",
    146: "KEY_DELETEFILE",
    147: "KEY_XFER",
    148: "KEY_PROG1",
    149: "KEY_PROG2",
    150: "KEY_WWW",
    151: "KEY_MSDOS",
    152: "KEY_COFFEE",
    153: "KEY_DIRECTION",
    154: "KEY_CYCLEWINDOWS",
    155: "KEY_MAIL",
    156: "KEY_BOOKMARKS",
    157: "KEY_COMPUTER",
    158: "KEY_BACK",
    159: "KEY_FORWARD",
    160: "KEY_CLOSECD",
    161: "KEY_EJECTCD",
    162: "KEY_EJECTCLOSECD",
    163: "KEY_NEXTSONG",
    164: "KEY_PLAYPAUSE",
    165: "KEY_PREVIOUSSONG",
    166: "KEY_STOPCD",
    167: "KEY_RECORD",
    168: "KEY_REWIND",
    169: "KEY_PHONE",
    170: "KEY_ISO",
    171: "KEY_CONFIG",
    172: "KEY_HOMEPAGE",
    173: "KEY_REFRESH",
    174: "KEY_EXIT",
    175: "KEY_MOVE",
    176: "KEY_EDIT",
    177: "KEY_SCROLLUP",
    178: "KEY_SCROLLDOWN",
    179: "KEY_KPLEFTPAREN",
    180: "KEY_KPRIGHTPAREN",
    181: "KEY_INTL1",
    182: "KEY_INTL2",
    183: "KEY_INTL3",
    184: "KEY_INTL4",
    185: "KEY_INTL5",
    186: "KEY_INTL6",
    187: "KEY_INTL7",
    188: "KEY_INTL8",
    189: "KEY_INTL9",
    190: "KEY_LANG1",
    191: "KEY_LANG2",
    192: "KEY_LANG3",
    193: "KEY_LANG4",
    194: "KEY_LANG5",
    195: "KEY_LANG6",
    196: "KEY_LANG7",
    197: "KEY_LANG8",
    198: "KEY_LANG9",
    200: "KEY_PLAYCD",
    201: "KEY_PAUSECD",
    202: "KEY_PROG3",
    203: "KEY_PROG4",
    205: "KEY_SUSPEND",
    206: "KEY_CLOSE",
    207: "KEY_PLAY",
    208: "KEY_FASTFORWARD",
    209: "KEY_BASSBOOST",
    210: "KEY_PRINT",
    211: "KEY_HP",
    212: "KEY_CAMERA",
    213: "KEY_SOUND",
    214: "KEY_QUESTION",
    215: "KEY_EMAIL",
    216: "KEY_CHAT",
    217: "KEY_SEARCH",
    218: "KEY_CONNECT",
    219: "KEY_FINANCE",
    220: "KEY_SPORT",
    221: "KEY_SHOP",
    222: "KEY_ALTERASE",
    223: "KEY_CANCEL",
    224: "KEY_BRIGHTNESSDOWN",
    225: "KEY_BRIGHTNESSUP",
    226: "KEY_MEDIA",
    240: "KEY_UNKNOWN",
    0x160: "KEY_OK",
    0x161: "KEY_SELECT",
    0x162: "KEY_GOTO",
    0x163: "KEY_CLEAR",
    0x164: "KEY_POWER2",
    0x165: "KEY_OPTION",
    0x166: "KEY_INFO",
    0x167: "KEY_TIME",
    0x168: "KEY_VENDOR",
    0x169: "KEY_ARCHIVE",
    0x16a: "KEY_PROGRAM",
    0x16b: "KEY_CHANNEL",
    0x16c: "KEY_FAVORITES",
    0x16d: "KEY_EPG",
    0x16e: "KEY_PVR",
    0x16f: "KEY_MHP",
    0x170: "KEY_LANGUAGE",
    0x171: "KEY_TITLE",
    0x172: "KEY_SUBTITLE",
    0x173: "KEY_ANGLE",
    0x174: "KEY_ZOOM",
    0x175: "KEY_MODE",
    0x176: "KEY_KEYBOARD",
    0x177: "KEY_SCREEN",
    0x178: "KEY_PC",
    0x179: "KEY_TV",
    0x17a: "KEY_TV2",
    0x17b: "KEY_VCR",
    0x17c: "KEY_VCR2",
    0x17d: "KEY_SAT",
    0x17e: "KEY_SAT2",
    0x17f: "KEY_CD",
    0x180: "KEY_TAPE",
    0x181: "KEY_RADIO",
    0x182: "KEY_TUNER",
    0x183: "KEY_PLAYER",
    0x184: "KEY_TEXT",
    0x185: "KEY_DVD",
    0x186: "KEY_AUX",
    0x187: "KEY_MP3",
    0x188: "KEY_AUDIO",
    0x189: "KEY_VIDEO",
    0x18a: "KEY_DIRECTORY",
    0x18b: "KEY_LIST",
    0x18c: "KEY_MEMO",
    0x18d: "KEY_CALENDAR",
    0x18e: "KEY_RED",
    0x18f: "KEY_GREEN",
    0x190: "KEY_YELLOW",
    0x191: "KEY_BLUE",
    0x192: "KEY_CHANNELUP",
    0x193: "KEY_CHANNELDOWN",
    0x194: "KEY_FIRST",
    0x195: "KEY_LAST",
    0x196: "KEY_AB",
    0x197: "KEY_NEXT",
    0x198: "KEY_RESTART",
    0x199: "KEY_SLOW",
    0x19a: "KEY_SHUFFLE",
    0x19b: "KEY_BREAK",
    0x19c: "KEY_PREVIOUS",
    0x19d: "KEY_DIGITS",
    0x19e: "KEY_TEEN",
    0x19f: "KEY_TWEN",
    0x1c0: "KEY_DEL_EOL",
    0x1c1: "KEY_DEL_EOS",
    0x1c2: "KEY_INS_LINE",
    0x1c3: "KEY_DEL_LINE",
    0x1ff: "KEY_MAX"
}

from struct import unpack

eventfile = open(REMOTE_DEVICE)

while 1:
	event = unpack("xxxxxxxxHHI", eventfile.read(16))
	print types[event[0]] + " " + codes[event[1]] + " " + str(int(event[2]))

### END OF SCRIPT


-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index