init: turn keychords into a standalone class
Test: init_tests
Bug: 64114943
Change-Id: Ie760e4a3a661260ed2aabb8a92fe65fc93521cb5
diff --git a/init/init.cpp b/init/init.cpp
index 43242b2..5652c5e 100644
--- a/init/init.cpp
+++ b/init/init.cpp
@@ -749,12 +749,13 @@
am.QueueBuiltinAction(MixHwrngIntoLinuxRngAction, "MixHwrngIntoLinuxRng");
am.QueueBuiltinAction(SetMmapRndBitsAction, "SetMmapRndBits");
am.QueueBuiltinAction(SetKptrRestrictAction, "SetKptrRestrict");
+ Keychords keychords;
am.QueueBuiltinAction(
- [&epoll](const BuiltinArguments& args) -> Result<Success> {
+ [&epoll, &keychords](const BuiltinArguments& args) -> Result<Success> {
for (const auto& svc : ServiceList::GetInstance()) {
- svc->set_keychord_id(GetKeychordId(svc->keycodes()));
+ svc->set_keychord_id(keychords.GetId(svc->keycodes()));
}
- KeychordInit(&epoll, HandleKeychord);
+ keychords.Start(&epoll, HandleKeychord);
return Success();
},
"KeychordInit");