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

Basic computer, The use of Information Technology (IT) is well known. IT ha...

The use of Information Technology (IT) is well known. IT has turn into a must for survival of all business houses with growing information technology trends. Computer is main compo

Calculate switching capacity in a two stage network, In a two stage network...

In a two stage network there are 512 inlets and outlets, r=s=24. If the probability that a given inlet is active is 0.8, calculate: Switching capacity Given: N =M =512, α

Explain about the modules of magento, Magento supports installation of modu...

Magento supports installation of modules by a web-based interface accessible by the administration area of a Magento installation. Modules are hosted on the Magento eCommerce websi

Invariant of the class, What are the conditions that have to be met for a c...

What are the conditions that have to be met for a condition to be an invariant of the class? Ans) ? The condition should hold at the end of each constructor. ? The conditi

How is transaction processing system affected, How is Transaction Processin...

How is Transaction Processing System affect performance of e-commerce sites? Transaction Processing System influences performance of e-commerce sites: Transaction-Processing

Persuasive communication , 1)   Discuss various types of persuasive communi...

1)   Discuss various types of persuasive communication you might be needed to write or present in your professional and personal life. 2)    Describe two ways to organize a resume

State the implementation of a security policy, State the implementation of ...

State the implementation of a security policy The implementation of a security policy should invariably cover all parameters of security such as physical access to the server,

What are the basic features of supply chain management, What are the basic ...

What are the basic features of Supply Chain Management? Features of Supply Chain Management Supply Chain Management uses different methods to find out, affect and chang

Which is not a layer of input-output management module, Which is not a laye...

Which is not a layer of IO management module? Ans. MCS that is Management Control System, is not a layer of IO management module.

What will be the result of adding hexadecimal A6 to 3A, The result of addin...

The result of adding hexadecimal number A6 to 3A is ? Ans. The result will be E0.

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