Evdev: Move name tables to joystick.cpp

This commit is contained in:
Ilari Liusvaara 2012-04-13 17:04:07 +03:00
parent 4a2d7d0563
commit f4a18b5d68
6 changed files with 145 additions and 2205 deletions

View file

@ -1,122 +0,0 @@
extern "C" {
#include <linux/input.h>
}
void evdev_init_axes(const char** x) {
#ifdef ABS_X
x[ABS_X] = "X";
#endif
#ifdef ABS_Y
x[ABS_Y] = "Y";
#endif
#ifdef ABS_Z
x[ABS_Z] = "Z";
#endif
#ifdef ABS_RX
x[ABS_RX] = "RX";
#endif
#ifdef ABS_RY
x[ABS_RY] = "RY";
#endif
#ifdef ABS_RZ
x[ABS_RZ] = "RZ";
#endif
#ifdef ABS_THROTTLE
x[ABS_THROTTLE] = "THROTTLE";
#endif
#ifdef ABS_RUDDER
x[ABS_RUDDER] = "RUDDER";
#endif
#ifdef ABS_WHEEL
x[ABS_WHEEL] = "WHEEL";
#endif
#ifdef ABS_GAS
x[ABS_GAS] = "GAS";
#endif
#ifdef ABS_BRAKE
x[ABS_BRAKE] = "BRAKE";
#endif
#ifdef ABS_HAT0X
x[ABS_HAT0X] = "HAT0X";
#endif
#ifdef ABS_HAT0Y
x[ABS_HAT0Y] = "HAT0Y";
#endif
#ifdef ABS_HAT1X
x[ABS_HAT1X] = "HAT1X";
#endif
#ifdef ABS_HAT1Y
x[ABS_HAT1Y] = "HAT1Y";
#endif
#ifdef ABS_HAT2X
x[ABS_HAT2X] = "HAT2X";
#endif
#ifdef ABS_HAT2Y
x[ABS_HAT2Y] = "HAT2Y";
#endif
#ifdef ABS_HAT3X
x[ABS_HAT3X] = "HAT3X";
#endif
#ifdef ABS_HAT3Y
x[ABS_HAT3Y] = "HAT3Y";
#endif
#ifdef ABS_PRESSURE
x[ABS_PRESSURE] = "PRESSURE";
#endif
#ifdef ABS_DISTANCE
x[ABS_DISTANCE] = "DISTANCE";
#endif
#ifdef ABS_TILT_X
x[ABS_TILT_X] = "TILT_X";
#endif
#ifdef ABS_TILT_Y
x[ABS_TILT_Y] = "TILT_Y";
#endif
#ifdef ABS_TOOL_WIDTH
x[ABS_TOOL_WIDTH] = "TOOL_WIDTH";
#endif
#ifdef ABS_VOLUME
x[ABS_VOLUME] = "VOLUME";
#endif
#ifdef ABS_MISC
x[ABS_MISC] = "MISC";
#endif
#ifdef ABS_MT_SLOT
x[ABS_MT_SLOT] = "MT_SLOT";
#endif
#ifdef ABS_MT_TOUCH_MAJOR
x[ABS_MT_TOUCH_MAJOR] = "MT_TOUCH_MAJOR";
#endif
#ifdef ABS_MT_TOUCH_MINOR
x[ABS_MT_TOUCH_MINOR] = "MT_TOUCH_MINOR";
#endif
#ifdef ABS_MT_WIDTH_MAJOR
x[ABS_MT_WIDTH_MAJOR] = "MT_WIDTH_MAJOR";
#endif
#ifdef ABS_MT_WIDTH_MINOR
x[ABS_MT_WIDTH_MINOR] = "MT_WIDTH_MINOR";
#endif
#ifdef ABS_MT_ORIENTATION
x[ABS_MT_ORIENTATION] = "MT_ORIENTATION";
#endif
#ifdef ABS_MT_POSITION_X
x[ABS_MT_POSITION_X] = "MT_POSITION_X";
#endif
#ifdef ABS_MT_POSITION_Y
x[ABS_MT_POSITION_Y] = "MT_POSITION_Y";
#endif
#ifdef ABS_MT_TOOL_TYPE
x[ABS_MT_TOOL_TYPE] = "MT_TOOL_TYPE";
#endif
#ifdef ABS_MT_BLOB_ID
x[ABS_MT_BLOB_ID] = "MT_BLOB_ID";
#endif
#ifdef ABS_MT_TRACKING_ID
x[ABS_MT_TRACKING_ID] = "MT_TRACKING_ID";
#endif
#ifdef ABS_MT_PRESSURE
x[ABS_MT_PRESSURE] = "MT_PRESSURE";
#endif
#ifdef ABS_MT_DISTANCE
x[ABS_MT_DISTANCE] = "MT_DISTANCE";
#endif
}

View file

@ -1,40 +0,0 @@
evdev_init_axes
ABS_X X
ABS_Y Y
ABS_Z Z
ABS_RX RX
ABS_RY RY
ABS_RZ RZ
ABS_THROTTLE THROTTLE
ABS_RUDDER RUDDER
ABS_WHEEL WHEEL
ABS_GAS GAS
ABS_BRAKE BRAKE
ABS_HAT0X HAT0X
ABS_HAT0Y HAT0Y
ABS_HAT1X HAT1X
ABS_HAT1Y HAT1Y
ABS_HAT2X HAT2X
ABS_HAT2Y HAT2Y
ABS_HAT3X HAT3X
ABS_HAT3Y HAT3Y
ABS_PRESSURE PRESSURE
ABS_DISTANCE DISTANCE
ABS_TILT_X TILT_X
ABS_TILT_Y TILT_Y
ABS_TOOL_WIDTH TOOL_WIDTH
ABS_VOLUME VOLUME
ABS_MISC MISC
ABS_MT_SLOT MT_SLOT
ABS_MT_TOUCH_MAJOR MT_TOUCH_MAJOR
ABS_MT_TOUCH_MINOR MT_TOUCH_MINOR
ABS_MT_WIDTH_MAJOR MT_WIDTH_MAJOR
ABS_MT_WIDTH_MINOR MT_WIDTH_MINOR
ABS_MT_ORIENTATION MT_ORIENTATION
ABS_MT_POSITION_X MT_POSITION_X
ABS_MT_POSITION_Y MT_POSITION_Y
ABS_MT_TOOL_TYPE MT_TOOL_TYPE
ABS_MT_BLOB_ID MT_BLOB_ID
ABS_MT_TRACKING_ID MT_TRACKING_ID
ABS_MT_PRESSURE MT_PRESSURE
ABS_MT_DISTANCE MT_DISTANCE

File diff suppressed because it is too large Load diff

View file

@ -1,505 +0,0 @@
evdev_init_buttons
KEY_RESERVED RESERVED
KEY_ESC ESC
KEY_1 1
KEY_2 2
KEY_3 3
KEY_4 4
KEY_5 5
KEY_6 6
KEY_7 7
KEY_8 8
KEY_9 9
KEY_0 0
KEY_MINUS MINUS
KEY_EQUAL EQUAL
KEY_BACKSPACE BACKSPACE
KEY_TAB TAB
KEY_Q Q
KEY_W W
KEY_E E
KEY_R R
KEY_T T
KEY_Y Y
KEY_U U
KEY_I I
KEY_O O
KEY_P P
KEY_LEFTBRACE LEFTBRACE
KEY_RIGHTBRACE RIGHTBRACE
KEY_ENTER ENTER
KEY_LEFTCTRL LEFTCTRL
KEY_A A
KEY_S S
KEY_D D
KEY_F F
KEY_G G
KEY_H H
KEY_J J
KEY_K K
KEY_L L
KEY_SEMICOLON SEMICOLON
KEY_APOSTROPHE APOSTROPHE
KEY_GRAVE GRAVE
KEY_LEFTSHIFT LEFTSHIFT
KEY_BACKSLASH BACKSLASH
KEY_Z Z
KEY_X X
KEY_C C
KEY_V V
KEY_B B
KEY_N N
KEY_M M
KEY_COMMA COMMA
KEY_DOT DOT
KEY_SLASH SLASH
KEY_RIGHTSHIFT RIGHTSHIFT
KEY_KPASTERISK KPASTERISK
KEY_LEFTALT LEFTALT
KEY_SPACE SPACE
KEY_CAPSLOCK CAPSLOCK
KEY_F1 F1
KEY_F2 F2
KEY_F3 F3
KEY_F4 F4
KEY_F5 F5
KEY_F6 F6
KEY_F7 F7
KEY_F8 F8
KEY_F9 F9
KEY_F10 F10
KEY_NUMLOCK NUMLOCK
KEY_SCROLLLOCK SCROLLLOCK
KEY_KP7 KP7
KEY_KP8 KP8
KEY_KP9 KP9
KEY_KPMINUS KPMINUS
KEY_KP4 KP4
KEY_KP5 KP5
KEY_KP6 KP6
KEY_KPPLUS KPPLUS
KEY_KP1 KP1
KEY_KP2 KP2
KEY_KP3 KP3
KEY_KP0 KP0
KEY_KPDOT KPDOT
KEY_ZENKAKUHANKAKU ZENKAKUHANKAKU
KEY_102ND 102ND
KEY_F11 F11
KEY_F12 F12
KEY_RO RO
KEY_KATAKANA KATAKANA
KEY_HIRAGANA HIRAGANA
KEY_HENKAN HENKAN
KEY_KATAKANAHIRAGANA KATAKANAHIRAGANA
KEY_MUHENKAN MUHENKAN
KEY_KPJPCOMMA KPJPCOMMA
KEY_KPENTER KPENTER
KEY_RIGHTCTRL RIGHTCTRL
KEY_KPSLASH KPSLASH
KEY_SYSRQ SYSRQ
KEY_RIGHTALT RIGHTALT
KEY_LINEFEED LINEFEED
KEY_HOME HOME
KEY_UP UP
KEY_PAGEUP PAGEUP
KEY_LEFT LEFT
KEY_RIGHT RIGHT
KEY_END END
KEY_DOWN DOWN
KEY_PAGEDOWN PAGEDOWN
KEY_INSERT INSERT
KEY_DELETE DELETE
KEY_MACRO MACRO
KEY_MUTE MUTE
KEY_VOLUMEDOWN VOLUMEDOWN
KEY_VOLUMEUP VOLUMEUP
KEY_POWER POWER
KEY_KPEQUAL KPEQUAL
KEY_KPPLUSMINUS KPPLUSMINUS
KEY_PAUSE PAUSE
KEY_SCALE SCALE
KEY_KPCOMMA KPCOMMA
KEY_HANGEUL HANGEUL
KEY_HANGUEL HANGUEL
KEY_HANJA HANJA
KEY_YEN YEN
KEY_LEFTMETA LEFTMETA
KEY_RIGHTMETA RIGHTMETA
KEY_COMPOSE COMPOSE
KEY_STOP STOP
KEY_AGAIN AGAIN
KEY_PROPS PROPS
KEY_UNDO UNDO
KEY_FRONT FRONT
KEY_COPY COPY
KEY_OPEN OPEN
KEY_PASTE PASTE
KEY_FIND FIND
KEY_CUT CUT
KEY_HELP HELP
KEY_MENU MENU
KEY_CALC CALC
KEY_SETUP SETUP
KEY_SLEEP SLEEP
KEY_WAKEUP WAKEUP
KEY_FILE FILE
KEY_SENDFILE SENDFILE
KEY_DELETEFILE DELETEFILE
KEY_XFER XFER
KEY_PROG1 PROG1
KEY_PROG2 PROG2
KEY_WWW WWW
KEY_MSDOS MSDOS
KEY_COFFEE COFFEE
KEY_SCREENLOCK SCREENLOCK
KEY_DIRECTION DIRECTION
KEY_CYCLEWINDOWS CYCLEWINDOWS
KEY_MAIL MAIL
KEY_BOOKMARKS BOOKMARKS
KEY_COMPUTER COMPUTER
KEY_BACK BACK
KEY_FORWARD FORWARD
KEY_CLOSECD CLOSECD
KEY_EJECTCD EJECTCD
KEY_EJECTCLOSECD EJECTCLOSECD
KEY_NEXTSONG NEXTSONG
KEY_PLAYPAUSE PLAYPAUSE
KEY_PREVIOUSSONG PREVIOUSSONG
KEY_STOPCD STOPCD
KEY_RECORD RECORD
KEY_REWIND REWIND
KEY_PHONE PHONE
KEY_ISO ISO
KEY_CONFIG CONFIG
KEY_HOMEPAGE HOMEPAGE
KEY_REFRESH REFRESH
KEY_EXIT EXIT
KEY_MOVE MOVE
KEY_EDIT EDIT
KEY_SCROLLUP SCROLLUP
KEY_SCROLLDOWN SCROLLDOWN
KEY_KPLEFTPAREN KPLEFTPAREN
KEY_KPRIGHTPAREN KPRIGHTPAREN
KEY_NEW NEW
KEY_REDO REDO
KEY_F13 F13
KEY_F14 F14
KEY_F15 F15
KEY_F16 F16
KEY_F17 F17
KEY_F18 F18
KEY_F19 F19
KEY_F20 F20
KEY_F21 F21
KEY_F22 F22
KEY_F23 F23
KEY_F24 F24
KEY_PLAYCD PLAYCD
KEY_PAUSECD PAUSECD
KEY_PROG3 PROG3
KEY_PROG4 PROG4
KEY_DASHBOARD DASHBOARD
KEY_SUSPEND SUSPEND
KEY_CLOSE CLOSE
KEY_PLAY PLAY
KEY_FASTFORWARD FASTFORWARD
KEY_BASSBOOST BASSBOOST
KEY_PRINT PRINT
KEY_HP HP
KEY_CAMERA CAMERA
KEY_SOUND SOUND
KEY_QUESTION QUESTION
KEY_EMAIL EMAIL
KEY_CHAT CHAT
KEY_SEARCH SEARCH
KEY_CONNECT CONNECT
KEY_FINANCE FINANCE
KEY_SPORT SPORT
KEY_SHOP SHOP
KEY_ALTERASE ALTERASE
KEY_CANCEL CANCEL
KEY_BRIGHTNESSDOWN BRIGHTNESSDOWN
KEY_BRIGHTNESSUP BRIGHTNESSUP
KEY_MEDIA MEDIA
KEY_SWITCHVIDEOMODE SWITCHVIDEOMODE
KEY_KBDILLUMTOGGLE KBDILLUMTOGGLE
KEY_KBDILLUMDOWN KBDILLUMDOWN
KEY_KBDILLUMUP KBDILLUMUP
KEY_SEND SEND
KEY_REPLY REPLY
KEY_FORWARDMAIL FORWARDMAIL
KEY_SAVE SAVE
KEY_DOCUMENTS DOCUMENTS
KEY_BATTERY BATTERY
KEY_BLUETOOTH BLUETOOTH
KEY_WLAN WLAN
KEY_UWB UWB
KEY_UNKNOWN UNKNOWN
KEY_VIDEO_NEXT VIDEO_NEXT
KEY_VIDEO_PREV VIDEO_PREV
KEY_BRIGHTNESS_CYCLE BRIGHTNESS_CYCLE
KEY_BRIGHTNESS_ZERO BRIGHTNESS_ZERO
KEY_DISPLAY_OFF DISPLAY_OFF
KEY_WIMAX WIMAX
KEY_RFKILL RFKILL
KEY_MICMUTE MICMUTE
BTN_MISC Button MISC
BTN_0 Button 0
BTN_1 Button 1
BTN_2 Button 2
BTN_3 Button 3
BTN_4 Button 4
BTN_5 Button 5
BTN_6 Button 6
BTN_7 Button 7
BTN_8 Button 8
BTN_9 Button 9
BTN_MOUSE Button MOUSE
BTN_LEFT Button LEFT
BTN_RIGHT Button RIGHT
BTN_MIDDLE Button MIDDLE
BTN_SIDE Button SIDE
BTN_EXTRA Button EXTRA
BTN_FORWARD Button FORWARD
BTN_BACK Button BACK
BTN_TASK Button TASK
BTN_JOYSTICK Button JOYSTICK
BTN_TRIGGER Button TRIGGER
BTN_THUMB Button THUMB
BTN_THUMB2 Button THUMB2
BTN_TOP Button TOP
BTN_TOP2 Button TOP2
BTN_PINKIE Button PINKIE
BTN_BASE Button BASE
BTN_BASE2 Button BASE2
BTN_BASE3 Button BASE3
BTN_BASE4 Button BASE4
BTN_BASE5 Button BASE5
BTN_BASE6 Button BASE6
BTN_DEAD Button DEAD
BTN_GAMEPAD Button GAMEPAD
BTN_A Button A
BTN_B Button B
BTN_C Button C
BTN_X Button X
BTN_Y Button Y
BTN_Z Button Z
BTN_TL Button TL
BTN_TR Button TR
BTN_TL2 Button TL2
BTN_TR2 Button TR2
BTN_SELECT Button SELECT
BTN_START Button START
BTN_MODE Button MODE
BTN_THUMBL Button THUMBL
BTN_THUMBR Button THUMBR
BTN_DIGI Button DIGI
BTN_TOOL_PEN Button TOOL_PEN
BTN_TOOL_RUBBER Button TOOL_RUBBER
BTN_TOOL_BRUSH Button TOOL_BRUSH
BTN_TOOL_PENCIL Button TOOL_PENCIL
BTN_TOOL_AIRBRUSH Button TOOL_AIRBRUSH
BTN_TOOL_FINGER Button TOOL_FINGER
BTN_TOOL_MOUSE Button TOOL_MOUSE
BTN_TOOL_LENS Button TOOL_LENS
BTN_TOUCH Button TOUCH
BTN_STYLUS Button STYLUS
BTN_STYLUS2 Button STYLUS2
BTN_TOOL_DOUBLETAP Button TOOL_DOUBLETAP
BTN_TOOL_TRIPLETAP Button TOOL_TRIPLETAP
BTN_TOOL_QUADTAP Button TOOL_QUADTAP
BTN_TOOL_QUINTTAP Button TOOL_QUINTTAP
BTN_WHEEL Button WHEEL
BTN_GEAR_DOWN Button GEAR_DOWN
BTN_GEAR_UP Button GEAR_UP
KEY_OK OK
KEY_SELECT SELECT
KEY_GOTO GOTO
KEY_CLEAR CLEAR
KEY_POWER2 POWER2
KEY_OPTION OPTION
KEY_INFO INFO
KEY_TIME TIME
KEY_VENDOR VENDOR
KEY_ARCHIVE ARCHIVE
KEY_PROGRAM PROGRAM
KEY_CHANNEL CHANNEL
KEY_FAVORITES FAVORITES
KEY_EPG EPG
KEY_PVR PVR
KEY_MHP MHP
KEY_LANGUAGE LANGUAGE
KEY_TITLE TITLE
KEY_SUBTITLE SUBTITLE
KEY_ANGLE ANGLE
KEY_ZOOM ZOOM
KEY_MODE MODE
KEY_KEYBOARD KEYBOARD
KEY_SCREEN SCREEN
KEY_PC PC
KEY_TV TV
KEY_TV2 TV2
KEY_VCR VCR
KEY_VCR2 VCR2
KEY_SAT SAT
KEY_SAT2 SAT2
KEY_CD CD
KEY_TAPE TAPE
KEY_RADIO RADIO
KEY_TUNER TUNER
KEY_PLAYER PLAYER
KEY_TEXT TEXT
KEY_DVD DVD
KEY_AUX AUX
KEY_MP3 MP3
KEY_AUDIO AUDIO
KEY_VIDEO VIDEO
KEY_DIRECTORY DIRECTORY
KEY_LIST LIST
KEY_MEMO MEMO
KEY_CALENDAR CALENDAR
KEY_RED RED
KEY_GREEN GREEN
KEY_YELLOW YELLOW
KEY_BLUE BLUE
KEY_CHANNELUP CHANNELUP
KEY_CHANNELDOWN CHANNELDOWN
KEY_FIRST FIRST
KEY_LAST LAST
KEY_AB AB
KEY_NEXT NEXT
KEY_RESTART RESTART
KEY_SLOW SLOW
KEY_SHUFFLE SHUFFLE
KEY_BREAK BREAK
KEY_PREVIOUS PREVIOUS
KEY_DIGITS DIGITS
KEY_TEEN TEEN
KEY_TWEN TWEN
KEY_VIDEOPHONE VIDEOPHONE
KEY_GAMES GAMES
KEY_ZOOMIN ZOOMIN
KEY_ZOOMOUT ZOOMOUT
KEY_ZOOMRESET ZOOMRESET
KEY_WORDPROCESSOR WORDPROCESSOR
KEY_EDITOR EDITOR
KEY_SPREADSHEET SPREADSHEET
KEY_GRAPHICSEDITOR GRAPHICSEDITOR
KEY_PRESENTATION PRESENTATION
KEY_DATABASE DATABASE
KEY_NEWS NEWS
KEY_VOICEMAIL VOICEMAIL
KEY_ADDRESSBOOK ADDRESSBOOK
KEY_MESSENGER MESSENGER
KEY_DISPLAYTOGGLE DISPLAYTOGGLE
KEY_SPELLCHECK SPELLCHECK
KEY_LOGOFF LOGOFF
KEY_DOLLAR DOLLAR
KEY_EURO EURO
KEY_FRAMEBACK FRAMEBACK
KEY_FRAMEFORWARD FRAMEFORWARD
KEY_CONTEXT_MENU CONTEXT_MENU
KEY_MEDIA_REPEAT MEDIA_REPEAT
KEY_10CHANNELSUP 10CHANNELSUP
KEY_10CHANNELSDOWN 10CHANNELSDOWN
KEY_IMAGES IMAGES
KEY_DEL_EOL DEL_EOL
KEY_DEL_EOS DEL_EOS
KEY_INS_LINE INS_LINE
KEY_DEL_LINE DEL_LINE
KEY_FN FN
KEY_FN_ESC FN_ESC
KEY_FN_F1 FN_F1
KEY_FN_F2 FN_F2
KEY_FN_F3 FN_F3
KEY_FN_F4 FN_F4
KEY_FN_F5 FN_F5
KEY_FN_F6 FN_F6
KEY_FN_F7 FN_F7
KEY_FN_F8 FN_F8
KEY_FN_F9 FN_F9
KEY_FN_F10 FN_F10
KEY_FN_F11 FN_F11
KEY_FN_F12 FN_F12
KEY_FN_1 FN_1
KEY_FN_2 FN_2
KEY_FN_D FN_D
KEY_FN_E FN_E
KEY_FN_F FN_F
KEY_FN_S FN_S
KEY_FN_B FN_B
KEY_BRL_DOT1 BRL_DOT1
KEY_BRL_DOT2 BRL_DOT2
KEY_BRL_DOT3 BRL_DOT3
KEY_BRL_DOT4 BRL_DOT4
KEY_BRL_DOT5 BRL_DOT5
KEY_BRL_DOT6 BRL_DOT6
KEY_BRL_DOT7 BRL_DOT7
KEY_BRL_DOT8 BRL_DOT8
KEY_BRL_DOT9 BRL_DOT9
KEY_BRL_DOT10 BRL_DOT10
KEY_NUMERIC_0 NUMERIC_0
KEY_NUMERIC_1 NUMERIC_1
KEY_NUMERIC_2 NUMERIC_2
KEY_NUMERIC_3 NUMERIC_3
KEY_NUMERIC_4 NUMERIC_4
KEY_NUMERIC_5 NUMERIC_5
KEY_NUMERIC_6 NUMERIC_6
KEY_NUMERIC_7 NUMERIC_7
KEY_NUMERIC_8 NUMERIC_8
KEY_NUMERIC_9 NUMERIC_9
KEY_NUMERIC_STAR NUMERIC_STAR
KEY_NUMERIC_POUND NUMERIC_POUND
KEY_CAMERA_FOCUS CAMERA_FOCUS
KEY_WPS_BUTTON WPS_BUTTON
KEY_TOUCHPAD_TOGGLE TOUCHPAD_TOGGLE
KEY_TOUCHPAD_ON TOUCHPAD_ON
KEY_TOUCHPAD_OFF TOUCHPAD_OFF
KEY_CAMERA_ZOOMIN CAMERA_ZOOMIN
KEY_CAMERA_ZOOMOUT CAMERA_ZOOMOUT
KEY_CAMERA_UP CAMERA_UP
KEY_CAMERA_DOWN CAMERA_DOWN
KEY_CAMERA_LEFT CAMERA_LEFT
KEY_CAMERA_RIGHT CAMERA_RIGHT
BTN_TRIGGER_HAPPY Button TRIGGER_HAPPY
BTN_TRIGGER_HAPPY1 Button TRIGGER_HAPPY1
BTN_TRIGGER_HAPPY2 Button TRIGGER_HAPPY2
BTN_TRIGGER_HAPPY3 Button TRIGGER_HAPPY3
BTN_TRIGGER_HAPPY4 Button TRIGGER_HAPPY4
BTN_TRIGGER_HAPPY5 Button TRIGGER_HAPPY5
BTN_TRIGGER_HAPPY6 Button TRIGGER_HAPPY6
BTN_TRIGGER_HAPPY7 Button TRIGGER_HAPPY7
BTN_TRIGGER_HAPPY8 Button TRIGGER_HAPPY8
BTN_TRIGGER_HAPPY9 Button TRIGGER_HAPPY9
BTN_TRIGGER_HAPPY10 Button TRIGGER_HAPPY10
BTN_TRIGGER_HAPPY11 Button TRIGGER_HAPPY11
BTN_TRIGGER_HAPPY12 Button TRIGGER_HAPPY12
BTN_TRIGGER_HAPPY13 Button TRIGGER_HAPPY13
BTN_TRIGGER_HAPPY14 Button TRIGGER_HAPPY14
BTN_TRIGGER_HAPPY15 Button TRIGGER_HAPPY15
BTN_TRIGGER_HAPPY16 Button TRIGGER_HAPPY16
BTN_TRIGGER_HAPPY17 Button TRIGGER_HAPPY17
BTN_TRIGGER_HAPPY18 Button TRIGGER_HAPPY18
BTN_TRIGGER_HAPPY19 Button TRIGGER_HAPPY19
BTN_TRIGGER_HAPPY20 Button TRIGGER_HAPPY20
BTN_TRIGGER_HAPPY21 Button TRIGGER_HAPPY21
BTN_TRIGGER_HAPPY22 Button TRIGGER_HAPPY22
BTN_TRIGGER_HAPPY23 Button TRIGGER_HAPPY23
BTN_TRIGGER_HAPPY24 Button TRIGGER_HAPPY24
BTN_TRIGGER_HAPPY25 Button TRIGGER_HAPPY25
BTN_TRIGGER_HAPPY26 Button TRIGGER_HAPPY26
BTN_TRIGGER_HAPPY27 Button TRIGGER_HAPPY27
BTN_TRIGGER_HAPPY28 Button TRIGGER_HAPPY28
BTN_TRIGGER_HAPPY29 Button TRIGGER_HAPPY29
BTN_TRIGGER_HAPPY30 Button TRIGGER_HAPPY30
BTN_TRIGGER_HAPPY31 Button TRIGGER_HAPPY31
BTN_TRIGGER_HAPPY32 Button TRIGGER_HAPPY32
BTN_TRIGGER_HAPPY33 Button TRIGGER_HAPPY33
BTN_TRIGGER_HAPPY34 Button TRIGGER_HAPPY34
BTN_TRIGGER_HAPPY35 Button TRIGGER_HAPPY35
BTN_TRIGGER_HAPPY36 Button TRIGGER_HAPPY36
BTN_TRIGGER_HAPPY37 Button TRIGGER_HAPPY37
BTN_TRIGGER_HAPPY38 Button TRIGGER_HAPPY38
BTN_TRIGGER_HAPPY39 Button TRIGGER_HAPPY39
BTN_TRIGGER_HAPPY40 Button TRIGGER_HAPPY40

View file

@ -20,17 +20,155 @@ extern "C"
#include <linux/input.h>
}
extern void evdev_init_buttons(const char** x);
extern void evdev_init_axes(const char** x);
namespace
{
const char* axisnames[ABS_MAX + 1] = {0};
const char* buttonnames[KEY_MAX + 1] = {0};
const char* axisnames[64] = {
"X", "Y", "Z", "RX", "RY", "RZ", "THROTTLE", "RUDDER", "WHEEL", "GAS", "BRAKE", "Unknown axis #11",
"Unknown axis #12", "Unknown axis #13", "Unknown axis #14", "Unknown axis #15", "HAT0X", "HAT0Y",
"HAT1X", "HAT1Y", "HAT2X", "HAT2Y", "HAT3X", "HAT3Y", "PRESSURE", "DISTANCE", "TILT_X", "TILT_Y",
"TOOL_WIDTH", "Unknown axis #29", "Unknown axis #30", "Unknown axis #31", "VOLUME", "Unknown axis #33",
"Unknown axis #34", "Unknown axis #35", "Unknown axis #36", "Unknown axis #37", "Unknown axis #38",
"Unknown axis #39", "MISC", "Unknown axis #41", "Unknown axis #42", "Unknown axis #43",
"Unknown axis #44", "Unknown axis #45", "Unknown axis #46", "MT_SLOT", "MT_TOUCH_MAJOR",
"MT_TOUCH_MINOR", "MT_WIDTH_MAJOR", "MT_WIDTH_MINOR", "MT_ORIENTATION", "MT_POSITION_X",
"MT_POSITION_Y", "MT_TOOL_TYPE", "MT_BLOB_ID", "MT_TRACKING_ID", "MT_PRESSURE", "MT_DISTANCE",
"Unknown axis #60", "Unknown axis #61", "Unknown axis #62", "Unknown axis #63"
};
const char* buttonnames[768] = {
"RESERVED", "ESC", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "MINUS", "EQUAL", "BACKSPACE",
"TAB", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "LEFTBRACE", "RIGHTBRACE", "ENTER",
"LEFTCTRL", "A", "S", "D", "F", "G", "H", "J", "K", "L", "SEMICOLON", "APOSTROPHE", "GRAVE",
"LEFTSHIFT", "BACKSLASH", "Z", "X", "C", "V", "B", "N", "M", "COMMA", "DOT", "SLASH", "RIGHTSHIFT",
"KPASTERISK", "LEFTALT", "SPACE", "CAPSLOCK", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9",
"F10", "NUMLOCK", "SCROLLLOCK", "KP7", "KP8", "KP9", "KPMINUS", "KP4", "KP5", "KP6", "KPPLUS", "KP1",
"KP2", "KP3", "KP0", "KPDOT", "Unknown button #84", "ZENKAKUHANKAKU", "102ND", "F11", "F12", "RO",
"KATAKANA", "HIRAGANA", "HENKAN", "KATAKANAHIRAGANA", "MUHENKAN", "KPJPCOMMA", "KPENTER", "RIGHTCTRL",
"KPSLASH", "SYSRQ", "RIGHTALT", "LINEFEED", "HOME", "UP", "PAGEUP", "LEFT", "RIGHT", "END", "DOWN",
"PAGEDOWN", "INSERT", "DELETE", "MACRO", "MUTE", "VOLUMEDOWN", "VOLUMEUP", "POWER", "KPEQUAL",
"KPPLUSMINUS", "PAUSE", "SCALE", "KPCOMMA", "HANGUEL", "HANJA", "YEN", "LEFTMETA", "RIGHTMETA",
"COMPOSE", "STOP", "AGAIN", "PROPS", "UNDO", "FRONT", "COPY", "OPEN", "PASTE", "FIND", "CUT", "HELP",
"MENU", "CALC", "SETUP", "SLEEP", "WAKEUP", "FILE", "SENDFILE", "DELETEFILE", "XFER", "PROG1", "PROG2",
"WWW", "MSDOS", "SCREENLOCK", "DIRECTION", "CYCLEWINDOWS", "MAIL", "BOOKMARKS", "COMPUTER", "BACK",
"FORWARD", "CLOSECD", "EJECTCD", "EJECTCLOSECD", "NEXTSONG", "PLAYPAUSE", "PREVIOUSSONG", "STOPCD",
"RECORD", "REWIND", "PHONE", "ISO", "CONFIG", "HOMEPAGE", "REFRESH", "EXIT", "MOVE", "EDIT",
"SCROLLUP", "SCROLLDOWN", "KPLEFTPAREN", "KPRIGHTPAREN", "NEW", "REDO", "F13", "F14", "F15", "F16",
"F17", "F18", "F19", "F20", "F21", "F22", "F23", "F24", "Unknown button #195", "Unknown button #196",
"Unknown button #197", "Unknown button #198", "Unknown button #199", "PLAYCD", "PAUSECD", "PROG3",
"PROG4", "DASHBOARD", "SUSPEND", "CLOSE", "PLAY", "FASTFORWARD", "BASSBOOST", "PRINT", "HP", "CAMERA",
"SOUND", "QUESTION", "EMAIL", "CHAT", "SEARCH", "CONNECT", "FINANCE", "SPORT", "SHOP", "ALTERASE",
"CANCEL", "BRIGHTNESSDOWN", "BRIGHTNESSUP", "MEDIA", "SWITCHVIDEOMODE", "KBDILLUMTOGGLE",
"KBDILLUMDOWN", "KBDILLUMUP", "SEND", "REPLY", "FORWARDMAIL", "SAVE", "DOCUMENTS", "BATTERY",
"BLUETOOTH", "WLAN", "UWB", "UNKNOWN", "VIDEO_NEXT", "VIDEO_PREV", "BRIGHTNESS_CYCLE",
"BRIGHTNESS_ZERO", "DISPLAY_OFF", "WIMAX", "RFKILL", "MICMUTE", "Unknown button #249",
"Unknown button #250", "Unknown button #251", "Unknown button #252", "Unknown button #253",
"Unknown button #254", "Unknown button #255", "Button 0", "Button 1", "Button 2", "Button 3",
"Button 4", "Button 5", "Button 6", "Button 7", "Button 8", "Button 9", "Unknown button #266",
"Unknown button #267", "Unknown button #268", "Unknown button #269", "Unknown button #270",
"Unknown button #271", "Button LEFT", "Button RIGHT", "Button MIDDLE", "Button SIDE", "Button EXTRA",
"Button FORWARD", "Button BACK", "Button TASK", "Unknown button #280", "Unknown button #281",
"Unknown button #282", "Unknown button #283", "Unknown button #284", "Unknown button #285",
"Unknown button #286", "Unknown button #287", "Button TRIGGER", "Button THUMB", "Button THUMB2",
"Button TOP", "Button TOP2", "Button PINKIE", "Button BASE", "Button BASE2", "Button BASE3",
"Button BASE4", "Button BASE5", "Button BASE6", "Unknown button #300", "Unknown button #301",
"Unknown button #302", "Button DEAD", "Button A", "Button B", "Button C", "Button X", "Button Y",
"Button Z", "Button TL", "Button TR", "Button TL2", "Button TR2", "Button SELECT", "Button START",
"Button MODE", "Button THUMBL", "Button THUMBR", "Unknown button #319", "Button TOOL_PEN",
"Button TOOL_RUBBER", "Button TOOL_BRUSH", "Button TOOL_PENCIL", "Button TOOL_AIRBRUSH",
"Button TOOL_FINGER", "Button TOOL_MOUSE", "Button TOOL_LENS", "Button TOOL_QUINTTAP",
"Unknown button #329", "Button TOUCH", "Button STYLUS", "Button STYLUS2", "Button TOOL_DOUBLETAP",
"Button TOOL_TRIPLETAP", "Button TOOL_QUADTAP", "Button GEAR_DOWN", "Button GEAR_UP",
"Unknown button #338", "Unknown button #339", "Unknown button #340", "Unknown button #341",
"Unknown button #342", "Unknown button #343", "Unknown button #344", "Unknown button #345",
"Unknown button #346", "Unknown button #347", "Unknown button #348", "Unknown button #349",
"Unknown button #350", "Unknown button #351", "OK", "SELECT", "GOTO", "CLEAR", "POWER2", "OPTION",
"INFO", "TIME", "VENDOR", "ARCHIVE", "PROGRAM", "CHANNEL", "FAVORITES", "EPG", "PVR", "MHP",
"LANGUAGE", "TITLE", "SUBTITLE", "ANGLE", "ZOOM", "MODE", "KEYBOARD", "SCREEN", "PC", "TV", "TV2",
"VCR", "VCR2", "SAT", "SAT2", "CD", "TAPE", "RADIO", "TUNER", "PLAYER", "TEXT", "DVD", "AUX", "MP3",
"AUDIO", "VIDEO", "DIRECTORY", "LIST", "MEMO", "CALENDAR", "RED", "GREEN", "YELLOW", "BLUE",
"CHANNELUP", "CHANNELDOWN", "FIRST", "LAST", "AB", "NEXT", "RESTART", "SLOW", "SHUFFLE", "BREAK",
"PREVIOUS", "DIGITS", "TEEN", "TWEN", "VIDEOPHONE", "GAMES", "ZOOMIN", "ZOOMOUT", "ZOOMRESET",
"WORDPROCESSOR", "EDITOR", "SPREADSHEET", "GRAPHICSEDITOR", "PRESENTATION", "DATABASE", "NEWS",
"VOICEMAIL", "ADDRESSBOOK", "MESSENGER", "DISPLAYTOGGLE", "SPELLCHECK", "LOGOFF", "DOLLAR", "EURO",
"FRAMEBACK", "FRAMEFORWARD", "CONTEXT_MENU", "MEDIA_REPEAT", "10CHANNELSUP", "10CHANNELSDOWN",
"IMAGES", "Unknown button #443", "Unknown button #444", "Unknown button #445", "Unknown button #446",
"Unknown button #447", "DEL_EOL", "DEL_EOS", "INS_LINE", "DEL_LINE", "Unknown button #452",
"Unknown button #453", "Unknown button #454", "Unknown button #455", "Unknown button #456",
"Unknown button #457", "Unknown button #458", "Unknown button #459", "Unknown button #460",
"Unknown button #461", "Unknown button #462", "Unknown button #463", "FN", "FN_ESC", "FN_F1", "FN_F2",
"FN_F3", "FN_F4", "FN_F5", "FN_F6", "FN_F7", "FN_F8", "FN_F9", "FN_F10", "FN_F11", "FN_F12", "FN_1",
"FN_2", "FN_D", "FN_E", "FN_F", "FN_S", "FN_B", "Unknown button #485", "Unknown button #486",
"Unknown button #487", "Unknown button #488", "Unknown button #489", "Unknown button #490",
"Unknown button #491", "Unknown button #492", "Unknown button #493", "Unknown button #494",
"Unknown button #495", "Unknown button #496", "BRL_DOT1", "BRL_DOT2", "BRL_DOT3", "BRL_DOT4",
"BRL_DOT5", "BRL_DOT6", "BRL_DOT7", "BRL_DOT8", "BRL_DOT9", "BRL_DOT10", "Unknown button #507",
"Unknown button #508", "Unknown button #509", "Unknown button #510", "Unknown button #511",
"NUMERIC_0", "NUMERIC_1", "NUMERIC_2", "NUMERIC_3", "NUMERIC_4", "NUMERIC_5", "NUMERIC_6", "NUMERIC_7",
"NUMERIC_8", "NUMERIC_9", "NUMERIC_STAR", "NUMERIC_POUND", "Unknown button #524",
"Unknown button #525", "Unknown button #526", "Unknown button #527", "CAMERA_FOCUS", "WPS_BUTTON",
"TOUCHPAD_TOGGLE", "TOUCHPAD_ON", "TOUCHPAD_OFF", "CAMERA_ZOOMIN", "CAMERA_ZOOMOUT", "CAMERA_UP",
"CAMERA_DOWN", "CAMERA_LEFT", "CAMERA_RIGHT", "Unknown button #539", "Unknown button #540",
"Unknown button #541", "Unknown button #542", "Unknown button #543", "Unknown button #544",
"Unknown button #545", "Unknown button #546", "Unknown button #547", "Unknown button #548",
"Unknown button #549", "Unknown button #550", "Unknown button #551", "Unknown button #552",
"Unknown button #553", "Unknown button #554", "Unknown button #555", "Unknown button #556",
"Unknown button #557", "Unknown button #558", "Unknown button #559", "Unknown button #560",
"Unknown button #561", "Unknown button #562", "Unknown button #563", "Unknown button #564",
"Unknown button #565", "Unknown button #566", "Unknown button #567", "Unknown button #568",
"Unknown button #569", "Unknown button #570", "Unknown button #571", "Unknown button #572",
"Unknown button #573", "Unknown button #574", "Unknown button #575", "Unknown button #576",
"Unknown button #577", "Unknown button #578", "Unknown button #579", "Unknown button #580",
"Unknown button #581", "Unknown button #582", "Unknown button #583", "Unknown button #584",
"Unknown button #585", "Unknown button #586", "Unknown button #587", "Unknown button #588",
"Unknown button #589", "Unknown button #590", "Unknown button #591", "Unknown button #592",
"Unknown button #593", "Unknown button #594", "Unknown button #595", "Unknown button #596",
"Unknown button #597", "Unknown button #598", "Unknown button #599", "Unknown button #600",
"Unknown button #601", "Unknown button #602", "Unknown button #603", "Unknown button #604",
"Unknown button #605", "Unknown button #606", "Unknown button #607", "Unknown button #608",
"Unknown button #609", "Unknown button #610", "Unknown button #611", "Unknown button #612",
"Unknown button #613", "Unknown button #614", "Unknown button #615", "Unknown button #616",
"Unknown button #617", "Unknown button #618", "Unknown button #619", "Unknown button #620",
"Unknown button #621", "Unknown button #622", "Unknown button #623", "Unknown button #624",
"Unknown button #625", "Unknown button #626", "Unknown button #627", "Unknown button #628",
"Unknown button #629", "Unknown button #630", "Unknown button #631", "Unknown button #632",
"Unknown button #633", "Unknown button #634", "Unknown button #635", "Unknown button #636",
"Unknown button #637", "Unknown button #638", "Unknown button #639", "Unknown button #640",
"Unknown button #641", "Unknown button #642", "Unknown button #643", "Unknown button #644",
"Unknown button #645", "Unknown button #646", "Unknown button #647", "Unknown button #648",
"Unknown button #649", "Unknown button #650", "Unknown button #651", "Unknown button #652",
"Unknown button #653", "Unknown button #654", "Unknown button #655", "Unknown button #656",
"Unknown button #657", "Unknown button #658", "Unknown button #659", "Unknown button #660",
"Unknown button #661", "Unknown button #662", "Unknown button #663", "Unknown button #664",
"Unknown button #665", "Unknown button #666", "Unknown button #667", "Unknown button #668",
"Unknown button #669", "Unknown button #670", "Unknown button #671", "Unknown button #672",
"Unknown button #673", "Unknown button #674", "Unknown button #675", "Unknown button #676",
"Unknown button #677", "Unknown button #678", "Unknown button #679", "Unknown button #680",
"Unknown button #681", "Unknown button #682", "Unknown button #683", "Unknown button #684",
"Unknown button #685", "Unknown button #686", "Unknown button #687", "Unknown button #688",
"Unknown button #689", "Unknown button #690", "Unknown button #691", "Unknown button #692",
"Unknown button #693", "Unknown button #694", "Unknown button #695", "Unknown button #696",
"Unknown button #697", "Unknown button #698", "Unknown button #699", "Unknown button #700",
"Unknown button #701", "Unknown button #702", "Unknown button #703", "Button TRIGGER_HAPPY1",
"Button TRIGGER_HAPPY2", "Button TRIGGER_HAPPY3", "Button TRIGGER_HAPPY4", "Button TRIGGER_HAPPY5",
"Button TRIGGER_HAPPY6", "Button TRIGGER_HAPPY7", "Button TRIGGER_HAPPY8", "Button TRIGGER_HAPPY9",
"Button TRIGGER_HAPPY10", "Button TRIGGER_HAPPY11", "Button TRIGGER_HAPPY12", "Button TRIGGER_HAPPY13",
"Button TRIGGER_HAPPY14", "Button TRIGGER_HAPPY15", "Button TRIGGER_HAPPY16", "Button TRIGGER_HAPPY17",
"Button TRIGGER_HAPPY18", "Button TRIGGER_HAPPY19", "Button TRIGGER_HAPPY20", "Button TRIGGER_HAPPY21",
"Button TRIGGER_HAPPY22", "Button TRIGGER_HAPPY23", "Button TRIGGER_HAPPY24", "Button TRIGGER_HAPPY25",
"Button TRIGGER_HAPPY26", "Button TRIGGER_HAPPY27", "Button TRIGGER_HAPPY28", "Button TRIGGER_HAPPY29",
"Button TRIGGER_HAPPY30", "Button TRIGGER_HAPPY31", "Button TRIGGER_HAPPY32", "Button TRIGGER_HAPPY33",
"Button TRIGGER_HAPPY34", "Button TRIGGER_HAPPY35", "Button TRIGGER_HAPPY36", "Button TRIGGER_HAPPY37",
"Button TRIGGER_HAPPY38", "Button TRIGGER_HAPPY39", "Button TRIGGER_HAPPY40", "Unknown button #744",
"Unknown button #745", "Unknown button #746", "Unknown button #747", "Unknown button #748",
"Unknown button #749", "Unknown button #750", "Unknown button #751", "Unknown button #752",
"Unknown button #753", "Unknown button #754", "Unknown button #755", "Unknown button #756",
"Unknown button #757", "Unknown button #758", "Unknown button #759", "Unknown button #760",
"Unknown button #761", "Unknown button #762", "Unknown button #763", "Unknown button #764",
"Unknown button #765", "Unknown button #766", "Unknown button #767"
};
std::string get_button_name(uint16_t code)
{
if(code <= KEY_MAX && buttonnames[code])
if(code <= sizeof(buttonnames)/sizeof(buttonnames[0]) && buttonnames[code])
return buttonnames[code];
else
return (stringfmt() << "Unknown button #" << code).str();
@ -38,7 +176,7 @@ namespace
std::string get_axis_name(uint16_t code)
{
if(code <= ABS_MAX && axisnames[code])
if(code <= sizeof(axisnames)/sizeof(axisnames[0]) && axisnames[code])
return axisnames[code];
else
return (stringfmt() << "Unknown axis #" << code).str();
@ -163,8 +301,6 @@ namespace
void joystick_plugin::init() throw()
{
evdev_init_buttons(buttonnames);
evdev_init_axes(axisnames);
probe_all_joysticks();
quit_ack = quit_signaled = false;
}

View file

@ -1,12 +0,0 @@
name = io.stdin:read("*l");
print("extern \"C\" {");
print("#include <linux/input.h>");
print("}");
print("void " .. name .. "(const char** x) {");
for line in io.stdin:lines() do
a,b = string.match(line, "(%S+)%s+(.*)");
print("#ifdef " .. a);
print("x[" .. a .. "] = \"" .. b .. "\";");
print("#endif");
end
print("}");