--- a/KeyboardMap.st Sat Feb 04 23:21:45 2017 +0000
+++ b/KeyboardMap.st Wed Feb 08 23:58:18 2017 +0000
@@ -149,6 +149,28 @@
parent := aKeyboardMap.
!
+rawKeysForLogical: logicalKey
+ "Return all raw keys for given )possibly) logical key.
+ Example:
+ #Copy -> #(Ctrlc) - depending on mappings
+ "
+ | map rawKeys |
+
+ map := self.
+ rawKeys := #().
+ [ rawKeys isEmpty and:[ map notNil ] ] whileTrue:[
+ map keysAndValuesDo:[ :raw :logical | logical == logicalKey ifTrue:[ rawKeys := rawKeys copyWith: raw ] ].
+ map := map parent.
+ ].
+ ^ rawKeys
+
+ "
+ Screen current keyboardMap rawKeysForLogical: #Copy
+ "
+
+ "Created: / 08-02-2017 / 23:43:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
valueFor:aKey
"retrieve a logical key"