После БОЛЬШОГО исследования я обнаружил, что это была неправильная конфигурация в настройках рабочего стола Gnome моей главной машины. У меня была включена функция, которая перехватывала мои клавиши управления (влево и вправо) и отображала своего рода анимированный «бычий глаз» на курсоре при нажатии любой из них. Проблема с этой функцией доступности в том, что она не передает ключ управления никаким программам.
The solution was to turn it off. To do so from Linux Mint 13 Maya (MATE) do the following:
1 - Click on the Menu button on the lower left corner of the screen.
2 - Click on Preferences
3 - Click on Assistive Technologies
4 - Click on Mouse Accessibility
5 - Click on the General tab
6 - Under Locate Pointer, uncheck the box that says "Show position of pointer when the Control key is pressed".
Я прилагаю снимок экрана со всеми отображаемыми меню и соответствующим флажком, обведенным красным.
Обычно мы не делаем здесь запросы на скрипты, но я помогу вам с трудным моментом.
Предполагая оболочку с функциональностью select
(, такой какbash
). Это должно помочь вам начать:
#!/bin/bash
PS3='Select choice: '
select ch in "dog" "cat" "lion" "bear"; do
case $REPLY in
[1-4]) break ;;
*) echo 'Try again' >&2
esac
done
printf 'You chose a %s\n' "$ch"
select
в bash
отобразит меню и подсказку. Подсказка задается значением переменной PS3
.
Оператор select
представляет собой цикл, и в каждой итерации пользователь делает выбор. Выбор номер(или что-то еще, что пользователь вводит ), находится в $REPLY
, а фактический пункт меню находится в переменной, указанной в операторе select
(, здесь это$ch
).
Оператор case
в цикле проверяет, был ли дан допустимый ответ. Если так (, то есть $REPLY
было одной цифрой от 1 до 4 ), мы break
вышли из цикла. Если пользователь ввел что-либо еще, выводится короткое сообщение об ошибке, и цикл выполняет следующую итерацию.
Если у вас есть более 9 пунктов меню, вы можете захотеть проверить правильность ввода более сложным способом, поскольку значение $REPLY
может содержать более одного символа.
После цикла выбор из меню доступен в $ch
.