Arrow keys - input commands, Computer Engineering

Assignment Help:

When the user is inputting commands into your shell, it should identify the left, right , up and down arrow keys. To implement this, you will need to use the termios.h library to configure a custom input strategy. Remember that after changing the configuration, you should restore it to its original configuration before exiting the program. Also, change the reads to be non-canonical and disable echoing. This will give us control on how to handle each character the user inputs. It is tricky determining which character is left, right, up or down . Most characters are only one byte long. On the other hand, the character that is output when an arrow is pressed, is three bytes long. Here are the three byte sequences for left, right, up and down arrows:

l e f t --> {27 , 91 , 68}

r i g h t --> {27 , 91 , 67}

up --> {27 , 91 , 65}

down --> {27 , 91 , 66}

 Since we are not echoing characters, you will need to echo every character the user types. If left or right key is pressed nothing should happen. But if up or down arrow key is pressed it should work as described in the History section below.


Related Discussions:- Arrow keys - input commands

Estimate the natural frequency and damping factor, On the Moodle site just ...

On the Moodle site just below the assignment you will find data from a slow sine sweep test conducted on a car on a "four-post" road simulator for the frequency range 0 to 20 Hz in

Illustrate decimal fixed point representation, Q. Illustrate Decimal Fixed ...

Q. Illustrate Decimal Fixed Point Representation? The point of this representation is to keep the number in decimal equivalent form and not binary as above. A decimal digit is

Instruction set architecture - computer architecture, Instruction Set Archi...

Instruction Set Architecture:                             Instruction set architecture cycle-it is smallest unit of time in a processor. superscalar processor

What is inode, What is 'inode'? All UNIX files have its description kep...

What is 'inode'? All UNIX files have its description kept in a structure called 'inode'. The inode have info about the file-size, its location, time of last access, time of las

How e-commerce website works, Procedure The only difference between e-...

Procedure The only difference between e-commerce and conventional commerce is that goods in e-commerce are purchased over the internet using a credit card. Also buying and sel

Extjs, tell some thing about htmleditor in extjs whether it contains attach...

tell some thing about htmleditor in extjs whether it contains attachment button or not

Mip method for the problem solving, 1. Solve the following grouping problem...

1. Solve the following grouping problem using the DCA method. 2.  Use the ROC methodfor the previous problem. 3. Use the MIP method for the problem above assuming a tota

What is critical section problem, What is critical section problem? A ...

What is critical section problem? A race condition at data item occurs when many processes simultaneously update its value data consistency, needs that only one process should

Illustrate logical data processing instructions, Q. Illustrate logical Data...

Q. Illustrate logical Data Processing Instructions? AND, OR, NOT, XOR operate on binary data stored in registers. For illustration if two registers comprises data:   R1 = 10

Explain memory write operation, Q. Explain Memory Write operation? Memo...

Q. Explain Memory Write operation? Memory write operation transfers content of a data register to a memory word M selected by the address. Presume that data of register R1 is t

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd