mirror of
https://github.com/PixelExperience-Devices/device_xiaomi_sm6250-common.git
synced 2025-05-05 21:37:18 +09:00
sm6250-common: Add support for event-based tap to wake gesture control
Change-Id: Id963e3c7302a7ee46a5a6b6d1b743a5718d71f4c
This commit is contained in:
parent
74c8ed136b
commit
be94045ad9
@ -41,6 +41,10 @@ cc_binary {
|
|||||||
"android.hardware.power@1.2",
|
"android.hardware.power@1.2",
|
||||||
"android.hardware.power@1.3",
|
"android.hardware.power@1.3",
|
||||||
"libperfmgr",
|
"libperfmgr",
|
||||||
|
],
|
||||||
|
header_libs: [
|
||||||
|
"libhardware_headers",
|
||||||
|
"generated_kernel_headers",
|
||||||
],
|
],
|
||||||
proprietary: true,
|
proprietary: true,
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,11 @@
|
|||||||
#include <utils/Trace.h>
|
#include <utils/Trace.h>
|
||||||
|
|
||||||
#include "Power.h"
|
#include "Power.h"
|
||||||
|
#include <linux/input.h>
|
||||||
|
|
||||||
|
constexpr char kWakeupEventNode[] = "/dev/input/event2";
|
||||||
|
constexpr int kWakeupModeOff = 4;
|
||||||
|
constexpr int kWakeupModeOn = 5;
|
||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
namespace hardware {
|
namespace hardware {
|
||||||
@ -136,8 +141,20 @@ Return<void> Power::powerHint(PowerHint_1_0 hint, int32_t data) {
|
|||||||
return Void();
|
return Void();
|
||||||
}
|
}
|
||||||
|
|
||||||
Return<void> Power::setFeature(Feature /*feature*/, bool /*activate*/) {
|
Return<void> Power::setFeature(Feature feature, bool activate) {
|
||||||
// Nothing to do
|
switch (feature) {
|
||||||
|
case Feature::POWER_FEATURE_DOUBLE_TAP_TO_WAKE: {
|
||||||
|
int fd = open(kWakeupEventNode, O_RDWR);
|
||||||
|
struct input_event ev;
|
||||||
|
ev.type = EV_SYN;
|
||||||
|
ev.code = SYN_CONFIG;
|
||||||
|
ev.value = activate ? kWakeupModeOn : kWakeupModeOff;
|
||||||
|
write(fd, &ev, sizeof(ev));
|
||||||
|
close(fd);
|
||||||
|
} break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
return Void();
|
return Void();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
service vendor.power-hal-1-3 /vendor/bin/hw/android.hardware.power@1.3-service.xiaomi_sm6250-libperfmgr
|
service vendor.power-hal-1-3 /vendor/bin/hw/android.hardware.power@1.3-service.xiaomi_sm6250-libperfmgr
|
||||||
class hal
|
class hal
|
||||||
user root
|
user root
|
||||||
group system
|
group system input
|
||||||
priority -20
|
priority -20
|
||||||
interface android.hardware.power@1.0::IPower default
|
interface android.hardware.power@1.0::IPower default
|
||||||
interface android.hardware.power@1.1::IPower default
|
interface android.hardware.power@1.1::IPower default
|
||||||
|
3
sepolicy/vendor/hal_power_default.te
vendored
Normal file
3
sepolicy/vendor/hal_power_default.te
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Allow hal_power_default to write to dt2w nodes
|
||||||
|
allow hal_power_default input_device:dir search;
|
||||||
|
allow hal_power_default input_device:chr_file rw_file_perms;
|
Loading…
x
Reference in New Issue
Block a user