Есть простой способ добавить горячую клавишу на свою программу на lisp?
есть
зарегистрировать команду и назначить ей горячую клавишу
еще проще пользовать короткие клавиатурные сочетания (алиасы)
2021 я не справился. Хоткей не заработал. Команда из ком.строки отрабатывалась нормально ![]()
эт чо такое?
прописал? подсказка-описание к команде появилась?
во вложении лисп для примера
в конфиге прописываем команды:
[\configman\commands\drz_layPrev]
weight=i10
cmdtype=i1
intername=sdrz_layPrev
DispName=sПредыдущее пространство
StatusText=sПереход на предыдущую вкладку (лист, модель). Только горячие клавиши CTRRL+PAGENEXT
BitmapDll=sdrzToolsMenu.dll
Icon=sfindpreviousocrtext
[\configman\commands\drz_layNext]
weight=i10
cmdtype=i1
intername=sdrz_layNext
DispName=sСледующее пространство
StatusText=sПереход на следующую вкладку (лист, модель). Только горячие клавиши CTRL+PAGEDOWN
BitmapDll=sdrzToolsMenu.dll
Icon=sfindnextocrtext
в конце конфига в секцию Accelerators пишем желаемые хоткеи
;горячие клавиши
[\Accelerators]
drz_layNext=sCtrl+NEXT
drz_layPrev=sCtrl+PRIOR
подробнее есть у меня в блогах
switcher layouts by kedobear.zip (1000 байтов)
про горячие клавиши была небольшая статья, может пригодится
Неплохо было бы если эта информация, а также инфа по ключам конфигов и их значениям появилась в справке.
Реинжиниринг интересен был 15 лет назад.
Штатный нпи ввиду кривости пока не вывозит
(+ 1 1)
;Добрый день. Не совсем по теме, но путем экспериментальным пришел
;к такому решению ускорения запуска лиспов. Вот пример:
(defun c:DrawCircle00R11 ()
(command “_.circle” “0,0” “11”)
(princ)
)
(defun c:DrawCircle00R22 ()
(command “_.circle” “0,0” “22”)
(princ)
)
(defun c:DrawCircle00R33 ()
(command “_.circle” “0,0” “33”)
(princ)
)
(defun c:йй1 () (c:DrawCircle00R11))
(defun c:йй2 () (c:DrawCircle00R22))
(defun c:йй3 () (c:DrawCircle00R33))
(defun c:qq1 () (c:DrawCircle00R11))
(defun c:qq2 () (c:DrawCircle00R22))
(defun c:qq3 () (c:DrawCircle00R33))
(defun c:qq0 ()
(princ "
\nкоманда qq1(йй1) делает то-то
\nкоманда qq2(йй2) делает то-то
\nкоманда qq3(йй3) делает то-то
\nи т.д.
"
)
(princ)
)
(defun c:йй0 () (c:qq0))
(princ “набери qq0 или йй0 и нажми Enter для вывода списка команд”)
;Функции распределил по файлам с названиями qq ww ee rr tt yy и т.д.
;В них основные команды выглядят qq1, qq2, qq3 … qq11, qq22 и т.д.
Так и делают
Аналогично можно переопределять почти все стандартные команды вместо использования алиасов
Но тема про хоткеи, это немного другое