| 243 | /////////////////////////////////////////// |
| 244 | |
| 245 | void virtualkeyboard_keymodifier(keylayout_key_t key, bool32_t modifier_state) { |
| 246 | uint64_t hash = virtualkeyboard_hash(&key); |
| 247 | if (modifier_state) { |
| 248 | keyboard_modifier_keys.add(hash); |
| 249 | } else { |
| 250 | int32_t idx = keyboard_modifier_keys.index_of(hash); |
| 251 | if (idx >= 0) keyboard_modifier_keys.remove(idx); |
| 252 | } |
| 253 | |
| 254 | if (key.key_event_type != key_none) { |
| 255 | if (modifier_state) input_key_inject_press ((key_)key.key_event_type); |
| 256 | else input_key_inject_release((key_)key.key_event_type); |
| 257 | } |
| 258 | if (modifier_state) submit_chars(key.clicked_text); |
| 259 | } |
| 260 | |
| 261 | /////////////////////////////////////////// |
| 262 |
no test coverage detected