Требуется настроить мышь, подключенную к COM-порту в следующем режиме: мышь используется в программе, запущенной в dosemu на консольном терминале, а также в иксах, для работы с офисом и с почтой. Пользователь попеременно переключается то на консоль, то на иксы.
Однако возникла следующая проблема: по отдельности в dosemu и в иксах мышь работает нормально, но если запустить эти приложения одновременно (dosemu в консольном режиме и иксы), в иксах начинаются проблемы с мышью: при движении мышь часто совершает скачки в произвольных направлениях. Такое чувство, что dosemu, выполняясь на бэкграунде, тем не менее захватывает COM-порт на короткие промежутки времени, что прерывает корректную работу мыши в иксах.
Вариант запуска dosemu в иксовом терминале не подходит, потому что машины слабые и это работает очень медленно.
Надо обязательно найти выход из этой ситуации, может, кто-нибудь даст совет?
PS: Пока у меня возникла следующая мысль: можно при перключении с консоли в иксы "замораживать" процесс dosemu - мне кажется что этот вариант может избавить от глючной работы мыши в иксах. Но пока я не знаю, как это сделать: есть ли команда, приостанавливающая выполнение процесса, и возобновляющая его в дальнейшем, и можно ли перехватить системные комбинации клавиш Ctrl-F7 и Ctrl-Alt-F1, чтобы выполнять заморозку и разморозку процесса.
Параллельная работа с Com-мышью в иксах и в консоле (Возникла проблема)
Модератор: Модераторы разделов
-
- Сообщения: 12
- ОС: Debian 4.0 Etch
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Параллельная работа с Com-мышью в иксах и в консоле
Покажи как у тебя настроена мышь в /etc/dosemu.conf
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Параллельная работа с Com-мышью в иксах и в консоле
попробуй работать через gpm
$_mouse = "mousesystems"
$_mouse_dev = "/dev/gpmdata"
$_mouse = "mousesystems"
$_mouse_dev = "/dev/gpmdata"
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 12
- ОС: Debian 4.0 Etch
Re: Параллельная работа с Com-мышью в иксах и в консоле
Мышь в dosemu настроена так:
$_mouse = "microsoft"
$_mouse_dev = "/dev/ttyS0"
Пробовал другие варианты, но с ними не работает. В том числе и с gpm - он отображает курсор мыши в консоли ещё до dosemu, а после запуска dosemu такое впечатление, что курсор мыши живёт своей жизнью: нажатия на клавиши мыши не имеют эффекта на досовские приложения, и только выделяют текст. Попробовал с параметрами "mousesystems" и "/dev/gpmdata" - эффект точно такой же. Мышь в dosemu начинает работать только если отключить gpm. Может, я его неправильно настраиваю?
$_mouse = "microsoft"
$_mouse_dev = "/dev/ttyS0"
Пробовал другие варианты, но с ними не работает. В том числе и с gpm - он отображает курсор мыши в консоли ещё до dosemu, а после запуска dosemu такое впечатление, что курсор мыши живёт своей жизнью: нажатия на клавиши мыши не имеют эффекта на досовские приложения, и только выделяют текст. Попробовал с параметрами "mousesystems" и "/dev/gpmdata" - эффект точно такой же. Мышь в dosemu начинает работать только если отключить gpm. Может, я его неправильно настраиваю?
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Параллельная работа с Com-мышью в иксах и в консоле
в принципе так и должно быть, если работаешь с устройством напрямую.
а файл /dev/gpmdata у тя вообще есть?
что скажет
ls -l /dev/gpm*
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Параллельная работа с Com-мышью в иксах и в консоле
пропиши в файл /etc/gpm.conf
repeat_type=ms3
repeat_type=ms3
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 12
- ОС: Debian 4.0 Etch
Re: Параллельная работа с Com-мышью в иксах и в консоле
Файла gpmdata действительно не было, я сам немного ступил. Почитал мануал по gpm про параметр -R, поставил repeat_type=ms3 (пробовал ещё ms, msc, заменяя $_mouse_dev на microsoft и mousesystems соответственно в dosemu.conf), но ситуация осталась прежней - мышь в консоле работает только на выделение

