anchor.diff:                                                   :value key-string
                                                    :modifiers modifiers
                                                    :status :pressed)))
  -      (funcall (input-dispatcher sender) event (active-buffer sender) sender printable?))))
  +      (funcall (input-dispatcher sender) event (active-buffer sender) sender printable-value))))
   
   (defmethod process-button-press-event ((sender gtk-buffer) event)
     (let* ((button (gdk:gdk-event-button-button event))
  
positive.code:                                                      (gdk:gdk-event-button-state event)
                                                       event)
                                   :status :pressed)))
        (funcall (input-dispatcher window) event sender window))))
  
  (declaim (ftype (function (&optional buffer)) make-context))
  (defun make-context (&optional buffer)
  
negative.code:           (gdk:gdk-event-button-state button-event))
      (cffi:mem-ref modifiers 'gdk:gdk-modifier-type)))
  
  (defun printable-p (window event)
    "Return the printable value of EVENT."
    ;; Generate the result of the current keypress into the dummy
    ;; key-string-buffer (a GtkEntry that's never shown on screen) so that we
    ;; can collect the printed representation of composed keypress, such as dead
    ;; keys.
    (gtk:gtk-entry-im-context-filter-keypress (key-string-buffer window) event)
    (when (<= 1 (gtk:gtk-entry-text-length (key-string-buffer window)))
      (prog1
          (match (gtk:gtk-entry-text (key-string-buffer window))
            ;; Special cases: these characters are not supported as is in KEY values.
            ;; See `self-insert' for the reverse translation.
            (" " "space")
            ("-" "hyphen")
            (character character))
        (setf (gtk:gtk-entry-text (key-string-buffer window)) ""))))
  
  (defmethod process-key-press-event ((sender gtk-window) event)
    (let* ((keycode (gdk:gdk-event-key-hardware-keycode event))
           (keyval (gdk:gdk-event-key-keyval event))
           (keyval-name (gdk:gdk-keyval-name keyval))
           (character (gdk:gdk-keyval-to-unicode keyval))
           (printable-value (printable-p sender event))
           (key-string (or printable-value
                           (derive-keyval keyval-name)))
           (modifiers (funcall (modifier-translator *browser*)
                               (gdk:gdk-event-key-state event)
                               event)))
      (if modifiers
          (log:debug key-string keycode character keyval-name modifiers)
          (log:debug key-string keycode character keyval-name))
  