Page 1 of 1

ScrollByKeyboard plugin

Posted: Mon Sep 14, 2009 1:19 pm
by psa1974
The plugin carries out text scrolling by pressing of keys UP or DOWN with clamped key-modifier CTRL. /PROMT :)/

Плагин выполняет прокрутку текста при нажатии клавиш UP или DOWN с зажатой клавишей-модификатором CTRL. При прокрутке текста каретка остается на своей строке до тех пор пока не упрется в нижний/верхний край окна реадктирования. При наличии выделения, оно сохраняется. При достижении кареткой нижнего или верхнего края текст продолжает прокручиваться, однако каретка за пределы окна редактирования не выходит и остается на первой или последней видимой строке текста (если было выделение, очевидно, что при этом оно снимается). (Такое поведение присуще многим редакторам.)
Комбинация клавиш CTRL+DOWN/UP определена не жестко и ее можно менять через настройки.

Написан на Delphi.

http://akelpad.sourceforge.net/files/pl ... yboard.zip

Posted: Mon Sep 14, 2009 1:56 pm
by VladSh
1. Прокрутка текста такая же, как и в голом AkelPad'е. Отличается только то, что курсор не прыгает в начало строки, когда символов мало или совсем нету.
2. Выделение сбрасывается сразу же (настроил на ALT), т.е. если при нажатой ALT нажать DOWN, то выделение сбрасывается, а не "едет" вверх.
Кроме п.1 смысла плагина не понял.

Posted: Mon Sep 14, 2009 3:08 pm
by psa1974
VladSh

По поводу пункта 2:
ScrollByKeyboard-Rus.txt:
...и позволяет через диалог настроек определить любую другую комбинацию клавиш-модификаторов (не имеют эффекта только комбинации SHIFT+ALT+DOWN/UP и ALT+DOWN/UP)
По пункту 1: см. замечание по пункту 2 (с альтом в отдельности также как и с альт+шифт, плагин не работает). Я полагаю из-за того что альт используется для доступа к меню. Все отстальные комбинации работают.
Будет работать также, даже если выключить все три клавиши Ctrl, Shift, Alt - просто нажимая UP или DOWN текст будет прокручивается (применимость такого варианта сомнительна, однако он тоже работает).

Posted: Mon Sep 14, 2009 3:31 pm
by DV
Для обработки сочетаний с клавишей Alt следует использовать WM_SYSKEYDOWN (наряду с WM_KEYDOWN для обычных сочетаний клавиш).

Posted: Mon Sep 14, 2009 3:57 pm
by psa1974
DV

Не вопрос, поковыряем WM_SYSKEYDOWN :)

Posted: Thu Sep 17, 2009 9:03 am
by psa1974
ScrollByKeyboard v1.1
* Добавлена поддержка клавиши ALT
* Исправлена работа с AkelPad 3.7.3
* для AkelPad 3.7.3/4.3.1
http://akelpad.sourceforge.net/files/pl ... yboard.zip

Но, поскольку в плагине AutiScroll v2.8 добавлена поддержка функционала моего плагина :), поддержка ScrollByKeyboard прекращена.
Для реализации такого поведения с помощью AutoScroll плагина нужно в Hotkeys плагине добавить:

Code: Select all

"Вверх" Call("AutoScroll::Main", 4, -1, 2) Ctrl+Up 
"Вниз" Call("AutoScroll::Main", 4, 1, 2) Ctrl+Down