 q kills the buffer and process."
   :init-value nil
   :lighter " ros-run"
-  :keymap ros-topic-echo-keymap
-  (message "ros-run mode: k to stop, q to quit"))
+  :keymap ros-run-keymap
+  (message "ros-run mode: k to stop, q to quit, r to restart"))
 
 (defun rosemacs/contains-running-process (name)
   (let ((buf (get-buffer name)))

  (interactive)
  (interrupt-process))

(defun kill-current-buffer ()
  (interactive)
  (let ((process (get-buffer-process (current-buffer))))
    (when (and process (eq (process-status process) 'run))
      (interrupt-process)))
  (kill-buffer nil))

(defvar ros-topic-echo-keymap (make-sparse-keymap))
(define-key ros-topic-echo-keymap "k" 'rosemacs/interrupt-process)
(define-key ros-topic-echo-keymap "q" 'kill-current-buffer)

(define-minor-mode ros-topic-echo-mode 
  "Mode used for rostopic echo.  

	(switch-to-buffer buf)
      (progn
	(setq ros-topic-buffer (get-buffer-create "*ros-topics*"))
	(switch-to-buffer ros-topic-buffer)))
    (ros-topic-list-mode 1)
    (update-ros-topic-buffer)))

(defun add-hz-update (topic-regexp)
