proc action*(self: InputEventAction): string {.gcsafe, locks: 0.}
proc `action =`*(self: InputEventAction; val: string) {.gcsafe, locks: 0.}
proc pressed*(self: InputEventAction): bool {.gcsafe, locks: 0.}
proc `pressed =`*(self: InputEventAction; val: bool) {.gcsafe, locks: 0.}