The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Отслеживание нажатие кнопок на клавиатуре"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Отслеживание нажатие кнопок на клавиатуре"  
Сообщение от dimanoname on 20-Сен-08, 10:24 
Добрый день! вопрос у меня наверно легкий но победить его никак не могу: как выполнять опеределенную процедуру пока не будет нажата клавиша ентер или esc?
и второй похожий вопрос: считывать символы с клаиатуры(в т.ч. и нажатие стрелок управления курсором, F1..F10 и т д) пока не будет нажат esc. Как реализовать все это в баше?
Заранее благодарен.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Отслеживание нажатие кнопок на клавиатуре"  
Сообщение от angra (ok) on 20-Сен-08, 19:16 
Может лучше не делать это на шелле? Вы ведь не забиваете гвозди отверткой.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Отслеживание нажатие кнопок на клавиатуре"  
Сообщение от dimanoname on 20-Сен-08, 21:45 
>Может лучше не делать это на шелле? Вы ведь не забиваете гвозди
>отверткой.

полностью согласен - делать это в шелле извращение, но сейчас надо именно на нем:(

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Отслеживание нажатие кнопок на клавиатуре"  
Сообщение от angra (ok) on 20-Сен-08, 21:57 
Студент?
Делание чего-либо на шелле можно разделить на две категории
1. использование только встроенных команд. В таком случае вам стоит попробовать добится чего-нибудь от read
2. использование внешних утилит, таких как grep, sed, awk итд. А теперь внимание, к внешним утилитам относятся и такие вещи как perl или python, а уже с их помощью можно сделать все что угодно :)
Я бы рекомендовал Perl, его синтаксис значительно ближе к bash/grep/awk/sed чем питоновксий и будет смотреться естественней в башевом скрипте.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Отслеживание нажатие кнопок на клавиатуре"  
Сообщение от dimanoname on 20-Сен-08, 22:15 
неа не студент:) по работе бьюсь
второй вариант не подходит мне к сожалению по некоторым причинам:(
вся проблема для меня первого варианта в том что read -n 3 например может считать нажатие стрелки вверх или вниз(коды '/[A' и '/[B' соответственно) а вот F10 уже состоит из 4 символов('/[21~') и для нее необходимо уже read -n 4. заплет вообщем:)
А вот escape последовательность ентера  для меня все является какой то тайной:))) может раскроет кто секрет?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Отслеживание нажатие кнопок на клавиатуре"  
Сообщение от angra (ok) on 20-Сен-08, 22:46 
>вся проблема для меня первого варианта в том что read -n 3
>например может считать нажатие стрелки вверх или вниз(коды '/[A' и '/[B'
>соответственно) а вот F10 уже состоит из 4 символов('/[21~') и для
>нее необходимо уже read -n 4. заплет вообщем:)

Считывайте по одному символу, пока не получите одну из искомых последовательностей.

>А вот escape последовательность ентера  для меня все является какой то
>тайной:))) может раскроет кто секрет?

Работайте с ним как с пробелом, то есть проверяйте на пустой символ


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Отслеживание нажатие кнопок на клавиатуре"  
Сообщение от dimanoname on 21-Сен-08, 20:56 

>Работайте с ним как с пробелом, то есть проверяйте на пустой символ
>

Спасибо, ваши советы очень помогли

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру