rpms/lirc/F-11 lirc-0.8.6-devinput-conf-update.patch, NONE, 1.1 lirc-0.8.6-devinput-pass-mouse-events.patch, NONE, 1.1 lirc.spec, 1.56, 1.57

Jarod Wilson jwilson at fedoraproject.org
Thu Apr 29 13:47:15 UTC 2010


Author: jwilson

Update of /cvs/pkgs/rpms/lirc/F-11
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv23129

Modified Files:
	lirc.spec 
Added Files:
	lirc-0.8.6-devinput-conf-update.patch 
	lirc-0.8.6-devinput-pass-mouse-events.patch 
Log Message:
* Thu Apr 29 2010 Jarod Wilson <jarod at redhat.com> 0.8.6-2
- Add devinput mouse event passthru to uinput support from lirc cvs
- Update devinput lircd.conf with additional keys from input.h


lirc-0.8.6-devinput-conf-update.patch:
 lircd.conf.devinput | 1328 +++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 919 insertions(+), 409 deletions(-)

--- NEW FILE lirc-0.8.6-devinput-conf-update.patch ---
Index: lirc-0.8.6/remotes/devinput/lircd.conf.devinput
===================================================================
--- lirc-0.8.6.orig/remotes/devinput/lircd.conf.devinput
+++ lirc-0.8.6/remotes/devinput/lircd.conf.devinput
@@ -1,416 +1,926 @@
 # generated by devinput.sh
 begin remote
+        name            devinput
+        bits            16
+        eps             30
+        aeps            100
+        pre_data_bits   16
+        pre_data        0x0001
+        post_data_bits  32
+        post_data       0x00000001
+        gap             132799
+        toggle_bit      0
 
