hyprctl: add an active layout index field in devices (#11531)

This commit is contained in:
Levizor 2025-09-09 15:19:51 +02:00 committed by GitHub
parent ecc9e4d8cd
commit 150d693fe7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 64 additions and 23 deletions

View file

@ -65,23 +65,24 @@ class IKeyboard : public IHID {
std::string rules = "";
};
void setKeymap(const SStringRuleNames& rules);
void updateXKBTranslationState(xkb_keymap* const keymap = nullptr);
std::string getActiveLayout();
std::optional<uint32_t> getLEDs();
void updateLEDs();
void updateLEDs(uint32_t leds);
uint32_t getModifiers();
void updateModifiers(uint32_t depressed, uint32_t latched, uint32_t locked, uint32_t group);
bool updateModifiersState(); // rets whether changed
void updateXkbStateWithKey(uint32_t xkbKey, bool pressed);
void updateKeymapFD();
bool getPressed(uint32_t key);
bool shareStates();
void setKeymap(const SStringRuleNames& rules);
void updateXKBTranslationState(xkb_keymap* const keymap = nullptr);
std::optional<xkb_layout_index_t> getActiveLayoutIndex();
std::string getActiveLayout();
std::optional<uint32_t> getLEDs();
void updateLEDs();
void updateLEDs(uint32_t leds);
uint32_t getModifiers();
void updateModifiers(uint32_t depressed, uint32_t latched, uint32_t locked, uint32_t group);
bool updateModifiersState(); // rets whether changed
void updateXkbStateWithKey(uint32_t xkbKey, bool pressed);
void updateKeymapFD();
bool getPressed(uint32_t key);
bool shareStates();
bool m_active = false;
bool m_enabled = true;
bool m_allowBinds = true;
bool m_active = false;
bool m_enabled = true;
bool m_allowBinds = true;
// permission flag: whether this keyboard is allowed to be processed
bool m_allowed = true;