anchor.diff:  (defconstant +ps/2-disable-scanning+ #xF5)
   (defconstant +ps/2-identify+ #xF2)
   (defconstant +ps/2-ack+ #xFA)
  +(defconstant +ps/2-resend+ #xFE)
   (defconstant +ps/2-self-test-passed+ #xAA)
   
   (defun ps/2-input-wait (&optional (what "data"))
  
positive.code:     (:key (loop (unless (ps/2-pop-fifo *ps/2-key-fifo*) (return))))
      (:aux (loop (unless (ps/2-pop-fifo *ps/2-aux-fifo*) (return))))))
  
  (defun ps/2-identify (port)
    (ps/2-write port +ps/2-disable-scanning+)
    ;; Wait for success reply.
    (let ((response (ps/2-read port t)))
      (cond ((not response)
             (warn "No response during PS/2 identify")
             (return-from ps/2-identify nil))
            ((not (eql response +ps/2-ack+))
             (warn "PS/2 identify failed: ~2,'0X~%" response)
             (return-from ps/2-identify nil))))
    (ps/2-write port +ps/2-identify+)
    ;; Wait for success reply.
    (let ((response (ps/2-read port t)))
      (cond ((not response)
             (warn "No response during PS/2 identify")
             (return-from ps/2-identify nil))
            ((not (eql response +ps/2-ack+))
             (warn "PS/2 identify failed: ~2,'0X~%" response)
             (return-from ps/2-identify nil))))
    ;; Read up to two bytes.
    (let ((byte-one (ps/2-read port t)))
      (case byte-one
  
negative.code: (defun init-keyboard (port)
    (ps/2-flush-input port)
    ;; Expecting ACK followed by Self-Test-Passed.
    (unless (ps/2-send-command port +ps/2-reset+)
      (warn "PS/2 keyboard reset failed.~%")
      (return-from init-keyboard))
    (unless (eql (ps/2-read port t) +ps/2-self-test-passed+)
  