-  name  devinput
-  bits           16
-  eps            30
-  aeps          100
-
-  one             0     0
-  zero            0     0
-  pre_data_bits   16
-  pre_data       0x8001
-  gap          132799
-  toggle_bit_mask 0x0
+	begin codes
+		KEY_0			11
+		KEY_102ND		86
+		KEY_1			2
+		KEY_2			3
+		KEY_3			4
+		KEY_4			5
+		KEY_5			6
+		KEY_6			7
+		KEY_7			8
+		KEY_8			9
+		KEY_9			10
+		KEY_A			30
+		KEY_AB			0x196
+		KEY_ADDRESSBOOK		0x1ad
+		KEY_AGAIN		129
+		KEY_ALTERASE		222
+		KEY_ANGLE		0x173
+		KEY_APOSTROPHE		40
+		KEY_ARCHIVE		0x169
+		KEY_AUDIO		0x188
+		KEY_AUX			0x186
+		KEY_B			48
+		KEY_BACK		158
+		KEY_BACKSLASH		43
+		KEY_BACKSPACE		14
+		KEY_BASSBOOST		209
+		KEY_BATTERY		236
+		KEY_BLUE		0x191
+		KEY_BLUETOOTH		237
+		KEY_BOOKMARKS		156
+		KEY_BREAK		0x19b
+		KEY_BRIGHTNESS_CYCLE	243
+		KEY_BRIGHTNESSDOWN	224
+		KEY_BRIGHTNESSUP	225
+		KEY_BRIGHTNESS_ZERO	244
+		KEY_BRL_DOT10		0x1fa
+		KEY_BRL_DOT1		0x1f1
+		KEY_BRL_DOT2		0x1f2
+		KEY_BRL_DOT3		0x1f3
+		KEY_BRL_DOT4		0x1f4
+		KEY_BRL_DOT5		0x1f5
+		KEY_BRL_DOT6		0x1f6
+		KEY_BRL_DOT7		0x1f7
+		KEY_BRL_DOT8		0x1f8
+		KEY_BRL_DOT9		0x1f9
+		KEY_C			46
+		KEY_CALC		140
+		KEY_CALENDAR		0x18d
+		KEY_CAMERA		212
+		KEY_CAMERA_FOCUS	0x210
+		KEY_CANCEL		223
+		KEY_CAPSLOCK		58
+		KEY_CD			0x17f
+		KEY_CHANNEL		0x16b
+		KEY_CHANNELDOWN		0x193
+		KEY_CHANNELUP		0x192
+		KEY_CHAT		216
+		KEY_CLEAR		0x163
+		KEY_CLOSE		206
+		KEY_CLOSECD		160
+		KEY_COFFEE		152
+		KEY_COMMA		51
+		KEY_COMPOSE		127
+		KEY_COMPUTER		157
+		KEY_CONFIG		171
+		KEY_CONNECT		218
+		KEY_CONTEXT_MENU	0x1b6
+		KEY_COPY		133
+		KEY_CUT			137
+		KEY_CYCLEWINDOWS	154
+		KEY_D			32
+		KEY_DASHBOARD		204
+		KEY_DATABASE		0x1aa
+		KEY_DEL_EOL		0x1c0
+		KEY_DEL_EOS		0x1c1
+		KEY_DELETE		111
+		KEY_DELETEFILE		146
+		KEY_DEL_LINE		0x1c3
+		KEY_DIGITS		0x19d
+		KEY_DIRECTION		153
+		KEY_DIRECTORY		0x18a
+		KEY_DISPLAY_OFF		245
+		KEY_DISPLAYTOGGLE	0x1af
+		KEY_DOCUMENTS		235
+		KEY_DOLLAR		0x1b2
+		KEY_DOT			52
+		KEY_DOWN		108
+		KEY_DVD			0x185
+		KEY_E			18
+		KEY_EDIT		176
+		KEY_EDITOR		0x1a6
+		KEY_EJECTCD		161
+		KEY_EJECTCLOSECD	162
+		KEY_EMAIL		215
+		KEY_END			107
+		KEY_ENTER		28
+		KEY_EPG			0x16d
+		KEY_EQUAL		13
+		KEY_ESC			1
+		KEY_EURO		0x1b3
+		KEY_EXIT		174
+		KEY_F10			68
+		KEY_F11			87
+		KEY_F12			88
+		KEY_F13			183
+		KEY_F14			184
+		KEY_F15			185
+		KEY_F1			59
+		KEY_F16			186
+		KEY_F17			187
+		KEY_F18			188
+		KEY_F19			189
+		KEY_F20			190
+		KEY_F21			191
+		KEY_F22			192
+		KEY_F23			193
+		KEY_F24			194
+		KEY_F2			60
+		KEY_F			33
+		KEY_F3			61
+		KEY_F4			62
+		KEY_F5			63
+		KEY_F6			64
+		KEY_F7			65
+		KEY_F8			66
+		KEY_F9			67
+		KEY_FASTFORWARD		208
+		KEY_FAVORITES		0x16c
+		KEY_FILE		144
+		KEY_FINANCE		219
+		KEY_FIND		136
+		KEY_FIRST		0x194
+		KEY_FN			0x1d0
+		KEY_FN_1		0x1de
+		KEY_FN_2		0x1df
+		KEY_FN_B		0x1e4
+		KEY_FN_D		0x1e0
+		KEY_FN_E		0x1e1
+		KEY_FN_ESC		0x1d1
+		KEY_FN_F		0x1e2
+		KEY_FN_F10		0x1db
+		KEY_FN_F1		0x1d2
+		KEY_FN_F11		0x1dc
+		KEY_FN_F12		0x1dd
+		KEY_FN_F2		0x1d3
+		KEY_FN_F3		0x1d4
+		KEY_FN_F4		0x1d5
+		KEY_FN_F5		0x1d6
+		KEY_FN_F6		0x1d7
+		KEY_FN_F7		0x1d8
+		KEY_FN_F8		0x1d9
+		KEY_FN_F9		0x1da
+		KEY_FN_S		0x1e3
+		KEY_FORWARD		159
+		KEY_FORWARDMAIL		233
+		KEY_FRAMEBACK		0x1b4
+		KEY_FRAMEFORWARD	0x1b5
+		KEY_FRONT		132
+		KEY_G			34
+		KEY_GAMES		0x1a1
+		KEY_GOTO		0x162
+		KEY_GRAPHICSEDITOR	0x1a8
+		KEY_GRAVE		41
+		KEY_GREEN		0x18f
+		KEY_H			35
+		KEY_HANGEUL		122
+		KEY_HANJA		123
+		KEY_HELP		138
+		KEY_HENKAN		92
+		KEY_HIRAGANA		91
+		KEY_HOME		102
+		KEY_HOMEPAGE		172
+		KEY_HP			211
+		KEY_I			23
+		KEY_INFO		0x166
+		KEY_INSERT		110
+		KEY_INS_LINE		0x1c2
+		KEY_ISO			170
+		KEY_J			36
+		KEY_K			37
+		KEY_KATAKANA		90
+		KEY_KATAKANAHIRAGANA	93
+		KEY_KBDILLUMDOWN	229
+		KEY_KBDILLUMTOGGLE	228
+		KEY_KBDILLUMUP		230
+		KEY_KEYBOARD		0x176
+		KEY_KP0			82
+		KEY_KP1			79
+		KEY_KP2			80
+		KEY_KP3			81
+		KEY_KP4			75
+		KEY_KP5			76
+		KEY_KP6			77
+		KEY_KP7			71
+		KEY_KP8			72
+		KEY_KP9			73
+		KEY_KPASTERISK		55
+		KEY_KPCOMMA		121
+		KEY_KPDOT		83
+		KEY_KPENTER		96
+		KEY_KPEQUAL		117
+		KEY_KPJPCOMMA		95
+		KEY_KPLEFTPAREN		179
+		KEY_KPMINUS		74
+		KEY_KPPLUS		78
+		KEY_KPPLUSMINUS		118
+		KEY_KPRIGHTPAREN	180
+		KEY_KPSLASH		98
+		KEY_L			38
+		KEY_LANGUAGE		0x170
+		KEY_LAST		0x195
+		KEY_LEFT		105
+		KEY_LEFTALT		56
+		KEY_LEFTBRACE		26
+		KEY_LEFTCTRL		29
+		KEY_LEFTMETA		125
+		KEY_LEFTSHIFT		42
+		KEY_LINEFEED		101
+		KEY_LIST		0x18b
+		KEY_LOGOFF		0x1b1
+		KEY_M			50
+		KEY_MACRO		112
+		KEY_MAIL		155
+		KEY_MAX			0x2ff
+		KEY_MEDIA		226
+		KEY_MEDIA_REPEAT	0x1b7
+		KEY_MEMO		0x18c
+		KEY_MENU		139
+		KEY_MESSENGER		0x1ae
+		KEY_MHP			0x16f
+		KEY_MINUS		12
+		KEY_MODE		0x175
+		KEY_MOVE		175
+		KEY_MP3			0x187
+		KEY_MSDOS		151
+		KEY_MUHENKAN		94
+		KEY_MUTE		113
+		KEY_N			49
+		KEY_NEW			181
+		KEY_NEWS		0x1ab
+		KEY_NEXT		0x197
+		KEY_NEXTSONG		163
+		KEY_NUMERIC_0		0x200
+		KEY_NUMERIC_1		0x201
+		KEY_NUMERIC_2		0x202
+		KEY_NUMERIC_3		0x203
+		KEY_NUMERIC_4		0x204
+		KEY_NUMERIC_5		0x205
+		KEY_NUMERIC_6		0x206
+		KEY_NUMERIC_7		0x207
+		KEY_NUMERIC_8		0x208
+		KEY_NUMERIC_9		0x209
+		KEY_NUMERIC_POUND	0x20b
+		KEY_NUMERIC_STAR	0x20a
+		KEY_NUMLOCK		69
+		KEY_O			24
+		KEY_OK			0x160
+		KEY_OPEN		134
+		KEY_OPTION		0x165
+		KEY_P			25
+		KEY_PAGEDOWN		109
+		KEY_PAGEUP		104
+		KEY_PASTE		135
+		KEY_PAUSE		119
+		KEY_PAUSECD		201
+		KEY_PC			0x178
+		KEY_PHONE		169
+		KEY_PLAY		207
+		KEY_PLAYCD		200
+		KEY_PLAYER		0x183
+		KEY_PLAYPAUSE		164
+		KEY_POWER		116
+		KEY_POWER2		0x164
+		KEY_PRESENTATION	0x1a9
+		KEY_PREVIOUS		0x19c
+		KEY_PREVIOUSSONG	165
+		KEY_PRINT		210
+		KEY_PROG1		148
+		KEY_PROG2		149
+		KEY_PROG3		202
+		KEY_PROG4		203
+		KEY_PROGRAM		0x16a
+		KEY_PROPS		130
+		KEY_PVR			0x16e
+		KEY_Q			16
+		KEY_QUESTION		214
+		KEY_R			19
+		KEY_RADIO		0x181
+		KEY_RECORD		167
+		KEY_RED			0x18e
+		KEY_REDO		182
+		KEY_REFRESH		173
+		KEY_REPLY		232
+		KEY_RESERVED		0
+		KEY_RESTART		0x198
+		KEY_REWIND		168
+		KEY_RFKILL		247
+		KEY_RIGHT		106
+		KEY_RIGHTALT		100
+		KEY_RIGHTBRACE		27
+		KEY_RIGHTCTRL		97
+		KEY_RIGHTMETA		126
+		KEY_RIGHTSHIFT		54
+		KEY_RO			89
+		KEY_S			31
+		KEY_SAT			0x17d
+		KEY_SAT2		0x17e
+		KEY_SAVE		234
+		KEY_SCALE		120
+		KEY_SCREEN		0x177
+		KEY_SCROLLDOWN		178
+		KEY_SCROLLLOCK		70
+		KEY_SCROLLUP		177
+		KEY_SEARCH		217
+		KEY_SELECT		0x161
+		KEY_SEMICOLON		39
+		KEY_SEND		231
+		KEY_SENDFILE		145
+		KEY_SETUP		141
+		KEY_SHOP		221
+		KEY_SHUFFLE		0x19a
+		KEY_SLASH		53
+		KEY_SLEEP		142
+		KEY_SLOW		0x199
+		KEY_SOUND		213
+		KEY_SPACE		57
+		KEY_SPELLCHECK		0x1b0
+		KEY_SPORT		220
+		KEY_SPREADSHEET		0x1a7
+		KEY_STOP		128
+		KEY_STOPCD		166
+		KEY_SUBTITLE		0x172
+		KEY_SUSPEND		205
+		KEY_SWITCHVIDEOMODE	227
+		KEY_SYSRQ		99
+		KEY_T			20
+		KEY_TAB			15
+		KEY_TAPE		0x180
+		KEY_TEEN		0x19e
+		KEY_TEXT		0x184
+		KEY_TIME		0x167
+		KEY_TITLE		0x171
+		KEY_TUNER		0x182
+		KEY_TV			0x179
+		KEY_TV2			0x17a
+		KEY_TWEN		0x19f
+		KEY_U			22
+		KEY_UNDO		131
+		KEY_UNKNOWN		240
+		KEY_UP			103
+		KEY_UWB			239
+		KEY_V			47
+		KEY_VCR			0x17b
+		KEY_VCR2		0x17c
+		KEY_VENDOR		0x168
+		KEY_VIDEO		0x189
+		KEY_VIDEO_NEXT		241
+		KEY_VIDEOPHONE		0x1a0
+		KEY_VIDEO_PREV		242
+		KEY_VOICEMAIL		0x1ac
+		KEY_VOLUMEDOWN		114
+		KEY_VOLUMEUP		115
+		KEY_W			17
+		KEY_WAKEUP		143
+		KEY_WIMAX		246
+		KEY_WLAN		238
+		KEY_WORDPROCESSOR	0x1a5
+		KEY_WWW			150
+		KEY_X			45
+		KEY_XFER		147
+		KEY_Y			21
+		KEY_YELLOW		0x190
+		KEY_YEN			124
+		KEY_Z			44
+		KEY_ZENKAKUHANKAKU	85
+		KEY_ZOOM		0x174
+		KEY_ZOOMIN		0x1a2
+		KEY_ZOOMOUT		0x1a3
+		KEY_ZOOMRESET		0x1a4
+		BTN_0			0x100
+		BTN_1			0x101
+		BTN_2			0x102
+		BTN_3			0x103
+		BTN_4			0x104
+		BTN_5			0x105
+		BTN_6			0x106
+		BTN_7			0x107
+		BTN_8			0x108
+		BTN_9			0x109
+		BTN_A			0x130
+		BTN_B			0x131
+		BTN_BACK		0x116
+		BTN_BASE		0x126
+		BTN_BASE2		0x127
+		BTN_BASE3		0x128
+		BTN_BASE4		0x129
+		BTN_BASE5		0x12a
+		BTN_BASE6		0x12b
+		BTN_C			0x132
+		BTN_DEAD		0x12f
+		BTN_DIGI		0x140
+		BTN_EXTRA		0x114
+		BTN_FORWARD		0x115
+		BTN_GAMEPAD		0x130
+		BTN_GEAR_DOWN		0x150
+		BTN_GEAR_UP		0x151
+		BTN_JOYSTICK		0x120
+		BTN_LEFT		0x110
+		BTN_MIDDLE		0x112
+		BTN_MISC		0x100
+		BTN_MODE		0x13c
+		BTN_MOUSE		0x110
+		BTN_PINKIE		0x125
+		BTN_RIGHT		0x111
+		BTN_SELECT		0x13a
+		BTN_SIDE		0x113
+		BTN_START		0x13b
+		BTN_STYLUS		0x14b
+		BTN_STYLUS2		0x14c
+		BTN_TASK		0x117
+		BTN_THUMB		0x121
+		BTN_THUMB2		0x122
+		BTN_THUMBL		0x13d
+		BTN_THUMBR		0x13e
+		BTN_TL			0x136
+		BTN_TL2			0x138
+		BTN_TOOL_AIRBRUSH	0x144
+		BTN_TOOL_BRUSH		0x142
+		BTN_TOOL_DOUBLETAP	0x14d
+		BTN_TOOL_FINGER		0x145
+		BTN_TOOL_LENS		0x147
+		BTN_TOOL_MOUSE		0x146
+		BTN_TOOL_PEN		0x140
+		BTN_TOOL_PENCIL		0x143
+		BTN_TOOL_QUADTAP	0x14f
+		BTN_TOOL_RUBBER		0x141
+		BTN_TOOL_TRIPLETAP	0x14e
+		BTN_TOP			0x123
+		BTN_TOP2		0x124
+		BTN_TOUCH		0x14a
+		BTN_TR			0x137
+		BTN_TR2			0x139
+		BTN_TRIGGER		0x120
+		BTN_WHEEL		0x150
+		BTN_X			0x133
+		BTN_Y			0x134
+		BTN_Z			0x135
+	end codes
+end remote
 
