 ec24a0798c
			
		
	
	
		ec24a0798c
		
	
	
	
	
		
			
			The TTY driver now only notifies the IS server about function key event, but does not tell which keys are pressed. The IS servers queries the TTY driver to find out about this.
		
			
				
	
	
		
			28 lines
		
	
	
		
			945 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			945 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "utils.h" 
 | |
| 
 | |
| /*===========================================================================*
 | |
|  *				fkey_ctl				     *
 | |
|  *===========================================================================*/
 | |
| PUBLIC int fkey_ctl(request, fkeys, sfkeys)
 | |
| int request;				/* request to perform */
 | |
| int *fkeys;				/* bit masks for F1-F12 keys */
 | |
| int *sfkeys;				/* bit masks for Shift F1-F12 keys */
 | |
| {
 | |
| /* Send a message to the TTY server to request notifications for function 
 | |
|  * key presses or to disable notifications. Enabling succeeds unless the key
 | |
|  * is already bound to another process. Disabling only succeeds if the key is
 | |
|  * bound to the current process.   
 | |
|  */ 
 | |
|     message m;
 | |
|     int s;
 | |
|     m.FKEY_REQUEST = request;
 | |
|     m.FKEY_FKEYS = (fkeys) ? *fkeys : 0;
 | |
|     m.FKEY_SFKEYS = (sfkeys) ? *sfkeys : 0;
 | |
|     s = _taskcall(TTY, FKEY_CONTROL, &m);
 | |
|     if (fkeys) *fkeys = m.FKEY_FKEYS;
 | |
|     if (sfkeys) *sfkeys = m.FKEY_SFKEYS;
 | |
|     return(s);
 | |
| }
 | |
| 
 | |
| 
 |