ACNews #06
01 ноября 2001
  Софт  

Софт - Настройка горячих клавиш и Смена курсоров в ACEdit.

<b>Софт</b> - Настройка горячих клавиш и Смена курсоров в ACEdit.
/================ Настройка горячих клавиш ====================
(idea by Death Moroz)
   В бейсик-файле  по адресу #5d60 (смещение  от начала сектора=
#25) располагается табличка соответствия клавиш с Extend  коман-
дам редактора. Формат таблички следующий:
   <байт скан-кода клавиши>
   <2 байта адреса процедуры обработки>
и т.д., в конце ноль.

   Скан-код очень оригинальный. Байт состоит из 2 частей:
%rrrmmmmm
   rrr - это номер полуряда: 000 =Caps-V ... 111 =Space-B.
   mmmmm - это маска клавиши. Должен  быть  установлен один бит,
соответствующий этой  клавише, а остальные биты - сброшены. Хотя
можно установить 2 бита и опрашивать одновременное нажатие ;)
   Клавиши  опрашиваются  следующей  подпрограммой (слабо сокра-
тить? ;)):

      LD BC,#DFFE
      IN A,(C)
      BIT 3,A
      JR Z,EXTU ;нажато U = Undo (переопределить невозможно)
      LD HL,TSCAN ;та самая табличка
KSCAN XOR A
      OR (HL)
      JR Z,KSC0 ;0 - конец таблички
      INC HL
      LD B,C
      RRC B
      SUB -32
      JR C,$-4
      IN B,(C)
      AND B
      LD E,(HL)
      INC HL
      LD D,(HL)
      INC HL
      JR NZ,KSCAN
      PUSH DE
      JP PUTLIN7

KSC0  LD (EXTIME+1),A ;ни одна клавиша из списка не нажата
      RET

   Изначально клавиши расположены в табличке следующим образом:
(это чтобы вам было легче понять принцип её построения)

Space (Quit)
M (Move block)
B (Mark begin)
A (Mark all)
S (Save)
D (Delete block)
F (Find/Replace)
P (Print)
O (SetUp)
I (Insert/Overwrite)
Y (Music on/off)
C (Copy block)
W (Centering line)
E (Mark end)
R (Remove mark)
T (Merge)
L (Load)
K (Save block)
H (Help)
3 (Goto begin)
4 (Goto end)
5 (Home)
0 (Delete word)
9 (Delete line)
8 (End of line)
7 (Mark up)
6 (Mark down)
   Ваш  выбор - переставлять  местами  адреса  или  менять скан-
коды...
==============================================================/ 

--- Смена курсоров 
(idea by Путь Самурая) 
Найдите в файле редактора доктором последовательность
   #05,#07,#16,#16,#00,#0e,#1a,#1a
Здесь закодированы виды курсоров для режимов (соответственно)
   rus,lat,grf,grf,RUS,LAT,GRF,GRF
   Сами  понимаете, стоит заменить циферки, и курсоры поменяются
местами  по  вашему желанию ;). Только желательно всё-таки оста-
вить  заглавный русский курсор, как он и был - нулевым, а графи-
ческие курсоры оставить попарно равными,то есть grf=grf,GRF=GRF,
grf<>GRF, чтобы не сглюкнул модуль "ace64qua". Он эту последова-
тельность ищет, потому что после неё лежит шрифт =)
   Коды:
#00 - подчёркивание;
#07 - инверсия (прямоугольник размером со знакоместо);
#05 - квадратик в нижней половине знакоместа;
#0e - контур прямоугольника размером со знакоместо;
#16 - ▄▀, #1a - ▀▄
   Например, можно сделать все символьные курсоры чёрточками:
#00,#00,#16,#16,#00,#00,#1a,#1a
   Или наоборот - все инверсией:
#07,#07,#16,#16,#00,#07,#1a,#1a
----------------------------------------------------------------

--- for beta testers:
Исправлено по сравнению с бетаверсией:
- 42 символа после Find и после Load при режиме "Бегущее окно +"
- Колбасился шрифт после Save Setup (Capry)
- Убивался рамдиск на KAY (AlexUzer)
- Не читался с диска по умолчанию файл, указанный в командной
  строке:
   A> RUN "B:ACE59FIX",filenameW
- В режиме каталога free выводится пятью цифрами.
- Адреса нек.переменных редактора.



Другие статьи номера:

Новости - В эмуляторе Z80Stealth прерывания приходят 55 раз в секунду!

Сенсация - Контроллер IBM-совместимой клавиатуры и мыши для любого ZX Spectrum компьютера (Инструкция по работе и подключению). Как написать собственный драйвер для ZX-Word

Софт - AC Edit'у - 3 года! Положительные стороны редактора, система плагинов, список плагинов.

Софт - Настройка горячих клавиш и Смена курсоров в ACEdit.

Почётные и Вечные - Список Заслуженных Пользователей AC Edit.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Игры - описание игры Crossword от Razzlers.
Обзор глюков - Понеслaсь душa в рaй...
Chaos Constructions '999 - отбытие.
Разное - Реклама.
free humor - анекдот недели от freeman^freeart.

В этот день...   16 апреля