Created
January 2, 2020 21:03
-
-
Save neslinesli93/c5aa02fbf17e0c25bdf2d771326d409e to your computer and use it in GitHub Desktop.
Pattern match on specific keys in order to handle correctly user input
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Handle keydown events | |
@spec on_input(Socket.t(), String.t()) :: Socket.t() | |
defp on_input(socket, key) when key in @left_keys, | |
do: move_paddle(socket, :left) | |
defp on_input(socket, key) when key in @right_keys, | |
do: move_paddle(socket, :right) | |
defp on_input(socket, _), do: socket | |
# Handle keyup events | |
@spec on_stop_input(Socket.t(), String.t()) :: Socket.t() | |
defp on_stop_input(socket, key) when key in @left_keys, | |
do: stop_paddle(socket, :left) | |
defp on_stop_input(socket, key) when key in @right_keys, | |
do: stop_paddle(socket, :right) | |
defp on_stop_input(socket, _), do: socket |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment