diff --git a/etc/gui.conf b/etc/gui.conf index a572402..2ff7993 100644 --- a/etc/gui.conf +++ b/etc/gui.conf @@ -200,3 +200,7 @@ keybinding.gemlog = "Control-g" keybinding.about = "Control-a" keybinding.type-address = "Alt-d" + +keybinding.back = "BackSpace" + +keybinding.up = "U" diff --git a/src/gui/client/client-configuration.lisp b/src/gui/client/client-configuration.lisp index 49afc4d..7f81fef 100644 --- a/src/gui/client/client-configuration.lisp +++ b/src/gui/client/client-configuration.lisp @@ -39,7 +39,8 @@ type-address next shuffle - manage) + manage + up) (defun load-config-file (&optional (virtual-filepath +client-conf-filename+) (perform-missing-value-check nil)) @@ -263,7 +264,7 @@ +key-underline+))))) (defun keybinding->tk-event (keys) - (strcat "<" keys ">")) + (nodgui.event-parser:parse-event (strcat "<" keys ">"))) (defun get-keybinding (key) (keybinding->tk-event (access:accesses *client-configuration* diff --git a/src/gui/client/main-window.lisp b/src/gui/client/main-window.lisp index 8de5350..a2a590b 100644 --- a/src/gui/client/main-window.lisp +++ b/src/gui/client/main-window.lisp @@ -1320,6 +1320,18 @@ (lambda (e) (declare (ignore e)) (funcall (tour-visit-next-iri-clsr main-window))) + :exclusive t) + (gui:bind (gui:root-toplevel) + (client-configuration:get-keybinding :back) + (lambda (e) + (declare (ignore e)) + (funcall (back-iri-clsr main-window))) + :exclusive t) + (gui:bind (gui:root-toplevel) + (client-configuration:get-keybinding :up) + (lambda (e) + (declare (ignore e)) + (funcall (up-iri-clsr main-window))) :exclusive t)) (defun init-main-window ()