KeyboardMap.st
branchjv
changeset 7969 2bac4f32553f
parent 7856 7c52e7a9a087
child 8035 8bbd397fe321
--- 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"