LINUX.ORG.RU

Консольный ввод и замена клавиш типа ALT-F... - кто что посоветует


0

0

Переделываю win32 console application под Linux. Там у меня задействованы разные сочетания клавиш -с Alt, Ctrl, Shift и тд и тп

Какие есть традиции для их замены?

У меня есть мысль такая: например для замены любого сочетания с Альт - пусть юзер жмет Alt-A а потом клавишу с которой сочетание

для замены любого сочетания с Ctrl - пусть юзер жмет Ctrl-A а потом клавишу с которой сочетание

вот правда еще Shift-F3 и тп надо как-то обозначить

Или может есть какой-нибудь общепринятый способ?

Но на совсем низком уровне проверять состояние клавиатуры я бы не хотел, желательно будет использование удаленного доступа


почитай про screen, может какие мысли подбросит

dimon555 ★★★★★
()


а зачем заменять? терминал как правило прекрасно отрабатывает Alt-XXX или Ctrl-XXX. AFAIR были проблемы с Shift-Fx, но это, думаю, тоже решается. Вводить же многоклавишные комбинации - это отстрелить себе ногу.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от Miguel

> А проблем с выполнением во всяких xterm-ах не будет?

ну xterm-ы не так глупы, как может показаться на первый взгляд. попробуйте. есть поддержка комбинаций или нет проверяется очень просто: пишется програмулинка на сто строк, которая переводит ввод в raw режим и дампит на выходе считанное в hex. далее жмём все, что нужно, и наблюдаем. есть к примеру разница между F3 и Shift+F3 или нет. у кого-то есть, у кого-то нет. но с Alt/Ctrl+ASCII работать должно практически везде.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda

Странно и противоречит моему опыту

У меня (Debian, lenny) и это кажется вообще стандарт юникса ALT-F... используются для переключений виртуальных терминалов. А shift-F.. дает те же скан-коды и тп как и без шифта.

Такую прогу на 100строк ( у меня строк ровно 55) я первым делом написал, чтобы все протестить

Кроме того куча сочетаний с Контролом имеют системное назначение типа "все вырубить"

Конечно, я бы предпочел оставить все клавиши как есть - но мне кажется этого добиться нереально

Правда я начинающий линуксоид, хотя немного имел дело с SCO Unix много лет назад - там было все то же

CoGo
() автор топика
Ответ на: комментарий от CoGo


Ну по поводу функциональных клавиш - тут да, скорее задница, нежели нормальная отработка. В т.ч. с Shift-ом. Не помню где, но тот же Shift-Fx у меня работал. Не факт, кстати, что это был именно Linux. Может быть и BSD или кто-то ещё. В общем, я бы не рекомендовал затачиваться на то, что ф-е клавиши будут работать с модификаторами. Это вам не винда, где все работает out-of-box как доктор прописал везде и всегда в строгом соответствии с MSDN.

По поводу дефолтных сочетаний Ctrl-xx - AFAIR перевод tty в raw режим с уже не помню какими флажками их отключает. Как следствие, имеем на чтении соотв. последовательность. В принципе, с этим криво-косо но как-то справляется всеми любимый ncurses. Хотя для человечей работы и его, возможно, придётся попилить-понастраивать. В общем, боюсь, только ручной проверкой на конкретных системах с подстройкой по мере вылезания глюков.

Да, и не забывайте про удалённый доступ. Если терминальное приложение нормально работает в xterm но не работает, скажем, в связке с putty - грош ему цена :)

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda

Уже много лет использую в Линуксе редактор FTE (vfte для консоли и xfte для X11). И там и там прекрасно работают все сочетания, те у меня настроены разные команды на F1, Shift+F1, Alt+F1, Ctrk+F1 и даже их комбинации с шифтом- те Shift+Alt+F1

sigurd ★★★★★
()
Ответ на: комментарий от sigurd

> Уже много лет использую в Линуксе редактор FTE (vfte для консоли и xfte для X11). И там и там прекрасно работают все сочетания, те у меня настроены разные команды на F1, Shift+F1, Alt+F1, Ctrk+F1 и даже их комбинации с шифтом- те Shift+Alt+F1

http://fte.sourceforge.net/index.html#download

20020324
This is the snapshot after some very major changes. You need to compile this yourself. New features include internal CVS support, new colors, and many new commands.

* fte-20020324-common.zip
Common package, necessary with all other archives.
* fte-20020324-src.zip
Source distribution.

Ну и линукса, я так понимаю, у вас 2002го года рождения? :)

ps: собирать - лень :) проект может быть и хороший, спорить не буду, но 7ми летняя задержка говорит о многом.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda

> ps: собирать - лень :) проект может быть и хороший, спорить не буду, но 7ми летняя задержка говорит о многом.

собрал, не сдержался. аж всплакнул, как увидел :)))

http://img25.imageshack.us/img25/4509/fte.png

TV он и в Африке TV :)

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda


ну, впрочем, он и в консольном варианте вполне прилично сохранился. vcs версию нужно немного попилить, чтобы она дружила с /dev/vcsaX не только от рута, slang-овскую - чтобы понимала составные символы в SLsmg_read_raw/ SLsmg_write_raw ну а так в принципе неплохо. скажем так: для проекта семилетней давности весьма даже гут :)

http://img10.imageshack.us/img10/9364/vfte.png
http://img10.imageshack.us/img10/1725/sfte.png

// wbr

klalafuda ★☆☆
()

Вообще, если по нормальному - выдели сочетания клавиш в отдельный конфиг.

Miguel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.