При этом запуск emumouse i выдаёт ошибку мыши - как в случае с отсутствием повторителя /dev/gpmdata.
В мануале про ключ -R написана фраза:
Causes ‘gpm’ to act as a repeater: any mouse data received while
in graphic mode will be produced on the fifo ‘/dev/gpmdata’ in
protocol name.
Смущают слова "in graphic mode" - такое чувтство, что когда я в иксах, то события транслируются в /dev/gpmdata, иначе - нет.
Вообще это проверенный факт, что мышь в dosemu можно пустить через gpm? Что-то я начинаю сомневаться... Конечно, это было бы здорово - сразу бы решило проблему наилучшим образом.
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Параллельная работа с Com-мышью в иксах и в консоле
http://dosemu.sourceforge.net/docs/README/1.4/mouse.html
For most dos applications you should be able to use the internal mouse with very little setup, and very little trouble.
Under X, or in terminal mode, you don't need to do anything, unless you want to use the middle button then you need to add to autoexec.bat:
emumouse 3
On the console, in text mode, without root, the GPM library can be used, and no extra setup is necessary. Otherwise, especially with console graphics (sudo/suid/root, the -s switch, and $_graphics=(1)), it takes just a tad bit more work:
in dosemu.conf:
$_mouse = "mousesystems"
$_mouse_dev = "/dev/gpmdata"
And in autoexec.bat:
emumouse 3
This sets you up to use the gpm mouse repeater if you don't use the repeater, you need to set $_mouse and $_mouse_dev to different values. The GPM repeater might be configured to use a different protocol than the default. If you are having problems, check the 'repeat_type' setting in your gpm.conf. These are the mappings from the GPM repeat_type to the DOSEMU $_mouse for common settings:
GPM setting DOSEMU setting
-------------------------------
msc (default) mousesystems
ms3 microsoft
raw select type of your real mouse
For most dos applications you should be able to use the internal mouse with very little setup, and very little trouble.
Under X, or in terminal mode, you don't need to do anything, unless you want to use the middle button then you need to add to autoexec.bat:
emumouse 3
On the console, in text mode, without root, the GPM library can be used, and no extra setup is necessary. Otherwise, especially with console graphics (sudo/suid/root, the -s switch, and $_graphics=(1)), it takes just a tad bit more work:
in dosemu.conf:
$_mouse = "mousesystems"
$_mouse_dev = "/dev/gpmdata"
And in autoexec.bat:
emumouse 3
This sets you up to use the gpm mouse repeater if you don't use the repeater, you need to set $_mouse and $_mouse_dev to different values. The GPM repeater might be configured to use a different protocol than the default. If you are having problems, check the 'repeat_type' setting in your gpm.conf. These are the mappings from the GPM repeat_type to the DOSEMU $_mouse for common settings:
GPM setting DOSEMU setting
-------------------------------
msc (default) mousesystems
ms3 microsoft
raw select type of your real mouse
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Параллельная работа с Com-мышью в иксах и в консоле
у тя какая версия dosemu?
ндеюсь > 1.21
ндеюсь > 1.21
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 12
- ОС: Debian 4.0 Etch
Re: Параллельная работа с Com-мышью в иксах и в консоле
Ок, спасибо за ссылку и за совет - значит буду копать в этом направлении. Попробую вечером, когда добарусь до своего компа. Про версию dosemu - учту, проверю у себя.
-
- Сообщения: 2268
- Статус: Линукссаксовец
- ОС: MS Windows XP Home SP3
Re: Параллельная работа с Com-мышью в иксах и в консоле
поставь последнюсь стабильную версию

удачи, надеюсь все заработает.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.
0xDEFEC8ED
0xDEFEC8ED
-
- Сообщения: 12
- ОС: Debian 4.0 Etch
Re: Параллельная работа с Com-мышью в иксах и в консоле
К сожалению, заработало не всё 
Проблему с тем, что dosemu не видит gpmdata я решил - запустил его под рутом - мышь увиделась. Оказалось, что я не выставил права для /dev/gpmdata (снова чувствую себя ламером...)
Выставил права, теперь под обычным пользователем в dosemu команда emumouse i выдаёт корректную информацию о двухкнопочной мыши.
Однако мышь всё равно работает только на выделение - клики курсора мыши в foxpro не действуют ни на меню ни на поля ввода - только выделяют слова по стандартному алгоритму gpm. Думал отучить этот gpm от выделения (чтобы он работал просто как повторитель) - не получилось - в мануале нет ничего по этому поводу.
Обновил версию dosemu до 1.4.0 (была 1.2.2) - не помогло. Поведение мыши в dosemu осталось таким же.

Проблему с тем, что dosemu не видит gpmdata я решил - запустил его под рутом - мышь увиделась. Оказалось, что я не выставил права для /dev/gpmdata (снова чувствую себя ламером...)
Выставил права, теперь под обычным пользователем в dosemu команда emumouse i выдаёт корректную информацию о двухкнопочной мыши.
Однако мышь всё равно работает только на выделение - клики курсора мыши в foxpro не действуют ни на меню ни на поля ввода - только выделяют слова по стандартному алгоритму gpm. Думал отучить этот gpm от выделения (чтобы он работал просто как повторитель) - не получилось - в мануале нет ничего по этому поводу.
Обновил версию dosemu до 1.4.0 (была 1.2.2) - не помогло. Поведение мыши в dosemu осталось таким же.
