Sponsored Content
Full Discussion: Clumsy user input
Top Forums UNIX for Dummies Questions & Answers Clumsy user input Post 302930988 by darwin_886 on Friday 9th of January 2015 08:07:18 AM
Old 01-09-2015
Clumsy user input

The (longer) script that I am working on does something like this:
Code:
#!/bin/bash

while true
do
   clear
   sleep 1
   shuf -i1-2 -n1    
   sleep .1
   clear
   echo "Press 1 if you saw a 1. Press 2 if you saw a 2."
   read -s -n1 RESPONSE
done

If the user accidentally presses two keys non-simultaneously (e.g., fat finger hits 1 then 2), then the second keypress gets assigned to RESPONSE on the next iteration of the loop. How can I avoid this (e.g., flushing any extra keypresses from stdin at the end of the loop)? I don't need to give the user the opportunity to redo - just taking the first keypress as response is fine.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

user input date

I am trying write a script that takes user input date in the format "Mar 18". If it is march1 it is like "Mar 1" . Once i take this input i will go back to my log files and search for any failed transactions recorded that day. If there are then i will send it to a file and mail it. I am... (10 Replies)
Discussion started by: gundu
10 Replies

2. Shell Programming and Scripting

Getting user input

I am trying to create a shell (ksh) which has two "read" commands, one which reads a line from a file and another which is inside a loop that reads user input from a keyboard. However, the "read" command inside the loop uses the input from the file and it does not get the user input from keyboard.... (3 Replies)
Discussion started by: stevefox
3 Replies

3. UNIX for Dummies Questions & Answers

accept user input?

how would i accept user input from the keyboard? (2 Replies)
Discussion started by: JamieMurry
2 Replies

4. Shell Programming and Scripting

How to get the user input recursively until the user provides valid input

Hi, echo "Enter file name of input file list along with absolute path : " read inputFileList if then for string in `cat inputFileList` do echo $string done else echo " file does not exist" fi From the above code, if the user enters a invalid file... (1 Reply)
Discussion started by: i.srini89
1 Replies

5. Shell Programming and Scripting

Script interacts with user , based on user input it operates

i have a script which takes input from user, if user gives either Y/y then it should continue, else it should quit by displaying user cancelled. #!/bin/sh echo " Enter your choice to continue y/Y OR n/N to quit " read A if then echo " user requested to continue " ##some commands... (7 Replies)
Discussion started by: only4satish
7 Replies

6. Shell Programming and Scripting

Check user input

Hi, I need my script to check if the user enters 3 values if not 5 values to my script and alert if the input has any other number of values. for example: ./myscript.sh 22 56 3221 - > correct ./myscript.sh 22 56 3221 45 777 -> correct ./myscript.sh 22 56 3221 45 -> incorrect Please... (6 Replies)
Discussion started by: mohtashims
6 Replies

7. Shell Programming and Scripting

How-To Trim user input

Hi, The user inputs either "/tmp/bea" or "/tmp/bea/". Regardless my script should extract and store in a variable the last directory in the user input path. Desired output: "bea" Please help. (6 Replies)
Discussion started by: mohtashims
6 Replies

8. Shell Programming and Scripting

How to validate user's input..?

$Input_filename=$ARGV; if (!-d $Input_filename && ! -e $Input_filename) { print "USAGE: Please enter '$ABCD/def/dsed.txt' as an arguement \n"; exit; } 1. Input Is suppose to be something like "$ABCD/def/dsed.txt". if the input is wrong the script should throw an ERROR message.... (2 Replies)
Discussion started by: Rashid Khan
2 Replies

9. Shell Programming and Scripting

User input and run awk using the input

I am trying to allow a user to enter in text and then store that text in a variable $gene to run in an awk command in which those values are used to run some calculations. I am getting syntax errors however, when I try. Thank you :). The awk runs great if it is a pre-defined file that is used,... (7 Replies)
Discussion started by: cmccabe
7 Replies

10. Shell Programming and Scripting

Controlling user input

I'm trying to use a bash script for a psych experiment that involves listening to sound files and responding. If I have something like the code below, how can I make sure that a key press is assigned to RESPONSE only after the second echo statement? for i in 1 2 3; do echo "Ready?" sleep 2 ... (10 Replies)
Discussion started by: darwin_886
10 Replies
keyboard_translatekeys(3)					Svgalib User Manual					 keyboard_translatekeys(3)

NAME
keyboard_translatekeys - modify scancode mappings in raw keyboard mode SYNOPSIS
#include <vgakeyboard.h> void keyboard_translatekeys(int mask); DESCRIPTION
This function sets several flags which control how certain scancodes are mapped. At startup a mask value of 0 is active. mask must be a logical or of zero or more of the following #predefined integers to turn the features listed on: TRANSLATE_CURSORKEYS Translate the scancodes of the SCANCODE_CURSORBLOCK* keys to those of the cursor keys on the number pad, s.t. keyboard_getstate(3) and keyboard_keypressed(3) report a keypress of the corresponding number pad cursor key and not the one on the cursor block. TRANSLATE_DIAGONAL Translates the scancodes of diagonal cursor keys (keypad 7, 9, 1, 3) to presses of two of the ordinary up, down, left, right keys. For example, instead of reporting a press of SCANCODE_CURSORUPRIGHT keyboard_getstate(3) and keyboard_keypressed(3) report a simul- taneous press of SCANCODE_CURSORUP and SCANCODE_CURSORRIGHT. TRANSLATE_KEYPADENTER The scancode of the keypad enter key is mapped to that of the ordinary enter key, s.t. keyboard_getstate(3) and keyboard_key- pressed(3) report a press of SCANCODE_ENTER regardless if keypad enter or ordinary enter is pressed. DONT_CATCH_CTRLC Pressing <Ctrl>-C does not raise a SIGINT. On contrary to the other flags this has also effect when a user defined keyboard event handler is used. Svgalib will always process <Alt>-F1 - <Alt>-F10 and perform console switches accordingly. BUGS
The TRANSLATE_* options above do really do simple scancode translations. For example, when TRANSLATE_KEYPADENTER is active and the user presses both enter and keypad enter. Then, if he releases one of them (say keypad enter), it's release event will clear the common keyboard state, s.t. no keypress is reported even though enter is still pressed. Similarly, if TRANSLATE_DIAGONAL is active, the user holds cursor upleft (keypad 7) down and then presses and release cursor up (keypad 8), svgalib will only report a pressed cursor left but the simulated cursor up will be lost. You can easily try this with the keytest(6) demo to make the effect more clear to you. SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), keytest(6), eventtest(6), keyboard_seteventhandler(3), keyboard_init(3), key- board_init_return_fd(3), keyboard_close(3), keyboard_update(3), keyboard_waitforupdate(3), keyboard_setdefaulteventhandler(3), key- board_getstate(3), keyboard_clearstate(3), keyboard_keypressed(3), vga_waitevent(3) AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced function as well as of the original documentation is unknown. It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>. Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual. Svgalib (>;= 1.2.11) 29 July 1997 keyboard_translatekeys(3)
All times are GMT -4. The time now is 02:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy