aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormacmpi <spam@ipik.org>2021-12-04 14:52:50 +0100
committerLeo <thinkabit.ukim@gmail.com>2021-12-05 09:45:05 +0000
commit1a50db9ac6c19f7c45123f738bde62736b5f5ffc (patch)
tree3ac4caab15497c1dd22585a7fdd8fd170f72abb1
parent7aa55474c4f8085f24366845097acc22dc4ef16b (diff)
downloadaports-1a50db9ac6c19f7c45123f738bde62736b5f5ffc.tar.gz
aports-1a50db9ac6c19f7c45123f738bde62736b5f5ffc.tar.bz2
aports-1a50db9ac6c19f7c45123f738bde62736b5f5ffc.tar.xz
main/bluez: fix AVRCP on 32-bit
-rw-r--r--main/bluez/APKBUILD5
-rw-r--r--main/bluez/remove-local-uinput.patch819
2 files changed, 822 insertions, 2 deletions
diff --git a/main/bluez/APKBUILD b/main/bluez/APKBUILD
index 711729bc36..55b388f0bb 100644
--- a/main/bluez/APKBUILD
+++ b/main/bluez/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bluez
pkgver=5.62
-pkgrel=0
+pkgrel=1
pkgdesc="Tools for the Bluetooth protocol stack"
url="http://www.bluez.org/"
arch="all"
@@ -44,6 +44,7 @@ source="https://www.kernel.org/pub/linux/bluetooth/bluez-$pkgver.tar.xz
musl.patch
test-mesh-crypto.patch
fix-musl.patch
+ remove-local-uinput.patch
"
case "$CARCH" in
@@ -203,4 +204,4 @@ ac635f9bca0e983835940572eb1b96ad70cf60fb84d5b0fde38c76ea6d1b13ef7d9adf81468b9fed
641e425333d269833eed624edec0e29cba04bb0ff6570f6afda178a164fc2bb77456fa88957fe49f36000d3601ac00bb7ba089400977c1577e9c226e74baa3d6 musl.patch
9c57bb1abf1b4927441a2a25c3c2599b0da82850e6b945d09e824e25be7c7efa99e54999cf5b799a1093303202badf08833cc4ccb36203901dfa516031ea8eb0 test-mesh-crypto.patch
2e92639512c11e69d3c47e222a012b4f58fa7727d18b3639130e8fe91654773b1205ddbe650efe49a26ec41a64d39ddba2806503272e09252c51d194e3ced33d fix-musl.patch
-"
+5e6fa7903cafce3eaac2da1bac95f37e92c563a38b67b6707e73ee90a9076c99c41334fb49be5d4685ab4da048ffed0d241658ee877ccdf10a9c640eb6fbd2c3 remove-local-uinput.patch"
diff --git a/main/bluez/remove-local-uinput.patch b/main/bluez/remove-local-uinput.patch
new file mode 100644
index 0000000000..21fd4798e0
--- /dev/null
+++ b/main/bluez/remove-local-uinput.patch
@@ -0,0 +1,819 @@
+From linux-bluetooth Mon Nov 22 19:42:18 2021
+From: Luiz Augusto von Dentz <luiz.dentz () gmail ! com>
+Date: Mon, 22 Nov 2021 19:42:18 +0000
+To: linux-bluetooth
+Subject: [PATCH BlueZ] uinput: Remove local copy of uinput.h
+Message-Id: <20211122194218.2191284-1-luiz.dentz () gmail ! com>
+X-MARC-Message: https://marc.info/?l=linux-bluetooth&m=163761012419120
+
+From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
+
+uinput.h is part of kernel uapi nowadays so it can be included directly
+from linux/uinput.h which has a compatible definition with 32 bits
+systems:
+
+https://github.com/bluez/bluez/issues/84#issuecomment-942155841
+
+Fixes: https://github.com/bluez/bluez/issues/84
+---
+ android/avctp.c | 8 +-
+ profiles/audio/avctp.c | 6 +-
+ src/uinput.h | 711 -----------------------------------------
+ 3 files changed, 6 insertions(+), 719 deletions(-)
+ delete mode 100644 src/uinput.h
+
+diff --git a/android/avctp.c b/android/avctp.c
+index c2ea5f4a2..14ebbc391 100644
+--- a/android/avctp.c
++++ b/android/avctp.c
+@@ -26,14 +26,12 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <netinet/in.h>
++#include <linux/uinput.h>
+
+ #include <glib.h>
+
+ #include "lib/sdp.h"
+-
+ #include "src/log.h"
+-#include "src/uinput.h"
+-
+ #include "avctp.h"
+
+ /*
+@@ -259,7 +257,7 @@ static gboolean avctp_passthrough_rsp(struct avctp *session, uint8_t code,
+
+ static int send_event(int fd, uint16_t type, uint16_t code, int32_t value)
+ {
+- struct uinput_event event;
++ struct input_event event;
+ int err;
+
+ memset(&event, 0, sizeof(event));
+@@ -1012,7 +1010,7 @@ failed:
+
+ static int uinput_create(const char *name)
+ {
+- struct uinput_dev dev;
++ struct uinput_user_dev dev;
+ int fd, err, i;
+
+ fd = open("/dev/uinput", O_RDWR);
+diff --git a/profiles/audio/avctp.c b/profiles/audio/avctp.c
+index 72509edec..9113b5ddc 100644
+--- a/profiles/audio/avctp.c
++++ b/profiles/audio/avctp.c
+@@ -25,6 +25,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <netinet/in.h>
++#include <linux/uinput.h>
+
+ #include <glib.h>
+
+@@ -38,7 +39,6 @@
+ #include "src/device.h"
+ #include "src/log.h"
+ #include "src/error.h"
+-#include "src/uinput.h"
+ #include "src/shared/timeout.h"
+
+ #include "avctp.h"
+@@ -302,7 +302,7 @@ static gboolean avctp_passthrough_rsp(struct avctp *session, uint8_t code,
+
+ static int send_event(int fd, uint16_t type, uint16_t code, int32_t value)
+ {
+- struct uinput_event event;
++ struct input_event event;
+
+ memset(&event, 0, sizeof(event));
+ event.type = type;
+@@ -1156,7 +1156,7 @@ failed:
+ static int uinput_create(struct btd_device *device, const char *name,
+ const char *suffix)
+ {
+- struct uinput_dev dev;
++ struct uinput_user_dev dev;
+ int fd, err, i;
+ char src[18];
+
+diff --git a/src/uinput.h b/src/uinput.h
+deleted file mode 100644
+index 75d791bc6..000000000
+--- a/src/uinput.h
++++ /dev/null
+@@ -1,711 +0,0 @@
+-/* SPDX-License-Identifier: GPL-2.0-or-later */
+-/*
+- *
+- * BlueZ - Bluetooth protocol stack for Linux
+- *
+- * Copyright (C) 2003-2010 Marcel Holtmann <marcel@holtmann.org>
+- *
+- *
+- */
+-
+-#ifndef __UINPUT_H
+-#define __UINPUT_H
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-#include <stdint.h>
+-#include <sys/time.h>
+-#include <sys/ioctl.h>
+-
+-/* Events */
+-
+-#define EV_SYN 0x00
+-#define EV_KEY 0x01
+-#define EV_REL 0x02
+-#define EV_ABS 0x03
+-#define EV_MSC 0x04
+-#define EV_LED 0x11
+-#define EV_SND 0x12
+-#define EV_REP 0x14
+-#define EV_FF 0x15
+-#define EV_PWR 0x16
+-#define EV_FF_STATUS 0x17
+-#define EV_MAX 0x1f
+-
+-/* Synchronization events */
+-
+-#define SYN_REPORT 0
+-#define SYN_CONFIG 1
+-
+-/*
+- * Keys and buttons
+- *
+- * Most of the keys/buttons are modelled after USB HUT 1.12
+- * (see http://www.usb.org/developers/hidpage).
+- * Abbreviations in the comments:
+- * AC - Application Control
+- * AL - Application Launch Button
+- * SC - System Control
+- */
+-
+-#define KEY_RESERVED 0
+-#define KEY_ESC 1
+-#define KEY_1 2
+-#define KEY_2 3
+-#define KEY_3 4
+-#define KEY_4 5
+-#define KEY_5 6
+-#define KEY_6 7
+-#define KEY_7 8
+-#define KEY_8 9
+-#define KEY_9 10
+-#define KEY_0 11
+-#define KEY_MINUS 12
+-#define KEY_EQUAL 13
+-#define KEY_BACKSPACE 14
+-#define KEY_TAB 15
+-#define KEY_Q 16
+-#define KEY_W 17
+-#define KEY_E 18
+-#define KEY_R 19
+-#define KEY_T 20
+-#define KEY_Y 21
+-#define KEY_U 22
+-#define KEY_I 23
+-#define KEY_O 24
+-#define KEY_P 25
+-#define KEY_LEFTBRACE 26
+-#define KEY_RIGHTBRACE 27
+-#define KEY_ENTER 28
+-#define KEY_LEFTCTRL 29
+-#define KEY_A 30
+-#define KEY_S 31
+-#define KEY_D 32
+-#define KEY_F 33
+-#define KEY_G 34
+-#define KEY_H 35
+-#define KEY_J 36
+-#define KEY_K 37
+-#define KEY_L 38
+-#define KEY_SEMICOLON 39
+-#define KEY_APOSTROPHE 40
+-#define KEY_GRAVE 41
+-#define KEY_LEFTSHIFT 42
+-#define KEY_BACKSLASH 43
+-#define KEY_Z 44
+-#define KEY_X 45
+-#define KEY_C 46
+-#define KEY_V 47
+-#define KEY_B 48
+-#define KEY_N 49
+-#define KEY_M 50
+-#define KEY_COMMA 51
+-#define KEY_DOT 52
+-#define KEY_SLASH 53
+-#define KEY_RIGHTSHIFT 54
+-#define KEY_KPASTERISK 55
+-#define KEY_LEFTALT 56
+-#define KEY_SPACE 57
+-#define KEY_CAPSLOCK 58
+-#define KEY_F1 59
+-#define KEY_F2 60
+-#define KEY_F3 61
+-#define KEY_F4 62
+-#define KEY_F5 63
+-#define KEY_F6 64
+-#define KEY_F7 65
+-#define KEY_F8 66
+-#define KEY_F9 67
+-#define KEY_F10 68
+-#define KEY_NUMLOCK 69
+-#define KEY_SCROLLLOCK 70
+-#define KEY_KP7 71
+-#define KEY_KP8 72
+-#define KEY_KP9 73
+-#define KEY_KPMINUS 74
+-#define KEY_KP4 75
+-#define KEY_KP5 76
+-#define KEY_KP6 77
+-#define KEY_KPPLUS 78
+-#define KEY_KP1 79
+-#define KEY_KP2 80
+-#define KEY_KP3 81
+-#define KEY_KP0 82
+-#define KEY_KPDOT 83
+-
+-#define KEY_ZENKAKUHANKAKU 85
+-#define KEY_102ND 86
+-#define KEY_F11 87
+-#define KEY_F12 88
+-#define KEY_RO 89
+-#define KEY_KATAKANA 90
+-#define KEY_HIRAGANA 91
+-#define KEY_HENKAN 92
+-#define KEY_KATAKANAHIRAGANA 93
+-#define KEY_MUHENKAN 94
+-#define KEY_KPJPCOMMA 95
+-#define KEY_KPENTER 96
+-#define KEY_RIGHTCTRL 97
+-#define KEY_KPSLASH 98
+-#define KEY_SYSRQ 99
+-#define KEY_RIGHTALT 100
+-#define KEY_LINEFEED 101
+-#define KEY_HOME 102
+-#define KEY_UP 103
+-#define KEY_PAGEUP 104
+-#define KEY_LEFT 105
+-#define KEY_RIGHT 106
+-#define KEY_END 107
+-#define KEY_DOWN 108
+-#define KEY_PAGEDOWN 109
+-#define KEY_INSERT 110
+-#define KEY_DELETE 111
+-#define KEY_MACRO 112
+-#define KEY_MUTE 113
+-#define KEY_VOLUMEDOWN 114
+-#define KEY_VOLUMEUP 115
+-#define KEY_POWER 116 /* SC System Power Down */
+-#define KEY_KPEQUAL 117
+-#define KEY_KPPLUSMINUS 118
+-#define KEY_PAUSE 119
+-
+-#define KEY_KPCOMMA 121
+-#define KEY_HANGEUL 122
+-#define KEY_HANGUEL KEY_HANGEUL
+-#define KEY_HANJA 123
+-#define KEY_YEN 124
+-#define KEY_LEFTMETA 125
+-#define KEY_RIGHTMETA 126
+-#define KEY_COMPOSE 127
+-
+-#define KEY_STOP 128 /* AC Stop */
+-#define KEY_AGAIN 129
+-#define KEY_PROPS 130 /* AC Properties */
+-#define KEY_UNDO 131 /* AC Undo */
+-#define KEY_FRONT 132
+-#define KEY_COPY 133 /* AC Copy */
+-#define KEY_OPEN 134 /* AC Open */
+-#define KEY_PASTE 135 /* AC Paste */
+-#define KEY_FIND 136 /* AC Search */
+-#define KEY_CUT 137 /* AC Cut */
+-#define KEY_HELP 138 /* AL Integrated Help Center */
+-#define KEY_MENU 139 /* Menu (show menu) */
+-#define KEY_CALC 140 /* AL Calculator */
+-#define KEY_SETUP 141
+-#define KEY_SLEEP 142 /* SC System Sleep */
+-#define KEY_WAKEUP 143 /* System Wake Up */
+-#define KEY_FILE 144 /* AL Local Machine Browser */
+-#define KEY_SENDFILE 145
+-#define KEY_DELETEFILE 146
+-#define KEY_XFER 147
+-#define KEY_PROG1 148
+-#define KEY_PROG2 149
+-#define KEY_WWW 150 /* AL Internet Browser */
+-#define KEY_MSDOS 151
+-#define KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */
+-#define KEY_SCREENLOCK KEY_COFFEE
+-#define KEY_DIRECTION 153
+-#define KEY_CYCLEWINDOWS 154
+-#define KEY_MAIL 155
+-#define KEY_BOOKMARKS 156 /* AC Bookmarks */
+-#define KEY_COMPUTER 157
+-#define KEY_BACK 158 /* AC Back */
+-#define KEY_FORWARD 159 /* AC Forward */
+-#define KEY_CLOSECD 160
+-#define KEY_EJECTCD 161
+-#define KEY_EJECTCLOSECD 162
+-#define KEY_NEXTSONG 163
+-#define KEY_PLAYPAUSE 164
+-#define KEY_PREVIOUSSONG 165
+-#define KEY_STOPCD 166
+-#define KEY_RECORD 167
+-#define KEY_REWIND 168
+-#define KEY_PHONE 169 /* Media Select Telephone */
+-#define KEY_ISO 170
+-#define KEY_CONFIG 171 /* AL Consumer Control Configuration */
+-#define KEY_HOMEPAGE 172 /* AC Home */
+-#define KEY_REFRESH 173 /* AC Refresh */
+-#define KEY_EXIT 174 /* AC Exit */
+-#define KEY_MOVE 175
+-#define KEY_EDIT 176
+-#define KEY_SCROLLUP 177
+-#define KEY_SCROLLDOWN 178
+-#define KEY_KPLEFTPAREN 179
+-#define KEY_KPRIGHTPAREN 180
+-#define KEY_NEW 181 /* AC New */
+-#define KEY_REDO 182 /* AC Redo/Repeat */
+-
+-#define KEY_F13 183
+-#define KEY_F14 184
+-#define KEY_F15 185
+-#define KEY_F16 186
+-#define KEY_F17 187
+-#define KEY_F18 188
+-#define KEY_F19 189
+-#define KEY_F20 190
+-#define KEY_F21 191
+-#define KEY_F22 192
+-#define KEY_F23 193
+-#define KEY_F24 194
+-
+-#define KEY_PLAYCD 200
+-#define KEY_PAUSECD 201
+-#define KEY_PROG3 202
+-#define KEY_PROG4 203
+-#define KEY_SUSPEND 205
+-#define KEY_CLOSE 206 /* AC Close */
+-#define KEY_PLAY 207
+-#define KEY_FASTFORWARD 208
+-#define KEY_BASSBOOST 209
+-#define KEY_PRINT 210 /* AC Print */
+-#define KEY_HP 211
+-#define KEY_CAMERA 212
+-#define KEY_SOUND 213
+-#define KEY_QUESTION 214
+-#define KEY_EMAIL 215
+-#define KEY_CHAT 216
+-#define KEY_SEARCH 217
+-#define KEY_CONNECT 218
+-#define KEY_FINANCE 219 /* AL Checkbook/Finance */
+-#define KEY_SPORT 220
+-#define KEY_SHOP 221
+-#define KEY_ALTERASE 222
+-#define KEY_CANCEL 223 /* AC Cancel */
+-#define KEY_BRIGHTNESSDOWN 224
+-#define KEY_BRIGHTNESSUP 225
+-#define KEY_MEDIA 226
+-
+-#define KEY_SWITCHVIDEOMODE 227 /* Cycle between available video
+- outputs (Monitor/LCD/TV-out/etc) */
+-#define KEY_KBDILLUMTOGGLE 228
+-#define KEY_KBDILLUMDOWN 229
+-#define KEY_KBDILLUMUP 230
+-
+-#define KEY_SEND 231 /* AC Send */
+-#define KEY_REPLY 232 /* AC Reply */
+-#define KEY_FORWARDMAIL 233 /* AC Forward Msg */
+-#define KEY_SAVE 234 /* AC Save */
+-#define KEY_DOCUMENTS 235
+-
+-#define KEY_BATTERY 236
+-
+-#define KEY_BLUETOOTH 237
+-#define KEY_WLAN 238
+-#define KEY_UWB 239
+-
+-#define KEY_UNKNOWN 240
+-
+-#define KEY_VIDEO_NEXT 241 /* drive next video source */
+-#define KEY_VIDEO_PREV 242 /* drive previous video source */
+-#define KEY_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */
+-#define KEY_BRIGHTNESS_ZERO 244 /* brightness off, use ambient */
+-#define KEY_DISPLAY_OFF 245 /* display device to off state */
+-
+-#define KEY_WIMAX 246
+-
+-/* Range 248 - 255 is reserved for special needs of AT keyboard driver */
+-
+-#define BTN_MISC 0x100
+-#define BTN_0 0x100
+-#define BTN_1 0x101
+-#define BTN_2 0x102
+-#define BTN_3 0x103
+-#define BTN_4 0x104
+-#define BTN_5 0x105
+-#define BTN_6 0x106
+-#define BTN_7 0x107
+-#define BTN_8 0x108
+-#define BTN_9 0x109
+-
+-#define BTN_MOUSE 0x110
+-#define BTN_LEFT 0x110
+-#define BTN_RIGHT 0x111
+-#define BTN_MIDDLE 0x112
+-#define BTN_SIDE 0x113
+-#define BTN_EXTRA 0x114
+-#define BTN_FORWARD 0x115
+-#define BTN_BACK 0x116
+-#define BTN_TASK 0x117
+-
+-#define BTN_JOYSTICK 0x120
+-#define BTN_TRIGGER 0x120
+-#define BTN_THUMB 0x121
+-#define BTN_THUMB2 0x122
+-#define BTN_TOP 0x123
+-#define BTN_TOP2 0x124
+-#define BTN_PINKIE 0x125
+-#define BTN_BASE 0x126
+-#define BTN_BASE2 0x127
+-#define BTN_BASE3 0x128
+-#define BTN_BASE4 0x129
+-#define BTN_BASE5 0x12a
+-#define BTN_BASE6 0x12b
+-#define BTN_DEAD 0x12f
+-
+-#define BTN_GAMEPAD 0x130
+-#define BTN_A 0x130
+-#define BTN_B 0x131
+-#define BTN_C 0x132
+-#define BTN_X 0x133
+-#define BTN_Y 0x134
+-#define BTN_Z 0x135
+-#define BTN_TL 0x136
+-#define BTN_TR 0x137
+-#define BTN_TL2 0x138
+-#define BTN_TR2 0x139
+-#define BTN_SELECT 0x13a
+-#define BTN_START 0x13b
+-#define BTN_MODE 0x13c
+-#define BTN_THUMBL 0x13d
+-#define BTN_THUMBR 0x13e
+-
+-#define BTN_DIGI 0x140
+-#define BTN_TOOL_PEN 0x140
+-#define BTN_TOOL_RUBBER 0x141
+-#define BTN_TOOL_BRUSH 0x142
+-#define BTN_TOOL_PENCIL 0x143
+-#define BTN_TOOL_AIRBRUSH 0x144
+-#define BTN_TOOL_FINGER 0x145
+-#define BTN_TOOL_MOUSE 0x146
+-#define BTN_TOOL_LENS 0x147
+-#define BTN_TOUCH 0x14a
+-#define BTN_STYLUS 0x14b
+-#define BTN_STYLUS2 0x14c
+-#define BTN_TOOL_DOUBLETAP 0x14d
+-#define BTN_TOOL_TRIPLETAP 0x14e
+-
+-#define BTN_WHEEL 0x150
+-#define BTN_GEAR_DOWN 0x150
+-#define BTN_GEAR_UP 0x151
+-
+-#define KEY_OK 0x160
+-#define KEY_SELECT 0x161
+-#define KEY_GOTO 0x162
+-#define KEY_CLEAR 0x163
+-#define KEY_POWER2 0x164
+-#define KEY_OPTION 0x165
+-#define KEY_INFO 0x166 /* AL OEM Features/Tips/Tutorial */
+-#define KEY_TIME 0x167
+-#define KEY_VENDOR 0x168
+-#define KEY_ARCHIVE 0x169
+-#define KEY_PROGRAM 0x16a /* Media Select Program Guide */
+-#define KEY_CHANNEL 0x16b
+-#define KEY_FAVORITES 0x16c
+-#define KEY_EPG 0x16d
+-#define KEY_PVR 0x16e /* Media Select Home */
+-#define KEY_MHP 0x16f
+-#define KEY_LANGUAGE 0x170
+-#define KEY_TITLE 0x171
+-#define KEY_SUBTITLE 0x172
+-#define KEY_ANGLE 0x173
+-#define KEY_ZOOM 0x174
+-#define KEY_MODE 0x175
+-#define KEY_KEYBOARD 0x176
+-#define KEY_SCREEN 0x177
+-#define KEY_PC 0x178 /* Media Select Computer */
+-#define KEY_TV 0x179 /* Media Select TV */
+-#define KEY_TV2 0x17a /* Media Select Cable */
+-#define KEY_VCR 0x17b /* Media Select VCR */
+-#define KEY_VCR2 0x17c /* VCR Plus */
+-#define KEY_SAT 0x17d /* Media Select Satellite */
+-#define KEY_SAT2 0x17e
+-#define KEY_CD 0x17f /* Media Select CD */
+-#define KEY_TAPE 0x180 /* Media Select Tape */
+-#define KEY_RADIO 0x181
+-#define KEY_TUNER 0x182 /* Media Select Tuner */
+-#define KEY_PLAYER 0x183
+-#define KEY_TEXT 0x184
+-#define KEY_DVD 0x185 /* Media Select DVD */
+-#define KEY_AUX 0x186
+-#define KEY_MP3 0x187
+-#define KEY_AUDIO 0x188
+-#define KEY_VIDEO 0x189
+-#define KEY_DIRECTORY 0x18a
+-#define KEY_LIST 0x18b
+-#define KEY_MEMO 0x18c /* Media Select Messages */
+-#define KEY_CALENDAR 0x18d
+-#define KEY_RED 0x18e
+-#define KEY_GREEN 0x18f
+-#define KEY_YELLOW 0x190
+-#define KEY_BLUE 0x191
+-#define KEY_CHANNELUP 0x192 /* Channel Increment */
+-#define KEY_CHANNELDOWN 0x193 /* Channel Decrement */
+-#define KEY_FIRST 0x194
+-#define KEY_LAST 0x195 /* Recall Last */
+-#define KEY_AB 0x196
+-#define KEY_NEXT 0x197
+-#define KEY_RESTART 0x198
+-#define KEY_SLOW 0x199
+-#define KEY_SHUFFLE 0x19a
+-#define KEY_BREAK 0x19b
+-#define KEY_PREVIOUS 0x19c
+-#define KEY_DIGITS 0x19d
+-#define KEY_TEEN 0x19e
+-#define KEY_TWEN 0x19f
+-#define KEY_VIDEOPHONE 0x1a0 /* Media Select Video Phone */
+-#define KEY_GAMES 0x1a1 /* Media Select Games */
+-#define KEY_ZOOMIN 0x1a2 /* AC Zoom In */
+-#define KEY_ZOOMOUT 0x1a3 /* AC Zoom Out */
+-#define KEY_ZOOMRESET 0x1a4 /* AC Zoom */
+-#define KEY_WORDPROCESSOR 0x1a5 /* AL Word Processor */
+-#define KEY_EDITOR 0x1a6 /* AL Text Editor */
+-#define KEY_SPREADSHEET 0x1a7 /* AL Spreadsheet */
+-#define KEY_GRAPHICSEDITOR 0x1a8 /* AL Graphics Editor */
+-#define KEY_PRESENTATION 0x1a9 /* AL Presentation App */
+-#define KEY_DATABASE 0x1aa /* AL Database App */
+-#define KEY_NEWS 0x1ab /* AL Newsreader */
+-#define KEY_VOICEMAIL 0x1ac /* AL Voicemail */
+-#define KEY_ADDRESSBOOK 0x1ad /* AL Contacts/Address Book */
+-#define KEY_MESSENGER 0x1ae /* AL Instant Messaging */
+-#define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */
+-#define KEY_SPELLCHECK 0x1b0 /* AL Spell Check */
+-#define KEY_LOGOFF 0x1b1 /* AL Logoff */
+-
+-#define KEY_DOLLAR 0x1b2
+-#define KEY_EURO 0x1b3
+-
+-#define KEY_FRAMEBACK 0x1b4 /* Consumer - transport controls */
+-#define KEY_FRAMEFORWARD 0x1b5
+-#define KEY_CONTEXT_MENU 0x1b6 /* GenDesc - system context menu */
+-#define KEY_MEDIA_REPEAT 0x1b7 /* Consumer - transport control */
+-
+-#define KEY_DEL_EOL 0x1c0
+-#define KEY_DEL_EOS 0x1c1
+-#define KEY_INS_LINE 0x1c2
+-#define KEY_DEL_LINE 0x1c3
+-
+-#define KEY_FN 0x1d0
+-#define KEY_FN_ESC 0x1d1
+-#define KEY_FN_F1 0x1d2
+-#define KEY_FN_F2 0x1d3
+-#define KEY_FN_F3 0x1d4
+-#define KEY_FN_F4 0x1d5
+-#define KEY_FN_F5 0x1d6
+-#define KEY_FN_F6 0x1d7
+-#define KEY_FN_F7 0x1d8
+-#define KEY_FN_F8 0x1d9
+-#define KEY_FN_F9 0x1da
+-#define KEY_FN_F10 0x1db
+-#define KEY_FN_F11 0x1dc
+-#define KEY_FN_F12 0x1dd
+-#define KEY_FN_1 0x1de
+-#define KEY_FN_2 0x1df
+-#define KEY_FN_D 0x1e0
+-#define KEY_FN_E 0x1e1
+-#define KEY_FN_F 0x1e2
+-#define KEY_FN_S 0x1e3
+-#define KEY_FN_B 0x1e4
+-
+-#define KEY_BRL_DOT1 0x1f1
+-#define KEY_BRL_DOT2 0x1f2
+-#define KEY_BRL_DOT3 0x1f3
+-#define KEY_BRL_DOT4 0x1f4
+-#define KEY_BRL_DOT5 0x1f5
+-#define KEY_BRL_DOT6 0x1f6
+-#define KEY_BRL_DOT7 0x1f7
+-#define KEY_BRL_DOT8 0x1f8
+-#define KEY_BRL_DOT9 0x1f9
+-#define KEY_BRL_DOT10 0x1fa
+-
+-/* We avoid low common keys in module aliases so they don't get huge. */
+-#define KEY_MIN_INTERESTING KEY_MUTE
+-#define KEY_MAX 0x1ff
+-#define KEY_CNT (KEY_MAX+1)
+-
+-/*
+- * Relative axes
+- */
+-
+-#define REL_X 0x00
+-#define REL_Y 0x01
+-#define REL_Z 0x02
+-#define REL_RX 0x03
+-#define REL_RY 0x04
+-#define REL_RZ 0x05
+-#define REL_HWHEEL 0x06
+-#define REL_DIAL 0x07
+-#define REL_WHEEL 0x08
+-#define REL_MISC 0x09
+-#define REL_MAX 0x0f
+-#define REL_CNT (REL_MAX+1)
+-
+-/*
+- * Absolute axes
+- */
+-
+-#define ABS_X 0x00
+-#define ABS_Y 0x01
+-#define ABS_Z 0x02
+-#define ABS_RX 0x03
+-#define ABS_RY 0x04
+-#define ABS_RZ 0x05
+-#define ABS_THROTTLE 0x06
+-#define ABS_RUDDER 0x07
+-#define ABS_WHEEL 0x08
+-#define ABS_GAS 0x09
+-#define ABS_BRAKE 0x0a
+-#define ABS_HAT0X 0x10
+-#define ABS_HAT0Y 0x11
+-#define ABS_HAT1X 0x12
+-#define ABS_HAT1Y 0x13
+-#define ABS_HAT2X 0x14
+-#define ABS_HAT2Y 0x15
+-#define ABS_HAT3X 0x16
+-#define ABS_HAT3Y 0x17
+-#define ABS_PRESSURE 0x18
+-#define ABS_DISTANCE 0x19
+-#define ABS_TILT_X 0x1a
+-#define ABS_TILT_Y 0x1b
+-#define ABS_TOOL_WIDTH 0x1c
+-#define ABS_VOLUME 0x20
+-#define ABS_MISC 0x28
+-#define ABS_MAX 0x3f
+-#define ABS_CNT (ABS_MAX+1)
+-
+-/*
+- * Switch events
+- */
+-
+-#define SW_LID 0x00 /* set = lid shut */
+-#define SW_TABLET_MODE 0x01 /* set = tablet mode */
+-#define SW_HEADPHONE_INSERT 0x02 /* set = inserted */
+-#define SW_RFKILL_ALL 0x03 /* rfkill master switch, type "any"
+- set = radio enabled */
+-#define SW_RADIO SW_RFKILL_ALL /* deprecated */
+-#define SW_MICROPHONE_INSERT 0x04 /* set = inserted */
+-#define SW_DOCK 0x05 /* set = plugged into dock */
+-#define SW_MAX 0x0f
+-#define SW_CNT (SW_MAX+1)
+-
+-/*
+- * Misc events
+- */
+-
+-#define MSC_SERIAL 0x00
+-#define MSC_PULSELED 0x01
+-#define MSC_GESTURE 0x02
+-#define MSC_RAW 0x03
+-#define MSC_SCAN 0x04
+-#define MSC_MAX 0x07
+-#define MSC_CNT (MSC_MAX+1)
+-
+-/*
+- * LEDs
+- */
+-
+-#define LED_NUML 0x00
+-#define LED_CAPSL 0x01
+-#define LED_SCROLLL 0x02
+-#define LED_COMPOSE 0x03
+-#define LED_KANA 0x04
+-#define LED_SLEEP 0x05
+-#define LED_SUSPEND 0x06
+-#define LED_MUTE 0x07
+-#define LED_MISC 0x08
+-#define LED_MAIL 0x09
+-#define LED_CHARGING 0x0a
+-#define LED_MAX 0x0f
+-#define LED_CNT (LED_MAX+1)
+-
+-/*
+- * Autorepeat values
+- */
+-
+-#define REP_DELAY 0x00
+-#define REP_PERIOD 0x01
+-#define REP_MAX 0x01
+-
+-/*
+- * Sounds
+- */
+-
+-#define SND_CLICK 0x00
+-#define SND_BELL 0x01
+-#define SND_TONE 0x02
+-#define SND_MAX 0x07
+-#define SND_CNT (SND_MAX+1)
+-
+-/*
+- * IDs.
+- */
+-
+-#define ID_BUS 0
+-#define ID_VENDOR 1
+-#define ID_PRODUCT 2
+-#define ID_VERSION 3
+-
+-#define BUS_PCI 0x01
+-#define BUS_ISAPNP 0x02
+-#define BUS_USB 0x03
+-#define BUS_HIL 0x04
+-#define BUS_BLUETOOTH 0x05
+-#define BUS_VIRTUAL 0x06
+-
+-#define BUS_ISA 0x10
+-#define BUS_I8042 0x11
+-#define BUS_XTKBD 0x12
+-#define BUS_RS232 0x13
+-#define BUS_GAMEPORT 0x14
+-#define BUS_PARPORT 0x15
+-#define BUS_AMIGA 0x16
+-#define BUS_ADB 0x17
+-#define BUS_I2C 0x18
+-#define BUS_HOST 0x19
+-#define BUS_GSC 0x1A
+-#define BUS_ATARI 0x1B
+-
+-/* User input interface */
+-
+-#define UINPUT_IOCTL_BASE 'U'
+-
+-#define UI_DEV_CREATE _IO(UINPUT_IOCTL_BASE, 1)
+-#define UI_DEV_DESTROY _IO(UINPUT_IOCTL_BASE, 2)
+-
+-#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int)
+-#define UI_SET_KEYBIT _IOW(UINPUT_IOCTL_BASE, 101, int)
+-#define UI_SET_RELBIT _IOW(UINPUT_IOCTL_BASE, 102, int)
+-#define UI_SET_ABSBIT _IOW(UINPUT_IOCTL_BASE, 103, int)
+-#define UI_SET_MSCBIT _IOW(UINPUT_IOCTL_BASE, 104, int)
+-#define UI_SET_LEDBIT _IOW(UINPUT_IOCTL_BASE, 105, int)
+-#define UI_SET_SNDBIT _IOW(UINPUT_IOCTL_BASE, 106, int)
+-#define UI_SET_FFBIT _IOW(UINPUT_IOCTL_BASE, 107, int)
+-#define UI_SET_PHYS _IOW(UINPUT_IOCTL_BASE, 108, char*)
+-#define UI_SET_SWBIT _IOW(UINPUT_IOCTL_BASE, 109, int)
+-
+-#ifndef NBITS
+-#define NBITS(x) ((((x) - 1) / (sizeof(long) * 8)) + 1)
+-#endif
+-
+-#define UINPUT_MAX_NAME_SIZE 80
+-
+-struct uinput_id {
+- uint16_t bustype;
+- uint16_t vendor;
+- uint16_t product;
+- uint16_t version;
+-};
+-
+-struct uinput_dev {
+- char name[UINPUT_MAX_NAME_SIZE];
+- struct uinput_id id;
+- int ff_effects_max;
+- int absmax[ABS_MAX + 1];
+- int absmin[ABS_MAX + 1];
+- int absfuzz[ABS_MAX + 1];
+- int absflat[ABS_MAX + 1];
+-};
+-
+-struct uinput_event {
+- struct timeval time;
+- uint16_t type;
+- uint16_t code;
+- int32_t value;
+-};
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#endif /* __UINPUT_H */
+--
+2.33.1