This restores fine-positioning too (shift - up/down via remapped keys).
Unified · Split
| @@ -89,8 +89,8 @@ f - toggle fullscreen · 88 unmodified lines | ||
| 89 | 89 | insert - toggle link navigation mode |
| 90 | 90 | o - switch to outline/table of contents mode |
| 91 | 91 | ' - switch to bookmark mode |
| 92 | −H - switch to history mode | |
| 93 | −F1 - switch to help mode | |
| 92 | +F1, Alt-h - switch to help mode | |
| 93 | +Ctrl-h - switch to history mode | |
| 94 | 94 | i - switch to info mode |
| 95 | 95 | P - switch to "presentation" mode |
| 96 | 96 | c - switch to previous column layout |
| @@ -3423,7 +3423,6 @@ let viewkeyboard key mask = · 3422 unmodified lines | ||
| 3423 | 3423 | end; |
| 3424 | 3424 | |
| 3425 | 3425 | | Ascii 'o' -> enteroutlinemode () |
| 3426 | − | Ascii 'H' -> enterhistmode () | |
| 3427 | 3426 | |
| 3428 | 3427 | | Ascii 'u' -> |
| 3429 | 3428 | state.rects <- []; |
| @@ -3617,7 +3616,6 @@ let viewkeyboard key mask = · 187 unmodified lines | ||
| 3617 | 3616 | end |
| 3618 | 3617 | |
| 3619 | 3618 | | Ascii '\'' -> enterbookmarkmode () |
| 3620 | − | Ascii 'h' | Fn 1 -> enterhelpmode () | |
| 3621 | 3619 | | Ascii 'i' -> enterinfomode () |
| 3622 | 3620 | | Ascii 'e' when Buffer.length state.errmsgs > 0 -> entermsgsmode () |
| 3623 | 3621 | |
| @@ -3706,6 +3704,9 @@ let viewkeyboard key mask = · 82 unmodified lines | ||
| 3706 | 3704 | | Some n -> setautoscrollspeed n true |
| 3707 | 3705 | end |
| 3708 | 3706 | |
| 3707 | + | Left when Wsi.withctrl mask -> enterhistmode () | |
| 3708 | + | Fn 1 | Left when Wsi.withalt mask -> enterhelpmode () | |
| 3709 | + | |
| 3709 | 3710 | | Left | Right when not (Wsi.withalt mask) -> |
| 3710 | 3711 | if canpan () |
| 3711 | 3712 | then |
| @@ -501,9 +501,8 @@ let readresp sock = · 500 unmodified lines | ||
| 501 | 501 | | 2 -> (* key press *) |
| 502 | 502 | if Array.length state.keymap > 0 |
| 503 | 503 | then |
| 504 | − let code = r8 resp 1 in | |
| 504 | + let code = state.mapc @@ r8 resp 1 in | |
| 505 | 505 | let mask = r16 resp 28 in |
| 506 | − let code = if not (withshift mask) then state.mapc code else code in | |
| 507 | 506 | let keysym = getkeysym code mask in |
| 508 | 507 | vlog "keysym = %x %c mask %#x code %d" |
| 509 | 508 | keysym (Char.unsafe_chr keysym) mask code; |