-      begin codes
-          KEY_0                    0x000B
-          KEY_102ND                0x0056
-          KEY_1                    0x0002
-          KEY_2                    0x0003
-          KEY_3                    0x0004
-          KEY_4                    0x0005
-          KEY_5                    0x0006
-          KEY_6                    0x0007
-          KEY_7                    0x0008
-          KEY_8                    0x0009
-          KEY_9                    0x000A
-          KEY_A                    0x001E
-          KEY_AB                   0x0196
-          KEY_AGAIN                0x0081
-          KEY_ALTERASE             0x00DE
-          KEY_ANGLE                0x0173
-          KEY_APOSTROPHE           0x0028
-          KEY_ARCHIVE              0x0169
-          KEY_AUDIO                0x0188
-          KEY_AUX                  0x0186
-          KEY_B                    0x0030
-          KEY_BACK                 0x009E
-          KEY_BACKSLASH            0x002B
-          KEY_BACKSPACE            0x000E
-          KEY_BASSBOOST            0x00D1
-          KEY_BATTERY              0x00EC
-          KEY_BLUE                 0x0191
-          KEY_BOOKMARKS            0x009C
-          KEY_BREAK                0x019B
-          KEY_BRIGHTNESSDOWN       0x00E0
-          KEY_BRIGHTNESSUP         0x00E1
-          KEY_BRL_DOT1             0x01F1
-          KEY_BRL_DOT2             0x01F2
-          KEY_BRL_DOT3             0x01F3
-          KEY_BRL_DOT4             0x01F4
-          KEY_BRL_DOT5             0x01F5
-          KEY_BRL_DOT6             0x01F6
-          KEY_BRL_DOT7             0x01F7
-          KEY_BRL_DOT8             0x01F8
-          KEY_C                    0x002E
-          KEY_CALC                 0x008C
-          KEY_CALENDAR             0x018D
-          KEY_CAMERA               0x00D4
-          KEY_CANCEL               0x00DF
-          KEY_CAPSLOCK             0x003A
-          KEY_CD                   0x017F
-          KEY_CHANNEL              0x016B
-          KEY_CHANNELDOWN          0x0193
-          KEY_CHANNELUP            0x0192
-          KEY_CHAT                 0x00D8
-          KEY_CLEAR                0x0163
-          KEY_CLOSE                0x00CE
-          KEY_CLOSECD              0x00A0
-          KEY_COFFEE               0x0098
-          KEY_COMMA                0x0033
-          KEY_COMPOSE              0x007F
-          KEY_COMPUTER             0x009D
-          KEY_CONFIG               0x00AB
-          KEY_CONNECT              0x00DA
-          KEY_COPY                 0x0085
-          KEY_CUT                  0x0089
-          KEY_CYCLEWINDOWS         0x009A
-          KEY_D                    0x0020
-          KEY_DEL_EOL              0x01C0
-          KEY_DEL_EOS              0x01C1
-          KEY_DELETE               0x006F
-          KEY_DELETEFILE           0x0092
-          KEY_DEL_LINE             0x01C3
-          KEY_DIGITS               0x019D
-          KEY_DIRECTION            0x0099
-          KEY_DIRECTORY            0x018A
-          KEY_DOCUMENTS            0x00EB
-          KEY_DOT                  0x0034
-          KEY_DOWN                 0x006C
-          KEY_DVD                  0x0185
-          KEY_E                    0x0012
-          KEY_EDIT                 0x00B0
-          KEY_EJECTCD              0x00A1
-          KEY_EJECTCLOSECD         0x00A2
-          KEY_EMAIL                0x00D7
-          KEY_END                  0x006B
-          KEY_ENTER                0x001C
-          KEY_EPG                  0x016D
-          KEY_EQUAL                0x000D
-          KEY_ESC                  0x0001
-          KEY_EXIT                 0x00AE
-          KEY_F10                  0x0044
-          KEY_F11                  0x0057
-          KEY_F12                  0x0058
-          KEY_F13                  0x00B7
-          KEY_F14                  0x00B8
-          KEY_F15                  0x00B9
-          KEY_F1                   0x003B
-          KEY_F16                  0x00BA
-          KEY_F17                  0x00BB
-          KEY_F18                  0x00BC
-          KEY_F19                  0x00BD
-          KEY_F20                  0x00BE
-          KEY_F21                  0x00BF
-          KEY_F22                  0x00C0
-          KEY_F23                  0x00C1
-          KEY_F24                  0x00C2
-          KEY_F2                   0x003C
-          KEY_F                    0x0021
-          KEY_F3                   0x003D
-          KEY_F4                   0x003E
-          KEY_F5                   0x003F
-          KEY_F6                   0x0040
-          KEY_F7                   0x0041
-          KEY_F8                   0x0042
-          KEY_F9                   0x0043
-          KEY_FASTFORWARD          0x00D0
-          KEY_FAVORITES            0x016C
-          KEY_FILE                 0x0090
-          KEY_FINANCE              0x00DB
-          KEY_FIND                 0x0088
-          KEY_FIRST                0x0194
-          KEY_FN                   0x01D0
-          KEY_FN_1                 0x01DE
-          KEY_FN_2                 0x01DF
-          KEY_FN_B                 0x01E4
-          KEY_FN_D                 0x01E0
-          KEY_FN_E                 0x01E1
-          KEY_FN_ESC               0x01D1
-          KEY_FN_F                 0x01E2
-          KEY_FN_F10               0x01DB
-          KEY_FN_F1                0x01D2
-          KEY_FN_F11               0x01DC
-          KEY_FN_F12               0x01DD
-          KEY_FN_F2                0x01D3
-          KEY_FN_F3                0x01D4
-          KEY_FN_F4                0x01D5
-          KEY_FN_F5                0x01D6
-          KEY_FN_F6                0x01D7
-          KEY_FN_F7                0x01D8
-          KEY_FN_F8                0x01D9
-          KEY_FN_F9                0x01DA
-          KEY_FN_S                 0x01E3
-          KEY_FORWARD              0x009F
-          KEY_FORWARDMAIL          0x00E9
-          KEY_FRONT                0x0084
-          KEY_G                    0x0022
-          KEY_GOTO                 0x0162
-          KEY_GRAVE                0x0029
-          KEY_GREEN                0x018F
-          KEY_H                    0x0023
-          KEY_HANGEUL              0x007A
-          KEY_HANJA                0x007B
-          KEY_HELP                 0x008A
-          KEY_HENKAN               0x005C
-          KEY_HIRAGANA             0x005B
-          KEY_HOME                 0x0066
-          KEY_HOMEPAGE             0x00AC
-          KEY_HP                   0x00D3
-          KEY_I                    0x0017
-          KEY_INFO                 0x0166
-          KEY_INSERT               0x006E
-          KEY_INS_LINE             0x01C2
-          KEY_ISO                  0x00AA
-          KEY_J                    0x0024
-          KEY_K                    0x0025
-          KEY_KATAKANA             0x005A
-          KEY_KATAKANAHIRAGANA     0x005D
-          KEY_KBDILLUMDOWN         0x00E5
-          KEY_KBDILLUMTOGGLE       0x00E4
-          KEY_KBDILLUMUP           0x00E6
-          KEY_KEYBOARD             0x0176
-          KEY_KP0                  0x0052
-          KEY_KP1                  0x004F
-          KEY_KP2                  0x0050
-          KEY_KP3                  0x0051
-          KEY_KP4                  0x004B
-          KEY_KP5                  0x004C
-          KEY_KP6                  0x004D
-          KEY_KP7                  0x0047
-          KEY_KP8                  0x0048
-          KEY_KP9                  0x0049
-          KEY_KPASTERISK           0x0037
-          KEY_KPCOMMA              0x0079
-          KEY_KPDOT                0x0053
-          KEY_KPENTER              0x0060
-          KEY_KPEQUAL              0x0075
-          KEY_KPJPCOMMA            0x005F
-          KEY_KPLEFTPAREN          0x00B3
-          KEY_KPMINUS              0x004A
-          KEY_KPPLUS               0x004E
-          KEY_KPPLUSMINUS          0x0076
-          KEY_KPRIGHTPAREN         0x00B4
-          KEY_KPSLASH              0x0062
-          KEY_L                    0x0026
-          KEY_LANGUAGE             0x0170
-          KEY_LAST                 0x0195
-          KEY_LEFT                 0x0069
-          KEY_LEFTALT              0x0038
-          KEY_LEFTBRACE            0x001A
-          KEY_LEFTCTRL             0x001D
-          KEY_LEFTMETA             0x007D
-          KEY_LEFTSHIFT            0x002A
-          KEY_LINEFEED             0x0065
-          KEY_LIST                 0x018B
-          KEY_M                    0x0032
-          KEY_MACRO                0x0070
-          KEY_MAIL                 0x009B
-          KEY_MAX                  0x01FF
-          KEY_MEDIA                0x00E2
-          KEY_MEMO                 0x018C
-          KEY_MENU                 0x008B
-          KEY_MHP                  0x016F
-          KEY_MINUS                0x000C
-          KEY_MODE                 0x0175
-          KEY_MOVE                 0x00AF
-          KEY_MP3                  0x0187
-          KEY_MSDOS                0x0097
-          KEY_MUHENKAN             0x005E
-          KEY_MUTE                 0x0071
-          KEY_N                    0x0031
-          KEY_NEW                  0x00B5
-          KEY_NEXT                 0x0197
-          KEY_NEXTSONG             0x00A3
-          KEY_NUMLOCK              0x0045
-          KEY_O                    0x0018
-          KEY_OK                   0x0160
-          KEY_OPEN                 0x0086
-          KEY_OPTION               0x0165
-          KEY_P                    0x0019
-          KEY_PAGEDOWN             0x006D
-          KEY_PAGEUP               0x0068
-          KEY_PASTE                0x0087
-          KEY_PAUSE                0x0077
-          KEY_PAUSECD              0x00C9
-          KEY_PC                   0x0178
-          KEY_PHONE                0x00A9
-          KEY_PLAY                 0x00CF
-          KEY_PLAYCD               0x00C8
-          KEY_PLAYER               0x0183
-          KEY_PLAYPAUSE            0x00A4
-          KEY_POWER                0x0074
-          KEY_POWER2               0x0164
-          KEY_PREVIOUS             0x019C
-          KEY_PREVIOUSSONG         0x00A5
-          KEY_PRINT                0x00D2
-          KEY_PROG1                0x0094
-          KEY_PROG2                0x0095
-          KEY_PROG3                0x00CA
-          KEY_PROG4                0x00CB
-          KEY_PROGRAM              0x016A
-          KEY_PROPS                0x0082
-          KEY_PVR                  0x016E
-          KEY_Q                    0x0010
-          KEY_QUESTION             0x00D6
-          KEY_R                    0x0013
-          KEY_RADIO                0x0181
-          KEY_RECORD               0x00A7
-          KEY_RED                  0x018E
-          KEY_REDO                 0x00B6
-          KEY_REFRESH              0x00AD
-          KEY_REPLY                0x00E8
-          KEY_RESERVED             0x0000
-          KEY_RESTART              0x0198
-          KEY_REWIND               0x00A8
-          KEY_RIGHT                0x006A
-          KEY_RIGHTALT             0x0064
-          KEY_RIGHTBRACE           0x001B
-          KEY_RIGHTCTRL            0x0061
-          KEY_RIGHTMETA            0x007E
-          KEY_RIGHTSHIFT           0x0036
-          KEY_RO                   0x0059
-          KEY_S                    0x001F
-          KEY_SAT                  0x017D
-          KEY_SAT2                 0x017E
-          KEY_SAVE                 0x00EA
-          KEY_SCREEN               0x0177
-          KEY_SCROLLDOWN           0x00B2
-          KEY_SCROLLLOCK           0x0046
-          KEY_SCROLLUP             0x00B1
-          KEY_SEARCH               0x00D9
-          KEY_SELECT               0x0161
-          KEY_SEMICOLON            0x0027
-          KEY_SEND                 0x00E7
-          KEY_SENDFILE             0x0091
-          KEY_SETUP                0x008D
-          KEY_SHOP                 0x00DD
-          KEY_SHUFFLE              0x019A
-          KEY_SLASH                0x0035
-          KEY_SLEEP                0x008E
-          KEY_SLOW                 0x0199
-          KEY_SOUND                0x00D5
-          KEY_SPACE                0x0039
-          KEY_SPORT                0x00DC
-          KEY_STOP                 0x0080
-          KEY_STOPCD               0x00A6
-          KEY_SUBTITLE             0x0172
-          KEY_SUSPEND              0x00CD
-          KEY_SWITCHVIDEOMODE      0x00E3
-          KEY_SYSRQ                0x0063
-          KEY_T                    0x0014
-          KEY_TAB                  0x000F
-          KEY_TAPE                 0x0180
-          KEY_TEEN                 0x019E
-          KEY_TEXT                 0x0184
-          KEY_TIME                 0x0167
-          KEY_TITLE                0x0171
-          KEY_TUNER                0x0182
-          KEY_TV                   0x0179
-          KEY_TV2                  0x017A
-          KEY_TWEN                 0x019F
-          KEY_U                    0x0016
-          KEY_UNDO                 0x0083
-          KEY_UNKNOWN              0x00F0
-          KEY_UP                   0x0067
-          KEY_V                    0x002F
-          KEY_VCR                  0x017B
-          KEY_VCR2                 0x017C
-          KEY_VENDOR               0x0168
-          KEY_VIDEO                0x0189
-          KEY_VOLUMEDOWN           0x0072
-          KEY_VOLUMEUP             0x0073
-          KEY_W                    0x0011
-          KEY_WAKEUP               0x008F
-          KEY_WWW                  0x0096
-          KEY_X                    0x002D
-          KEY_XFER                 0x0093
-          KEY_Y                    0x0015
-          KEY_YELLOW               0x0190
-          KEY_YEN                  0x007C
-          KEY_Z                    0x002C
-          KEY_ZENKAKUHANKAKU       0x0055
-          KEY_ZOOM                 0x0174
-          BTN_0                    0x0100
-          BTN_1                    0x0101
-          BTN_2                    0x0102
-          BTN_3                    0x0103
-          BTN_4                    0x0104
-          BTN_5                    0x0105
-          BTN_6                    0x0106
-          BTN_7                    0x0107
-          BTN_8                    0x0108
-          BTN_9                    0x0109
-          BTN_A                    0x0130
-          BTN_B                    0x0131
-          BTN_BACK                 0x0116
-          BTN_BASE                 0x0126
-          BTN_BASE2                0x0127
-          BTN_BASE3                0x0128
-          BTN_BASE4                0x0129
-          BTN_BASE5                0x012A
-          BTN_BASE6                0x012B
-          BTN_C                    0x0132
-          BTN_DEAD                 0x012F
-          BTN_DIGI                 0x0140
-          BTN_EXTRA                0x0114
-          BTN_FORWARD              0x0115
-          BTN_GAMEPAD              0x0130
-          BTN_GEAR_DOWN            0x0150
-          BTN_GEAR_UP              0x0151
-          BTN_JOYSTICK             0x0120
-          BTN_LEFT                 0x0110
-          BTN_MIDDLE               0x0112
-          BTN_MISC                 0x0100
-          BTN_MODE                 0x013C
-          BTN_MOUSE                0x0110
-          BTN_PINKIE               0x0125
-          BTN_RIGHT                0x0111
-          BTN_SELECT               0x013A
-          BTN_SIDE                 0x0113
-          BTN_START                0x013B
-          BTN_STYLUS               0x014B
-          BTN_STYLUS2              0x014C
-          BTN_TASK                 0x0117
-          BTN_THUMB                0x0121
-          BTN_THUMB2               0x0122
-          BTN_THUMBL               0x013D
-          BTN_THUMBR               0x013E
-          BTN_TL                   0x0136
-          BTN_TL2                  0x0138
-          BTN_TOOL_AIRBRUSH        0x0144
-          BTN_TOOL_BRUSH           0x0142
-          BTN_TOOL_DOUBLETAP       0x014D
-          BTN_TOOL_FINGER          0x0145
-          BTN_TOOL_LENS            0x0147
-          BTN_TOOL_MOUSE           0x0146
-          BTN_TOOL_PEN             0x0140
-          BTN_TOOL_PENCIL          0x0143
-          BTN_TOOL_RUBBER          0x0141
-          BTN_TOOL_TRIPLETAP       0x014E
-          BTN_TOP                  0x0123
-          BTN_TOP2                 0x0124
-          BTN_TOUCH                0x014A
-          BTN_TR                   0x0137
-          BTN_TR2                  0x0139
-          BTN_TRIGGER              0x0120
-          BTN_WHEEL                0x0150
-          BTN_X                    0x0133
-          BTN_Y                    0x0134
-          BTN_Z                    0x0135
-      end codes
+# generated by devinput.sh (obsolete 32 bit version)
+begin remote
+        name            devinput32
+        bits            16
+        eps             30
+        aeps            100
+        pre_data_bits   16
+        pre_data        0x8001
+        gap             132799
+        toggle_bit      0
 
