In IDE's we can drag a small continuous collection of pixels in a particular configuration to a place on the screen .This collection of pixels are called as controls .
Corresponding to every control, there are various kinds of event handlers,like for a button , some subroutines for events like "double click" , "single click" are available ,for a grid there might be "right click ", "gaining mouse focus" event handlers might be available .
The collection of available event responding subroutines,from what I could conclude , further depend on the framework or library we are using.
Now let us imagine that we have certain hardware with us and only one programming language available and we are accommodating some aliens in this world for whom , nose, is a very important sense organ for communication .Avoiding the concerns of scientific feasibility of such creatures let us say that to provide input to anything they exhale and inhale air into some device . And to meet their requirements we might need programs that can manipulate the fragrance that they are smelling , like ,let's say we need a computer program for a messaging app that is to be designed for them to be able to emit the smell of rose at the receiver's end when the sender scratches the screen and many more .
Now given such a situation , if I want to design a GUI for them or may be (OUI,olfactory user Interface ) how can I make my systems compatible with their method of input and output .I mean how can I design event handlers for them like , "One nostril snort event ", "double nostril snort event ","deep inhale event " and many more that we can imagine .
What are the changes that I would require :
Do I need to add some new things in my programming language ?
Do I need to change my hardware (counting out their input device ,namely ,snake :P) ?
Do I need to change my OS ?
P.S : I asked this question ,because,to put in the most general manner and basically I wanted to deconstruct and see from the bottom , how can computer programs(including the OS ,which in essence is also a computer program ) control hardware and as such I might get a better idea on how to direct myself in learning about all this.