25.03.2009, 12:47 | #1 |
Участник
|
Замена Ctrl+Break на другую комбинацию клавиш
Существует ли возможность в Axapta 2.5 изменить настройку комбинации клавиш Ctrl+Break на какую-либо другую комбинацию?
Объясню, в чем проблема. У нас организована работа с Axapta через бездисковые станции. Физически это происходит примерно так. При включении клиентского компьютера по сети ему закачивается операционная система на базе Linux (в оперативную память, поскольку диска нет - бездисковая станция). Далее эта операционка осуществляет подключение к терминальной сессии и идет обычная работа в терминальном сеансе. Проблема заключается в том, что используемая версия клиента Linux вообще никак не обрабатывает нажатие клавиш PrintScreen, Lock, Break. Т.е. 3 клавиш в правом верхнем углу стандартной клавиатуры. Можно считать, что их как бы не существует. Вот и встал вопрос, что делать? Либо искать нового клиента, либо как-то переключить функционал на работу с другими клавишами. В данном случае пока надо перенастроить именно прерывание обработки. То, что выполняется по Ctrl+Break |
|
25.03.2009, 13:24 | #2 |
Участник
|
У меня на нет-буке стоит SUsE Linux. При коннекте к стандартному терминалу Windows 2003 была такая-же проблема с некоторыми комбинациями клавиш. В результате нашел в инете файл, который добавил к конфигурации rTerminal и Linux стал посылать на терминал нормальные коды сочетаний клавиш.
Может для вашей версии Linux тоже есть подобные файлы настроек для вашего клиента, которым конектитесь к терминалу? |
|
|
За это сообщение автора поблагодарили: Logger (1). |
25.03.2009, 13:30 | #3 |
Боец
|
есть метод \Classes\Info\onEventGoingIdle, который система вызывает каждый N ms. Идея такая:
в этом методе проверять желаемые клавиши на нажатие (как же как WinAPI::isControlButtonDown) и если они нажаты - посылать главному окну системы сообщение, генерируемое по ctrl+break или что-нить в этом духе. P.S. Да, не уверен, что в 2.5 присутствует onEventGoingIdle, - в любом случае, можно "взвести" свой таймер (setTimeOut, с периодом ~80 ms) на классе info. У меня таким образом реализована функциональность hotKeys в аксапте, без привлечения внешних dll Последний раз редактировалось DSPIC; 25.03.2009 в 13:33. |
|
25.03.2009, 14:24 | #4 |
Боец
|
Пардон, не работает.
Когда сис-ма отрабатывает каки-нить операции, onEventGoingIdle() не отрабатывает. Для ctrl+break данный способ не подойдет. |
|