   ([nodes]
    (doseq [node nodes]
      (when-let [id (.getId node)]
-       (when-let [text (get mappings (fx-id->keyword id))]
+       (when-let [text (get id->key-char (fx-id->keyword id))]
          (add-tooltip! node text)))))
   ([^Scene scene ids]
    (doseq [id ids]
      (let [control (.lookup scene (keyword->fx-id id))
-           text (get mappings id)]
+           text (get id->key-char id)]
        (when (and control text)
          (add-tooltip! control text))))))
 

(fdef hide-tooltips!
  :args (s/cat :node (s/or :node spec/node? :stage spec/scene?)))
(defn hide-tooltips! [node]
  (doseq [id (keys mappings)]
    (when-let [control (.lookup node (keyword->fx-id id))]
      (hide-tooltip! control))))

(fdef run-shortcut!
  :args (s/cat :scene spec/scene? :actions map? :text string? :shift? spec/boolean?))
(defn run-shortcut! [^Scene scene actions ^String text shift?]
  (when-let [id (get reverse-mappings (if shift? (.toUpperCase text) text))]
    (when-let [action (get actions id)]
      (when-let [widget (some-> scene (.lookup (keyword->fx-id id)))]
        (when (and (not (.isDisabled widget)) (.isManaged widget))

  :args (s/cat :stage spec/stage?))
(defn show-tooltips! [^Stage stage]
  (let [scene (.getScene stage)]
    (doseq [id (keys id->key-char)]
      (when-let [control (.lookup scene (keyword->fx-id id))]
        (show-tooltip! stage control)))))

