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

What is race condition, What is Race condition? Race condition: The c...

What is Race condition? Race condition: The circumstances where several processes access - and manipulate shared data-concurrently. The last value of the shared data depends

Define a variant of top-down parsing without backtracking, A parser which i...

A parser which is a variant of top-down parsing without backtracking is? Ans. Recursive Descend is a variant of top-down parsing without backtracking.

Obstacles to is implementation - information system, Obstacles to IS implem...

Obstacles to IS implementation While information systems are now becoming the norm in most organisations the journey to this point has been a difficult one. Even in the 21st c

Explain about local area network, Q. Explain about Local Area Network? ...

Q. Explain about Local Area Network? Local Area Network (LAN):  It is privately owned communication systems that cover up a small area, say a complex of buildings or school. Le

What is socket, A socket is one end-point of a two-way communication link a...

A socket is one end-point of a two-way communication link among two programs running on the network. Socket classes are used to show the connection among a client program and a ser

How e-commerce works for the shop owner, E-commerce is working in tandem wi...

E-commerce is working in tandem with the real shop and if all the products are online running the e-commerce shop is becoming simpler. Owner log in on the special admin side of the

State the important features of operating system, a. Define operating syste...

a. Define operating system? State the important features of operating system? b. Describe the following facilities for implementing interacting processes in programming language

Quantity amounts (data type quan), A field containing quantity amounts (dat...

A field containing quantity amounts (data type QUAN) must be assigned to a reference table and a reference field. Explain? As a reference table, a system table having all the v

Truth tables - artificial intelligence, Truth Tables - artificial intellige...

Truth Tables - artificial intelligence: In propositional logic, where we are limited to expressing sentences where propositions are true or false - we can check whether a speci

How e-commerce works for the customer, The customers visit the website and ...

The customers visit the website and browse through the products, looking at pictures and products details. When the customer finds his desired product, he usually adds it to his ca

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