 (defvar rdebug-breakpoints-mode-map
   (let ((map (make-sparse-keymap)))
     (define-key map [mouse-2] 'rdebug-goto-breakpoint-mouse)
-    (define-key map " " 'rdebug-toggle-breakpoint)
-    (define-key map [? ] 'rdebug-toggle-breakpoint)
+    (define-key map [mouse-3] 'rdebug-goto-breakpoint-mouse)
+    (define-key map "t" 'rdebug-toggle-breakpoint)
     (define-key map [(control m)] 'rdebug-goto-breakpoint)
     (define-key map [?d] 'rdebug-delete-breakpoint)
     (rdebug-populate-secondary-buffer-map map)
+
+    ;; --------------------
+    ;; The "Breakpoints window" submeny.
+    (let ((submenu (make-sparse-keymap)))
+      (define-key-after map [menu-bar debugger breakpoints]
+        (cons "Breakpoints window" submenu)
+        'placeholder))
+
+    (define-key map [menu-bar debugger breakpoints toggle]
+      '(menu-item "Toggle breakpoint" rdebug-toggle-breakpoint))
+
+    (define-key map [menu-bar debugger breakpoints goto]
+      '(menu-item "Goto breakpoint" rdebug-goto-breakpoint))
+
     (define-key map [menu-bar debugger breakpoints delete]
       '(menu-item "Delete breakpoint" rdebug-delete-breakpoint))
+
     map)
   "Keymap to navigate/set/enable rdebug breakpoints.")
 

  "Layout the window pattern for `rdebug-many-windows'. This was mostly copied
from `gdb-setup-windows', but simplified."
  (rdebug-debug-enter "rdebug-setup-windows"
  (pop-to-buffer gud-comint-buffer)
  (rdebug-process-annotation "help" "")
  (let ((buf


 B - Breakpoints buffer.
 C - Command buffer (the debugger shell)
 O - Output window
 S - go to source frame
 T - Stack trace buffer
 V - Variables buffer
 W - Watch buffer

 d - go down frame (with numeric argument goes down that many frames)
 u - go up one frame (with numeric argument goes down that many frames)

 ? - This help text.
"))))