+	begin codes
+		KEY_0			11
+		KEY_102ND		86
+		KEY_1			2
+		KEY_2			3
+		KEY_3			4
+		KEY_4			5
+		KEY_5			6
+		KEY_6			7
+		KEY_7			8
+		KEY_8			9
+		KEY_9			10
+		KEY_A			30
+		KEY_AB			0x196
+		KEY_ADDRESSBOOK		0x1ad
+		KEY_AGAIN		129
+		KEY_ALTERASE		222
+		KEY_ANGLE		0x173
+		KEY_APOSTROPHE		40
+		KEY_ARCHIVE		0x169
+		KEY_AUDIO		0x188
+		KEY_AUX			0x186
+		KEY_B			48
+		KEY_BACK		158
+		KEY_BACKSLASH		43
+		KEY_BACKSPACE		14
+		KEY_BASSBOOST		209
+		KEY_BATTERY		236
+		KEY_BLUE		0x191
+		KEY_BLUETOOTH		237
+		KEY_BOOKMARKS		156
+		KEY_BREAK		0x19b
+		KEY_BRIGHTNESS_CYCLE	243
+		KEY_BRIGHTNESSDOWN	224
+		KEY_BRIGHTNESSUP	225
+		KEY_BRIGHTNESS_ZERO	244
+		KEY_BRL_DOT10		0x1fa
+		KEY_BRL_DOT1		0x1f1
+		KEY_BRL_DOT2		0x1f2
+		KEY_BRL_DOT3		0x1f3
+		KEY_BRL_DOT4		0x1f4
+		KEY_BRL_DOT5		0x1f5
+		KEY_BRL_DOT6		0x1f6
+		KEY_BRL_DOT7		0x1f7
+		KEY_BRL_DOT8		0x1f8
+		KEY_BRL_DOT9		0x1f9
+		KEY_C			46
+		KEY_CALC		140
+		KEY_CALENDAR		0x18d
+		KEY_CAMERA		212
+		KEY_CAMERA_FOCUS	0x210
+		KEY_CANCEL		223
+		KEY_CAPSLOCK		58
+		KEY_CD			0x17f
+		KEY_CHANNEL		0x16b
+		KEY_CHANNELDOWN		0x193
+		KEY_CHANNELUP		0x192
+		KEY_CHAT		216
+		KEY_CLEAR		0x163
+		KEY_CLOSE		206
+		KEY_CLOSECD		160
+		KEY_COFFEE		152
+		KEY_COMMA		51
+		KEY_COMPOSE		127
+		KEY_COMPUTER		157
+		KEY_CONFIG		171
+		KEY_CONNECT		218
+		KEY_CONTEXT_MENU	0x1b6
+		KEY_COPY		133
+		KEY_CUT			137
+		KEY_CYCLEWINDOWS	154
+		KEY_D			32
+		KEY_DASHBOARD		204
+		KEY_DATABASE		0x1aa
+		KEY_DEL_EOL		0x1c0
+		KEY_DEL_EOS		0x1c1
+		KEY_DELETE		111
+		KEY_DELETEFILE		146
+		KEY_DEL_LINE		0x1c3
+		KEY_DIGITS		0x19d
+		KEY_DIRECTION		153
+		KEY_DIRECTORY		0x18a
+		KEY_DISPLAY_OFF		245
+		KEY_DISPLAYTOGGLE	0x1af
+		KEY_DOCUMENTS		235
+		KEY_DOLLAR		0x1b2
+		KEY_DOT			52
+		KEY_DOWN		108
+		KEY_DVD			0x185
+		KEY_E			18
+		KEY_EDIT		176
+		KEY_EDITOR		0x1a6
+		KEY_EJECTCD		161
+		KEY_EJECTCLOSECD	162
+		KEY_EMAIL		215
+		KEY_END			107
+		KEY_ENTER		28
+		KEY_EPG			0x16d
+		KEY_EQUAL		13
+		KEY_ESC			1
+		KEY_EURO		0x1b3
+		KEY_EXIT		174
+		KEY_F10			68
+		KEY_F11			87
+		KEY_F12			88
+		KEY_F13			183
+		KEY_F14			184
+		KEY_F15			185
+		KEY_F1			59
+		KEY_F16			186
+		KEY_F17			187
+		KEY_F18			188
+		KEY_F19			189
+		KEY_F20			190
+		KEY_F21			191
+		KEY_F22			192
+		KEY_F23			193
+		KEY_F24			194
+		KEY_F2			60
+		KEY_F			33
+		KEY_F3			61
+		KEY_F4			62
+		KEY_F5			63
+		KEY_F6			64
+		KEY_F7			65
+		KEY_F8			66
+		KEY_F9			67
+		KEY_FASTFORWARD		208
+		KEY_FAVORITES		0x16c
+		KEY_FILE		144
+		KEY_FINANCE		219
+		KEY_FIND		136
+		KEY_FIRST		0x194
+		KEY_FN			0x1d0
+		KEY_FN_1		0x1de
+		KEY_FN_2		0x1df
+		KEY_FN_B		0x1e4
+		KEY_FN_D		0x1e0
+		KEY_FN_E		0x1e1
+		KEY_FN_ESC		0x1d1
+		KEY_FN_F		0x1e2
+		KEY_FN_F10		0x1db
+		KEY_FN_F1		0x1d2
+		KEY_FN_F11		0x1dc
+		KEY_FN_F12		0x1dd
+		KEY_FN_F2		0x1d3
+		KEY_FN_F3		0x1d4
+		KEY_FN_F4		0x1d5
+		KEY_FN_F5		0x1d6
+		KEY_FN_F6		0x1d7
+		KEY_FN_F7		0x1d8
+		KEY_FN_F8		0x1d9
+		KEY_FN_F9		0x1da
+		KEY_FN_S		0x1e3
+		KEY_FORWARD		159
+		KEY_FORWARDMAIL		233
+		KEY_FRAMEBACK		0x1b4
+		KEY_FRAMEFORWARD	0x1b5
+		KEY_FRONT		132
+		KEY_G			34
+		KEY_GAMES		0x1a1
+		KEY_GOTO		0x162
+		KEY_GRAPHICSEDITOR	0x1a8
+		KEY_GRAVE		41
+		KEY_GREEN		0x18f
+		KEY_H			35
+		KEY_HANGEUL		122
+		KEY_HANJA		123
+		KEY_HELP		138
+		KEY_HENKAN		92
+		KEY_HIRAGANA		91
+		KEY_HOME		102
+		KEY_HOMEPAGE		172
+		KEY_HP			211
+		KEY_I			23
+		KEY_INFO		0x166
+		KEY_INSERT		110
+		KEY_INS_LINE		0x1c2
+		KEY_ISO			170
+		KEY_J			36
+		KEY_K			37
+		KEY_KATAKANA		90
+		KEY_KATAKANAHIRAGANA	93
+		KEY_KBDILLUMDOWN	229
+		KEY_KBDILLUMTOGGLE	228
+		KEY_KBDILLUMUP		230
+		KEY_KEYBOARD		0x176
+		KEY_KP0			82
+		KEY_KP1			79
+		KEY_KP2			80
+		KEY_KP3			81
+		KEY_KP4			75
+		KEY_KP5			76
+		KEY_KP6			77
+		KEY_KP7			71
+		KEY_KP8			72
+		KEY_KP9			73
+		KEY_KPASTERISK		55
+		KEY_KPCOMMA		121
+		KEY_KPDOT		83
+		KEY_KPENTER		96
+		KEY_KPEQUAL		117
+		KEY_KPJPCOMMA		95
+		KEY_KPLEFTPAREN		179
+		KEY_KPMINUS		74
+		KEY_KPPLUS		78
+		KEY_KPPLUSMINUS		118
+		KEY_KPRIGHTPAREN	180
+		KEY_KPSLASH		98
+		KEY_L			38
+		KEY_LANGUAGE		0x170
+		KEY_LAST		0x195
+		KEY_LEFT		105
+		KEY_LEFTALT		56
+		KEY_LEFTBRACE		26
+		KEY_LEFTCTRL		29
+		KEY_LEFTMETA		125
+		KEY_LEFTSHIFT		42
+		KEY_LINEFEED		101
+		KEY_LIST		0x18b
+		KEY_LOGOFF		0x1b1
+		KEY_M			50
+		KEY_MACRO		112
+		KEY_MAIL		155
+		KEY_MAX			0x2ff
+		KEY_MEDIA		226
+		KEY_MEDIA_REPEAT	0x1b7
+		KEY_MEMO		0x18c
+		KEY_MENU		139
+		KEY_MESSENGER		0x1ae
+		KEY_MHP			0x16f
+		KEY_MINUS		12
+		KEY_MODE		0x175
+		KEY_MOVE		175
+		KEY_MP3			0x187
+		KEY_MSDOS		151
+		KEY_MUHENKAN		94
+		KEY_MUTE		113
+		KEY_N			49
+		KEY_NEW			181
+		KEY_NEWS		0x1ab
+		KEY_NEXT		0x197
+		KEY_NEXTSONG		163
+		KEY_NUMERIC_0		0x200
+		KEY_NUMERIC_1		0x201
+		KEY_NUMERIC_2		0x202
+		KEY_NUMERIC_3		0x203
+		KEY_NUMERIC_4		0x204
+		KEY_NUMERIC_5		0x205
+		KEY_NUMERIC_6		0x206
+		KEY_NUMERIC_7		0x207
+		KEY_NUMERIC_8		0x208
+		KEY_NUMERIC_9		0x209
+		KEY_NUMERIC_POUND	0x20b
+		KEY_NUMERIC_STAR	0x20a
+		KEY_NUMLOCK		69
+		KEY_O			24
+		KEY_OK			0x160
+		KEY_OPEN		134
+		KEY_OPTION		0x165
+		KEY_P			25
+		KEY_PAGEDOWN		109
+		KEY_PAGEUP		104
+		KEY_PASTE		135
+		KEY_PAUSE		119
+		KEY_PAUSECD		201
+		KEY_PC			0x178
+		KEY_PHONE		169
+		KEY_PLAY		207
+		KEY_PLAYCD		200
+		KEY_PLAYER		0x183
+		KEY_PLAYPAUSE		164
+		KEY_POWER		116
+		KEY_POWER2		0x164
+		KEY_PRESENTATION	0x1a9
+		KEY_PREVIOUS		0x19c
+		KEY_PREVIOUSSONG	165
+		KEY_PRINT		210
+		KEY_PROG1		148
+		KEY_PROG2		149
+		KEY_PROG3		202
+		KEY_PROG4		203
+		KEY_PROGRAM		0x16a
+		KEY_PROPS		130
+		KEY_PVR			0x16e
+		KEY_Q			16
+		KEY_QUESTION		214
+		KEY_R			19
+		KEY_RADIO		0x181
+		KEY_RECORD		167
+		KEY_RED			0x18e
+		KEY_REDO		182
+		KEY_REFRESH		173
+		KEY_REPLY		232
+		KEY_RESERVED		0
+		KEY_RESTART		0x198
+		KEY_REWIND		168
+		KEY_RFKILL		247
+		KEY_RIGHT		106
+		KEY_RIGHTALT		100
+		KEY_RIGHTBRACE		27
+		KEY_RIGHTCTRL		97
+		KEY_RIGHTMETA		126
+		KEY_RIGHTSHIFT		54
+		KEY_RO			89
+		KEY_S			31
+		KEY_SAT			0x17d
+		KEY_SAT2		0x17e
+		KEY_SAVE		234
+		KEY_SCALE		120
+		KEY_SCREEN		0x177
+		KEY_SCROLLDOWN		178
+		KEY_SCROLLLOCK		70
+		KEY_SCROLLUP		177
+		KEY_SEARCH		217
+		KEY_SELECT		0x161
+		KEY_SEMICOLON		39
+		KEY_SEND		231
+		KEY_SENDFILE		145
+		KEY_SETUP		141
+		KEY_SHOP		221
+		KEY_SHUFFLE		0x19a
+		KEY_SLASH		53
+		KEY_SLEEP		142
+		KEY_SLOW		0x199
+		KEY_SOUND		213
+		KEY_SPACE		57
+		KEY_SPELLCHECK		0x1b0
+		KEY_SPORT		220
+		KEY_SPREADSHEET		0x1a7
+		KEY_STOP		128
+		KEY_STOPCD		166
+		KEY_SUBTITLE		0x172
+		KEY_SUSPEND		205
+		KEY_SWITCHVIDEOMODE	227
+		KEY_SYSRQ		99
+		KEY_T			20
+		KEY_TAB			15
+		KEY_TAPE		0x180
+		KEY_TEEN		0x19e
+		KEY_TEXT		0x184
+		KEY_TIME		0x167
+		KEY_TITLE		0x171
+		KEY_TUNER		0x182
+		KEY_TV			0x179
+		KEY_TV2			0x17a
+		KEY_TWEN		0x19f
+		KEY_U			22
+		KEY_UNDO		131
+		KEY_UNKNOWN		240
+		KEY_UP			103
+		KEY_UWB			239
+		KEY_V			47
+		KEY_VCR			0x17b
+		KEY_VCR2		0x17c
+		KEY_VENDOR		0x168
+		KEY_VIDEO		0x189
+		KEY_VIDEO_NEXT		241
+		KEY_VIDEOPHONE		0x1a0
+		KEY_VIDEO_PREV		242
+		KEY_VOICEMAIL		0x1ac
+		KEY_VOLUMEDOWN		114
+		KEY_VOLUMEUP		115
+		KEY_W			17
+		KEY_WAKEUP		143
+		KEY_WIMAX		246
+		KEY_WLAN		238
+		KEY_WORDPROCESSOR	0x1a5
+		KEY_WWW			150
+		KEY_X			45
+		KEY_XFER		147
+		KEY_Y			21
+		KEY_YELLOW		0x190
+		KEY_YEN			124
+		KEY_Z			44
+		KEY_ZENKAKUHANKAKU	85
+		KEY_ZOOM		0x174
+		KEY_ZOOMIN		0x1a2
+		KEY_ZOOMOUT		0x1a3
+		KEY_ZOOMRESET		0x1a4
+		BTN_0			0x100
+		BTN_1			0x101
+		BTN_2			0x102
+		BTN_3			0x103
+		BTN_4			0x104
+		BTN_5			0x105
+		BTN_6			0x106
+		BTN_7			0x107
+		BTN_8			0x108
+		BTN_9			0x109
+		BTN_A			0x130
+		BTN_B			0x131
+		BTN_BACK		0x116
+		BTN_BASE		0x126
+		BTN_BASE2		0x127
+		BTN_BASE3		0x128
+		BTN_BASE4		0x129
+		BTN_BASE5		0x12a
+		BTN_BASE6		0x12b
+		BTN_C			0x132
+		BTN_DEAD		0x12f
+		BTN_DIGI		0x140
+		BTN_EXTRA		0x114
+		BTN_FORWARD		0x115
+		BTN_GAMEPAD		0x130
+		BTN_GEAR_DOWN		0x150
+		BTN_GEAR_UP		0x151
+		BTN_JOYSTICK		0x120
+		BTN_LEFT		0x110
+		BTN_MIDDLE		0x112
+		BTN_MISC		0x100
+		BTN_MODE		0x13c
+		BTN_MOUSE		0x110
+		BTN_PINKIE		0x125
+		BTN_RIGHT		0x111
+		BTN_SELECT		0x13a
+		BTN_SIDE		0x113
+		BTN_START		0x13b
+		BTN_STYLUS		0x14b
+		BTN_STYLUS2		0x14c
+		BTN_TASK		0x117
+		BTN_THUMB		0x121
+		BTN_THUMB2		0x122
+		BTN_THUMBL		0x13d
+		BTN_THUMBR		0x13e
+		BTN_TL			0x136
+		BTN_TL2			0x138
+		BTN_TOOL_AIRBRUSH	0x144
+		BTN_TOOL_BRUSH		0x142
+		BTN_TOOL_DOUBLETAP	0x14d
+		BTN_TOOL_FINGER		0x145
+		BTN_TOOL_LENS		0x147
+		BTN_TOOL_MOUSE		0x146
+		BTN_TOOL_PEN		0x140
+		BTN_TOOL_PENCIL		0x143
+		BTN_TOOL_QUADTAP	0x14f
+		BTN_TOOL_RUBBER		0x141
+		BTN_TOOL_TRIPLETAP	0x14e
+		BTN_TOP			0x123
+		BTN_TOP2		0x124
+		BTN_TOUCH		0x14a
+		BTN_TR			0x137
+		BTN_TR2			0x139
+		BTN_TRIGGER		0x120
+		BTN_WHEEL		0x150
+		BTN_X			0x133
+		BTN_Y			0x134
+		BTN_Z			0x135
+	end codes
 end remote
 
