![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| combination of two commands | nehaquick | UNIX for Dummies Questions & Answers | 3 | 02-01-2008 01:09 AM |
| awk and file combination | sickboy | UNIX for Dummies Questions & Answers | 1 | 06-13-2005 06:02 PM |
| Combination Of commands | rahulrathod | UNIX for Dummies Questions & Answers | 2 | 12-14-2004 04:32 AM |
| Combination of gunzip and tar on Solaris | dwidmer | SUN Solaris | 5 | 11-20-2003 09:17 PM |
| Partition combination | gardarm | Filesystems, Disks and Memory | 3 | 03-14-2002 04:35 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
Detecting a key combination
Could anybody tell me how I can detect a particular key combination and perform a particular task on that event. e.g. if I press Ctrl + L on the shell then it clears the screen. Please tell me how it can be performed on my shell.
And how the Arrow Keys can be detected. I tried but pressing a key once is returning 3 values namely 26,27,(A,B,C,D) The last one differs only. Please tell me how to call a function or to execute a line of code when a particular event occurs. Thanks |
| Forum Sponsor | ||
|
|
|
#2
|
|||
|
|||
|
Have a look at the curses library and it's getkey() function.
|
|
#3
|
|||
|
|||
|
There are only so many of these that you can define, those things are defined for you in the man page for stty.
AS an example, suppose you want the backspace key to delete the previous character, then put a line like this in your .profile or .bashrc file in your home directory. The next time you login, it takes effect - or you can source the file to make it work right away Code:
stty erase "^H" stty functions are part of the termios set of functions - try termios if you want to do this in C. |
|
#4
|
|||
|
|||
|
Some more help
Could you please clarify my problem
I am making a program in C Now I am getting the string from the user then How I can put it in that state that what user has hitted. Any sample will me a great help Thanks |
|
#5
|
|||
|
|||
|
Please Help
How I can detect a particular Key Combination through programming in Unix.
to trap the signals there are methods but control+L is not detected as a signal so how can I detect that combination of Key Hit and how to detect the Arrow Key Hits as each key hit is itself returning three values The first two values of all four keys is same only the last key value is different. I tried to use the getkey function of curses and select and poll funtions but my problem is not solved please help... Thanks |
|
#6
|
|||
|
|||
|
Let's try this again
1. all keystrokes go thru the tty driver. Period. If your driver interprets them they are interpreted BEFORE you program ever sees them. termios() can remove/add settings. 2. For 2 key ctrl sequences [A-Z] the terminal returns ASCII 1-26 (minus those interpreted by the driver as something else) ctrl-L is 12, ASCII form feed. There are other two-key sequences as well. 3. If you want to be able to create special responses to other key sequences like the function keys or alt key combinations you use the curses or ncurses library. In general, if you want to play with single key combinations like a GUI does, you have to set the terminal to non-canonical mode. I've posted the code to do that on the forums several times - you can search for it. |
|
#7
|
||||
|
||||
|
Quote:
|
||||
| Google The UNIX and Linux Forums |