citPiks:
Выше я сообщал, что
Цитата:
Но на форуме Far`а насчёт этого варианта "слепой" навигации корректно посоветовали:
Цитата:
И тогда я решил попробовать-таки сделать макросы с навигаторами. При этом у меня был интерес сделать их с Alt`ом.
И действительно, с модификаторами у меня получился существенно более простой пакет макросов [more=навигацияПоПанелиВслепую2.lua]
Код:
[/more] Причём по коду настолько существенно проще, что объём сократился аж в четыре раза. И функциональность макросов, при этом, нисколечко не пострадала.
Исходное положение указательного пальца правой руки стандартное для "слепого" набора — т.е. на клавише "с пупырышкой": англ. J (русск. О). Все манипуляции производятся при нажатом левой рукой Alt`е.
Схема нажатий указательным пальцем:
Цитата:
Схема нажатий средним пальцем:
Цитата:
Схема нажатий безымянным пальцем:
Цитата:
Схема нажатий (и удержаний) мизинцем:
Цитата:
Выше я сообщал, что
Цитата:
Закончил этап ранее начатого формирования пакета макросов навигации по панели вслепую буквенными клавишами навигацияПоПанелиВслепую.lua |
Цитата:
не проще было бы сделать макросы с модификаторами — другая то рука свободна? |
И тогда я решил попробовать-таки сделать макросы с навигаторами. При этом у меня был интерес сделать их с Alt`ом.
И действительно, с модификаторами у меня получился существенно более простой пакет макросов [more=навигацияПоПанелиВслепую2.lua]
Код:
-- Макросы пакета навигацияПоПанелиВслепую2.lua - навигация в панели 'слепым' способом -- при нажатом левой рукой модификаторе Alt (в двух случаях - ShiftAlt) -- пальцами правой руки (по клавишам JHYNUMIK,O.;') от базовой кнопки клавиатуры J/О -- Соcтавил citPiks. С учётом и с использованием -- идеи https://forum.farmanager.com/viewtopic.php?p=154710#p154710 ImBringingTaxicab -- и замечания https://forum.farmanager.com/viewtopic.php?p=155423#p155423 Tal, -- с благодарностью к поименованным и к другим лицам, в той или иной мере участвующим в развитии FAR. -- Указательный палец / Right index finger: Macro { description="Прыгать в панели ↔ как Home/End УКАЗАТЕЛЬНЫМ по Y/N при нажатом Alt"; -- (т.е. ЛЕВЕЕ и ВЫШЕ базовой позиции) --description="Go to the top/bottom position of the panel"; area="Shell"; key="AltY AltN"; id="D3A0410A-AB89-4269-92D5-0882D8302950"; condition=function() return APanel.Visible end; action=function() if akey(1,1):match('N') then Keys("End") else Keys("Home") end; end; } Macro { description="Листать в панели ↕ как PgDn/PgUp УКАЗАТЕЛЬНЫМ по M/U при нажатых AltShift"; -- (т.е. ВЫШЕ или НИЖЕ базовой позиции при нажатых AltShift) -- description="Screenful down / up"; area="Shell"; key="AltShiftU AltShiftM"; id="8F060392-2439-4E6D-8B23-532545B85255"; condition=function() return APanel.Visible end; -- работа макроса в видимой панели action=function() if akey(1,1):match('M') then Keys("PgDn") else Keys("PgUp") end; end; } Macro { description="Перейти на позицию левее/правее - как Left/Right"; -- description="Move Left/Right"; area="Shell"; key="AltH AltJ"; id="CC5F044F-F249-4923-875F-38C005D594D9"; --AltР condition=function() return APanel.Visible end; action=function() if akey(1,1):match('H') then Keys('Left') else Keys("Right") end; end; } Macro { description="Перейти на позицию выше/ниже - как Up/Down"; -- description="Move Up/Down"; area="Shell"; key="AltU AltM"; id="EA019A8A-4DBA-4549-9891-0E56D213316F"; condition=function() return APanel.Visible end; action=function() if akey(1,1):match('U') then Keys('Up') else Keys("Down") end; end; } -- Средний палец / Middle finger of the right hand: Macro { description="Пометить/снять пометку с объекта или в обратную сторону - как Ins и Ins-реверс"; -- description="Select/deselect file"; area="Shell"; key="AltI Alt,"; id="6F8F702A-B638-449A-86C0-761578E3ABF7"; condition=function() return APanel.Visible end; action=function() if akey(1,1):match('I') then Keys('Ins') else Keys("Up Ins Up") end; end; } Macro { description="Инвертировать пометку в панели - Multiply"; -- description="Changes the sorting order to be reversed"; area="Shell"; key="AltK"; id="CC8C94FA-8423-4737-AF91-D21C3DAEDF24"; condition=function() return APanel.Visible end; -- исполнять только в англ. раскладке action=function() Keys('Multiply') end; } -- Безымянный палец / Ring finger of the right hand: Macro { description="Пометить элементы / cнять пометку с группы - Add/Subtract"; -- description="Sets the sorting order to be direct"; area="Shell"; key="AltO Alt."; id="E49365CA-4185-4D66-9909-79FC931CC583"; condition=function() return APanel.Visible end; action=function() if akey(1,1):match('O') then Keys('Add') else Keys("Subtract") end; end; } -- Мизинец / Little finger of the right hand: Macro { description="Прокрутка текущей позиции вверх/вниз"; -- description="scroll up/down"; -- см. michaelang Sat 31 Aug 2019 05:42 https://forum.farmanager.com/viewtopic.php?p=154883#p154883 area="Shell"; key="Alt; Alt'"; id="7F6FF4B7-5C70-44F2-BB30-30EF5A10142F"; condition=function() return APanel.Visible end; action=function() if akey(1,1):match(';') then Keys('MsWheelDown Up') else Keys("MsWheelUp Down") end; end; } |
Исходное положение указательного пальца правой руки стандартное для "слепого" набора — т.е. на клавише "с пупырышкой": англ. J (русск. О). Все манипуляции производятся при нажатом левой рукой Alt`е.
Схема нажатий указательным пальцем:
Цитата:
Y как Home — U как Up (+Shift – как PgUp) | H как Left — J как Right | N как End — M как Down (+Shift – как PgDn) |
Схема нажатий средним пальцем:
Цитата:
I как Ins | K как * Multiply | < как Ins обратно |
Схема нажатий безымянным пальцем:
Цитата:
O как Add (т.е. вызвать диалог "Пометить") | | > как Subtract (т.е. вызвать диалог "Снять") |
Схема нажатий (и удержаний) мизинцем:
Цитата:
; (точка с запятой/русская Ж) — прокрутка влево и вверх ' (одинарная кавычка/русская Э) — прокрутка вправо и вниз |