-

lirc-0.8.6-devinput-pass-mouse-events.patch:
 hw_devinput.c |  192 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 190 insertions(+), 2 deletions(-)

--- NEW FILE lirc-0.8.6-devinput-pass-mouse-events.patch ---
diff -Naurp lirc-0.8.6/daemons/hw_devinput.c~ lirc-0.8.6/daemons/hw_devinput.c
--- lirc-0.8.6/daemons/hw_devinput.c~	2009/09/07 18:08:00	5.20
+++ lirc-0.8.6/daemons/hw_devinput.c	2009/10/31 09:37:30	5.21
@@ -31,8 +31,10 @@
 #include <sys/types.h>
 #include <dirent.h>
 #include <fnmatch.h>
+#include <limits.h>
 
 #include <linux/input.h>
+#include <linux/uinput.h>
 
 #ifndef EV_SYN
 /* previous name */
@@ -44,8 +46,18 @@
 #include "lircd.h"
 #include "receive.h"
 
+/* from evtest.c - Copyright (c) 1999-2000 Vojtech Pavlik */
+#define BITS_PER_LONG (sizeof(long) * CHAR_BIT)
+/* NBITS was defined in linux/uinput.h */
+#undef NBITS
+#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1)
+#define OFF(x)  ((x)%BITS_PER_LONG)
+#define BIT(x)  (1UL<<OFF(x))
+#define LONG(x) ((x)/BITS_PER_LONG)
+#define test_bit(bit, array)	((array[LONG(bit)] >> OFF(bit)) & 1)
 
 static int devinput_init();
