From b87c56799ab6f6d651e1dc6c712a625545a4ad5f Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sun, 2 Feb 2025 13:17:51 +0300 Subject: implemented mouse support via special ^KMOUSE and with negative keys * You need to set 0,64ED to enable mouse processing in Curses. It is always enabled in Gtk as it should never make the experience worse. sample.teco_ini enables mouse support, since this should be the new default. `sciteco --no-profile` won't have it enabled, though. * On curses, it requires the ncurses mouse protocol version 2, which will also be supported by PDCurses. * Similar to the Curses API, a special key macro ^KMOUSE is inserted if any of the supported mouse events has been detected. * You can then use -EJ to get the type of mouse event, which can be used with a computed goto in the command-line editing macro. Alternatively, this could have been solved with separate ^KMOUSE:PRESSED, ^KMOUSE:RELEASED etc. pseudo-key macros. * The default ^KMOUSE implementation in fnkeys.tes supports the following: * Left click: Edit command line to jump to position. * Ctrl+left click: Jump to beginning of line. * Right click: Insert position or position range (when dragging). * Double right click: insert range for word under cursor * Ctrl+right click: Insert beginning of line * Scroll wheel: scrolls (faster with shift) * Ctrl+scroll wheel: zoom (GTK-only) * Currently, there is no visual feedback when "selecting" ranges via right-click+drag. This would be tricky to do and most terminal emulators do not appear to support continuous mouse updates. --- README | 1 + 1 file changed, 1 insertion(+) (limited to 'README') diff --git a/README b/README index 3de865d..bf0ed55 100644 --- a/README +++ b/README @@ -57,6 +57,7 @@ Features by the standard library `fnkeys.tes`. In fact, all keys with printable representation and control keys can be remapped using key macros - and they can be context-sensitive as well! +* Scriptable mouse support via the key macro mechanism (see also `fnkeys.tes`) * Many TECO-11 features, like that most commands have a colon-modified form, string-building characters, exotic match characters... * Interactivity: Immediate searching (similar to search-as-you-type) and -- cgit v1.2.3