anchor.diff:           (key-string (or printable-value
                            (derive-key-string keyval-name character)))
            (modifiers (funcall (modifier-translator *browser*)
  -                             (gdk:gdk-event-key-state event)
  +                             (key-event-modifiers event)
                                event)))
       (if modifiers
           (log:debug key-string keycode character keyval-name modifiers)
  
positive.code:          (key-value (gdk:gdk-event-key-keyval event))
           (key-value-name (gdk:gdk-keyval-name key-value)))
      (when (member :control-mask modifier-state)
        (alexandria:deletef (modifiers browser) "control" :test #'equal))
      (when (member :shift-mask modifier-state)
        (alexandria:deletef (modifiers browser) "shift" :test #'equal))
      (when (or (member :mod1-mask modifier-state)
                (string= key-value-name "Arabic_switch"))
        (alexandria:deletef (modifiers browser) "meta" :test #'equal))
      (when (or (member :super-mask modifier-state)
                (and (member :mod2-mask modifier-state)
                     (member :meta-mask modifier-state)))
        (alexandria:deletef (modifiers browser) "super" :test #'equal))))
  
  #+darwin
  (defun translate-modifiers-macos (modifier-state &optional event)
    "A `gtk-browser' `modifier-translator' for macOS.
  On macOS some modifiers are mistakenly seen as regular keys.
  To work around this, we keep a `modifier' list of currently pressed modifiers in
  `gtk-browser'."
    (declare (ignore modifier-state event))
    (modifiers *browser*))
  
  (declaim (ftype (function (list &optional gdk:gdk-event) list) translate-modifiers))
  (defun translate-modifiers (modifier-state &optional event)
  
negative.code: 
  #+darwin
  (defmethod push-modifier ((browser gtk-browser) event)
    (let* ((modifier-state (gdk:gdk-event-key-state event))
           (key-value (gdk:gdk-event-key-keyval event))
           (key-value-name (gdk:gdk-keyval-name key-value)))
      (when (member :control-mask modifier-state)
        (push :control-mask (modifiers browser)))
      (when (member :shift-mask modifier-state)
        (push :shift-mask (modifiers browser)))
      (when (string= key-value-name "Arabic_switch")
        (push :mod1-mask (modifiers browser)))
      (when (and (member :mod2-mask modifier-state)
                 (member :meta-mask modifier-state))
        (push :super-mask (modifiers browser))))
    (setf (modifiers browser) (delete-duplicates (modifiers browser))))
  
  #+darwin
  (defmethod pop-modifier ((browser gtk-browser) event)
  