+static int devinput_init_fwd();
 static int devinput_deinit(void);
 static int devinput_decode(struct ir_remote *remote,
 			   ir_code *prep, ir_code *codep, ir_code *postp,
@@ -67,7 +76,7 @@
 	0,			/* send_mode */
 	LIRC_MODE_LIRCCODE,	/* rec_mode */
 	32,			/* code_length */
-	devinput_init,		/* init_func */
+	devinput_init_fwd,	/* init_func */
 	NULL,			/* config_func */
 	devinput_deinit,	/* deinit_func */
 	NULL,			/* send_func */
@@ -80,6 +89,141 @@
 
 static ir_code code;
 static int repeat_flag=0;
+static int exclusive = 0;
+static int uinputfd = -1;
+
+static int setup_uinputfd(const char *name, int source)
+{
+	int fd;
+	int key;
+	struct uinput_user_dev dev;
+	long events[NBITS(EV_MAX)];
+	long bits[NBITS(KEY_MAX)];
+	
+	if(ioctl(source, EVIOCGBIT(0, EV_MAX), events) == -1)
+	{
+		return -1;
+	}
+	if(!test_bit(EV_REL, events) && !test_bit(EV_ABS, events))
+	{
+		/* no move events, don't forward anything */
+		return -1;
+	}
+	fd = open("/dev/input/uinput", O_RDWR);
+	if(fd == -1)
+	{
+		fd = open("/dev/uinput", O_RDWR);
+		if(fd == -1)
+		{
+			fd = open("/dev/misc/uinput", O_RDWR);
+			if(fd == -1)
+			{
+				logprintf(LOG_WARNING, "could not open %s\n",
+					  "uinput");
+				logperror(LOG_WARNING, NULL);
+				return -1;
+			}
+		}
+	}
+	memset(&dev, 0, sizeof(dev));
+	if(ioctl(source, EVIOCGNAME(sizeof(dev.name)), dev.name) >= 0)
+	{
+		dev.name[sizeof(dev.name)-1] = 0;
+		if(strlen(dev.name) > 0)
+		{
+			strncat(dev.name, " ", sizeof(dev.name) -
+				strlen(dev.name));
+			dev.name[sizeof(dev.name)-1] = 0;
+		}
+	}
+	strncat(dev.name, name, sizeof(dev.name) - strlen(dev.name));
+	dev.name[sizeof(dev.name)-1] = 0;
+
+	if(write(fd, &dev, sizeof(dev)) != sizeof(dev))
+	{
+		goto setup_error;
+	}
+	
+	if(test_bit(EV_KEY, events))
+	{
+		if(ioctl(source, EVIOCGBIT(EV_KEY, KEY_MAX), bits) == -1)
+		{
+			goto setup_error;
+		}
+		
+		if(ioctl(fd, UI_SET_EVBIT, EV_KEY) == -1)
+		{
+			goto setup_error;
+		}
+		
+		/* only forward mouse button events */
+		for(key = BTN_MISC; key <= BTN_GEAR_UP; key++)
+		{
+			if(test_bit(key, bits))
+			{
+				if(ioctl(fd, UI_SET_KEYBIT, key) == -1)
+				{
+					goto setup_error;
+				}
+			}
+		}
+	}
+	if(test_bit(EV_REL, events))
+	{
+		if(ioctl(source, EVIOCGBIT(EV_REL, REL_MAX), bits) == -1)
+		{
+			goto setup_error;
+		}
+		if(ioctl(fd, UI_SET_EVBIT, EV_REL) == -1)
+		{
+			goto setup_error;
+		}
+		for(key = 0; key <= REL_MAX; key++)
+		{
+			if(test_bit(key, bits))
+			{
+				if(ioctl(fd, UI_SET_RELBIT, key) == -1)
+				{
+					goto setup_error;
+				}
+			}
+		}
+	}
+	if(test_bit(EV_ABS, events))
+	{
+		if(ioctl(source, EVIOCGBIT(EV_ABS, ABS_MAX), bits) == -1)
+		{
+			goto setup_error;
+		}
+		if(ioctl(fd, UI_SET_EVBIT, EV_ABS) == -1)
+		{
+			goto setup_error;
+		}
+		for(key = 0; key <= ABS_MAX; key++)
+		{
+			if(test_bit(key, bits))
+			{
+				if(ioctl(fd, UI_SET_ABSBIT, key) == -1)
+				{
+					goto setup_error;
+				}
+			}
+		}
+	}
+	
+
+	if(ioctl(fd, UI_DEV_CREATE) == -1)
+	{
+		goto setup_error;
+	}
+	return fd;
+	
+ setup_error:
+	logprintf(LOG_ERR, "could not setup %s\n", "uinput");
+	logperror(LOG_ERR, NULL);
+	close(fd);
+	return -1;
+}
 
 #if 0
 /* using fnmatch */
@@ -217,13 +361,26 @@
 	}
 	
 #ifdef EVIOCGRAB
