summaryrefslogtreecommitdiffstats
path: root/core/src/keyboard
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/keyboard')
-rw-r--r--core/src/keyboard/event.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/core/src/keyboard/event.rs b/core/src/keyboard/event.rs
new file mode 100644
index 00000000..bc8437a8
--- /dev/null
+++ b/core/src/keyboard/event.rs
@@ -0,0 +1,31 @@
+use super::{KeyCode, ModifiersState};
+
+/// A keyboard event.
+///
+/// _**Note:** This type is largely incomplete! If you need to track
+/// additional events, feel free to [open an issue] and share your use case!_
+///
+/// [open an issue]: https://github.com/hecrj/iced/issues
+#[derive(Debug, Clone, Copy, PartialEq)]
+pub enum Event {
+ /// A keyboard key was pressed.
+ KeyPressed {
+ /// The key identifier
+ key_code: KeyCode,
+
+ /// The state of the modifier keys
+ modifiers: ModifiersState,
+ },
+
+ /// A keyboard key was released.
+ KeyReleased {
+ /// The key identifier
+ key_code: KeyCode,
+
+ /// The state of the modifier keys
+ modifiers: ModifiersState,
+ },
+
+ /// A unicode character was received.
+ CharacterReceived(char),
+}