aboutsummaryrefslogtreecommitdiff
path: root/Python/venv1/Lib/site-packages/keyboard/_keyboard_event.py
diff options
context:
space:
mode:
authorSyndamia <kami02882@gmail.com>2019-07-29 11:46:36 +0300
committerSyndamia <kami02882@gmail.com>2019-07-29 11:46:36 +0300
commitbc09da5a7b65b08b5d5dcd1e90173ad3b6081c23 (patch)
treec66cebc02aac30ff859c06ca462f3dd58b6809b0 /Python/venv1/Lib/site-packages/keyboard/_keyboard_event.py
parent65edf7296baf48aad1b4e0c09b57f1a7f48791a8 (diff)
downloadSelf-learning-bc09da5a7b65b08b5d5dcd1e90173ad3b6081c23.tar
Self-learning-bc09da5a7b65b08b5d5dcd1e90173ad3b6081c23.tar.gz
Self-learning-bc09da5a7b65b08b5d5dcd1e90173ad3b6081c23.zip
Did some more work in Python and started officially learning Java
Diffstat (limited to 'Python/venv1/Lib/site-packages/keyboard/_keyboard_event.py')
-rw-r--r--Python/venv1/Lib/site-packages/keyboard/_keyboard_event.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/Python/venv1/Lib/site-packages/keyboard/_keyboard_event.py b/Python/venv1/Lib/site-packages/keyboard/_keyboard_event.py
new file mode 100644
index 0000000..6d9f279
--- /dev/null
+++ b/Python/venv1/Lib/site-packages/keyboard/_keyboard_event.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+
+from time import time as now
+import json
+from ._canonical_names import canonical_names, normalize_name
+
+try:
+ basestring
+except NameError:
+ basestring = str
+
+KEY_DOWN = 'down'
+KEY_UP = 'up'
+
+class KeyboardEvent(object):
+ event_type = None
+ scan_code = None
+ name = None
+ time = None
+ device = None
+ modifiers = None
+ is_keypad = None
+
+ def __init__(self, event_type, scan_code, name=None, time=None, device=None, modifiers=None, is_keypad=None):
+ self.event_type = event_type
+ self.scan_code = scan_code
+ self.time = now() if time is None else time
+ self.device = device
+ self.is_keypad = is_keypad
+ self.modifiers = modifiers
+ if name:
+ self.name = normalize_name(name)
+
+ def to_json(self, ensure_ascii=False):
+ attrs = dict(
+ (attr, getattr(self, attr)) for attr in ['event_type', 'scan_code', 'name', 'time', 'device', 'is_keypad']
+ if not attr.startswith('_') and getattr(self, attr) is not None
+ )
+ return json.dumps(attrs, ensure_ascii=ensure_ascii)
+
+ def __repr__(self):
+ return 'KeyboardEvent({} {})'.format(self.name or 'Unknown {}'.format(self.scan_code), self.event_type)
+
+ def __eq__(self, other):
+ return (
+ isinstance(other, KeyboardEvent)
+ and self.event_type == other.event_type
+ and (
+ not self.scan_code or not other.scan_code or self.scan_code == other.scan_code
+ ) and (
+ not self.name or not other.name or self.name == other.name
+ )
+ )