Trying to test Björn's horizontal mouse scrolling patch, I encountered 
problems trying to map Ctrl and Shift with MouseUp/MouseDown in both 
rxvt-unicode and xterm.  The problem with Shift is obvious after looking 
it up: Shift disables mouse reporting temporarily in both terms.  
(Possibly a caveat to document somewhere?).

But, telling the terminal to report mouse events directly (printing 
\e]1003h to the terminal) shows that it sends different codes depending 
on whether Ctrl is pressed:

scrollwheel upwards:          \e[M`xy  ` = 0x60
scrollwheel upwards + ctrl:   \e[Mpxy  p = 0x70
scrollwheel downwards:        \e[Maxy  a = 0x61
scrollwheel downwards + ctrl: \e[Mqxy  q = 0x71
(where xy varies w/ position)

So, ctrl+ toggles bit 0x10 in the state.

I tried to trace this through src/term.c, but got lost in the ifdef's.  Can
someone confirm that using Ctrl+scrollwheel-up (Ctrl+Button4) only ever echoes
'no-control' with these mappings in a terminal (which work fine in 'gvim')?

nnoremap <MouseDown> :echo "no-control"<cr>
nnoremap <C-MouseDown> :echo "with-control"<cr>

If so, anyone have a quick fix?

-- 
Best,
Ben

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui