diff --git a/configure.ac b/configure.ac index 59d7f82a..77d2a7a0 100644 --- a/configure.ac +++ b/configure.ac @@ -34,6 +34,8 @@ AC_DEFINE_UNQUOTED([PACKAGE_STATUS], ["$PACKAGE_STATUS"], [Status of this build] AS_IF([test "x$PLATFORM" = xcygwin], [AC_DEFINE([PLATFORM_CYGWIN], [1], [Cygwin])]) +AS_IF([test "x$PLATFORM" = xosx], + [AC_DEFINE([PLATFORM_OSX], [1], [OSx])]) ### Options AC_ARG_ENABLE([notifications], diff --git a/src/ui/inputwin.c b/src/ui/inputwin.c index 9321706a..d0d0dfe6 100644 --- a/src/ui/inputwin.c +++ b/src/ui/inputwin.c @@ -276,14 +276,19 @@ startup_hook(void) rl_bind_keyseq("\\e[20~", win9_handler); rl_bind_keyseq("\\e[21~", win0_handler); +#ifdef PLATFORM_OSX + rl_bind_keyseq("\\e[1;9D", altleft_handler); + rl_bind_keyseq("\\e[1;9C", altright_handler); + rl_bind_keyseq("\\e\\e[5~", altpageup_handler); + rl_bind_keyseq("\\e\\e[6~", altpagedown_handler); +#else rl_bind_keyseq("\\e[1;3D", altleft_handler); rl_bind_keyseq("\\e[1;3C", altright_handler); - - rl_bind_keyseq("\\e[5~", pageup_handler); - rl_bind_keyseq("\\e[6~", pagedown_handler); - rl_bind_keyseq("\\e[5;3~", altpageup_handler); rl_bind_keyseq("\\e[6;3~", altpagedown_handler); +#endif + rl_bind_keyseq("\\e[5~", pageup_handler); + rl_bind_keyseq("\\e[6~", pagedown_handler); rl_bind_key('\t', tab_handler);