+	exclusive = 1;
 	if (ioctl(hw.fd, EVIOCGRAB, 1) == -1)
 	{
+		exclusive = 0;
 		logprintf(LOG_WARNING, "can't get exclusive access to events "
 			  "coming from `%s' interface",
 			  hw.device);
 	}
 #endif
+	return 1;
+}
+
+int devinput_init_fwd()
+{
+	if(!devinput_init()) return 0;
+	
+	if(exclusive)
+	{
+		uinputfd = setup_uinputfd("(lircd bypass)", hw.fd);
+	}
 	
 	return 1;
 }
@@ -232,6 +389,12 @@
 int devinput_deinit(void)
 {
 	logprintf(LOG_INFO, "closing '%s'", hw.device);
+	if(uinputfd != -1)
+	{
+		ioctl(uinputfd, UI_DEV_DESTROY);
+		close(uinputfd);
+		uinputfd = -1;
+	}
 	close(hw.fd);
 	hw.fd=-1;
 	return 1;
@@ -271,7 +434,10 @@
 	rd = read(hw.fd, &event, sizeof event);
 	if (rd != sizeof event) {
 		logprintf(LOG_ERR, "error reading '%s'", hw.device);
-		if(rd <= 0 && errno != EINTR) raise(SIGTERM);
+		if(rd <= 0 && errno != EINTR)
+		{
+			devinput_deinit();
+		}
 		return 0;
 	}
 
@@ -292,6 +458,25 @@
 
 	LOGPRINTF(1, "code %.8llx", code);
 
+	if(uinputfd != -1)
+	{
+		if(event.type == EV_REL ||
+		   event.type == EV_ABS ||
+		   (event.type == EV_KEY &&
+		    event.code >= BTN_MISC &&
+		    event.code <= BTN_GEAR_UP) ||
+		   event.type == EV_SYN)
+		{
+			LOGPRINTF(1, "forwarding: %04x %04x", event.type, event.code);
+			if(write(uinputfd, &event, sizeof(event)) != sizeof(event))
+			{
+				logprintf(LOG_ERR, "writing to uinput failed");
+				logperror(LOG_ERR, NULL);
+			}
+			return NULL;
+		}
+	}
+	
 	/* ignore EV_SYN */
 	if(event.type == EV_SYN) return NULL;
 


Index: lirc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/lirc/F-11/lirc.spec,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -p -r1.56 -r1.57
--- lirc.spec	14 Sep 2009 04:16:25 -0000	1.56
+++ lirc.spec	29 Apr 2010 13:47:14 -0000	1.57
@@ -18,7 +18,7 @@
 
 Name:           lirc
 Version:        0.8.6
-Release:        1%{?pre:.%{pre}}%{?dist}
+Release:        2%{?pre:.%{pre}}%{?dist}
 Summary:        The Linux Infrared Remote Control package
 
 Group:          System Environment/Daemons
@@ -29,10 +29,12 @@ Source0:        http://downloads.sourcef
 Source1:        %{name}.init
 Source2:        %{name}.sysconfig
 Patch0:         lirc-use-new-instead-of-conf-as-filename-suffix.patch
+Patch1:         lirc-0.8.6-devinput-pass-mouse-events.patch
 # https://bugzilla.redhat.com/show_bug.cgi?id=457273
 # http://thread.gmane.org/gmane.comp.hardware.lirc/6884
-Patch1:		lirc-0.8.6-standardized-remote-keycodes.patch
-Patch2:         lirc-0.8.4-make-remote-names-all-unique.patch
+Patch2:		lirc-0.8.6-standardized-remote-keycodes.patch
+Patch3:         lirc-0.8.4-make-remote-names-all-unique.patch
+Patch4:         lirc-0.8.6-devinput-conf-update.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  %{__perl}
@@ -119,6 +121,7 @@ of remote control configuration files.
 %prep
 %setup -q -n %{name}-%{version}%{?pre}
 %patch0 -p1
+%patch1 -p1
 
 chmod 644 contrib/*
 chmod +x contrib/hal
@@ -159,8 +162,9 @@ touch -r aclocal.m4 configure.ac # avoid
 
 # Do this after, as we're touching the remote definitions earlier
 # Don't create a backup, or the original definitions will get installed
-%patch1 -p1
 %patch2 -p1
+%patch3 -p1
+%patch4 -p1
 # Re-run autofoo for new cvs features
 #autoreconf -i -f
 #automake
@@ -283,6 +287,10 @@ fi
 
 
 %changelog
+* Thu Apr 29 2010 Jarod Wilson <jarod at redhat.com> 0.8.6-2
+- Add devinput mouse event passthru to uinput support from lirc cvs
+- Update devinput lircd.conf with additional keys from input.h
+
 * Sun Sep 13 2009 Jarod Wilson <jarod at redhat.com> 0.8.6-1
 - Update to lirc 0.8.6 release
 



More information about the scm-commits mailing list