Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F169851581
D57744.id180301.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D57744.id180301.diff
View Options
diff --git a/share/man/man4/acpi_ibm.4 b/share/man/man4/acpi_ibm.4
--- a/share/man/man4/acpi_ibm.4
+++ b/share/man/man4/acpi_ibm.4
@@ -141,6 +141,8 @@
Mute
.It Li 0x18
Access IBM Button
+.It Li 0x1b
+Mic Mute Button
.El
.Ss Xr led 4 Interface
The
diff --git a/sys/dev/acpi_support/acpi_ibm.c b/sys/dev/acpi_support/acpi_ibm.c
--- a/sys/dev/acpi_support/acpi_ibm.c
+++ b/sys/dev/acpi_support/acpi_ibm.c
@@ -153,6 +153,7 @@
#define IBM_EVENT_VOLUME_DOWN 0x16
#define IBM_EVENT_MUTE 0x17
#define IBM_EVENT_ACCESS_IBM_BUTTON 0x18
+#define IBM_EVENT_MICMUTE 0x1b
/* Device-specific register flags */
#define IBM_FLAG_PRIVACYGUARD_DEVICE_PRESENT 0x10000
@@ -503,6 +504,7 @@
evdev_support_event(sc->evdev, EV_KEY);
evdev_support_key(sc->evdev, KEY_BRIGHTNESSUP);
evdev_support_key(sc->evdev, KEY_BRIGHTNESSDOWN);
+ evdev_support_key(sc->evdev, KEY_MICMUTE);
if (evdev_register(sc->evdev) != 0)
return (ENXIO);
@@ -1508,7 +1510,7 @@
static void
acpi_ibm_notify(ACPI_HANDLE h, UINT32 notify, void *context)
{
- int event, arg, type;
+ int event, arg, type, key;
device_t dev = context;
struct acpi_ibm_softc *sc = device_get_softc(dev);
@@ -1535,16 +1537,26 @@
if (sc->handler_events & (1 << (arg - 1)))
acpi_ibm_eventhandler(sc, (arg & 0xff));
#ifdef EVDEV_SUPPORT
- else if ((arg & 0xff) == IBM_EVENT_BRIGHTNESS_UP ||
- (arg & 0xff) == IBM_EVENT_BRIGHTNESS_DOWN) {
- uint16_t key;
-
- key = arg == IBM_EVENT_BRIGHTNESS_UP ?
- KEY_BRIGHTNESSUP : KEY_BRIGHTNESSDOWN;
- evdev_push_key(sc->evdev, key, 1);
- evdev_sync(sc->evdev);
- evdev_push_key(sc->evdev, key, 0);
- evdev_sync(sc->evdev);
+ else {
+ key = -1;
+
+ switch (arg & 0xff) {
+ case IBM_EVENT_BRIGHTNESS_UP:
+ key = KEY_BRIGHTNESSUP;
+ break;
+ case IBM_EVENT_BRIGHTNESS_DOWN:
+ key = KEY_BRIGHTNESSDOWN;
+ break;
+ case IBM_EVENT_MICMUTE:
+ key = KEY_MICMUTE;
+ break;
+ }
+ if (key > 0) {
+ evdev_push_key(sc->evdev, key, 1);
+ evdev_sync(sc->evdev);
+ evdev_push_key(sc->evdev, key, 0);
+ evdev_sync(sc->evdev);
+ }
}
#endif
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Sep 3, 6:32 PM (7 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38112864
Default Alt Text
D57744.id180301.diff (2 KB)
Attached To
Mode
D57744: acpi_ibm: Support mic mute key
Attached
Detach File
Event Timeline
Log In to Comment