Add KAM sequence
This sequence lock/unlock the keyboard ignoring all the key pressing events from X server. --- st.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
This commit is contained in:
		
							parent
							
								
									11bec67875
								
							
						
					
					
						commit
						2f215654a4
					
				
							
								
								
									
										8
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								st.c
									
									
									
									
									
								
							| @ -110,7 +110,8 @@ enum term_mode { | ||||
| 	MODE_MOUSEBTN    = 32, | ||||
| 	MODE_MOUSEMOTION = 64, | ||||
| 	MODE_MOUSE       = 32|64, | ||||
| 	MODE_REVERSE     = 128 | ||||
| 	MODE_REVERSE     = 128, | ||||
| 	MODE_KBDLOCK     = 256 | ||||
| }; | ||||
| 
 | ||||
| enum escape_state { | ||||
| @ -1328,6 +1329,9 @@ tsetmode(bool priv, bool set, int *args, int narg) { | ||||
| 			} | ||||
| 		} else { | ||||
| 			switch(*args) { | ||||
| 			case 2: | ||||
| 				MODBIT(term.mode, set, MODE_KBDLOCK); | ||||
| 				break; | ||||
| 			case 4: | ||||
| 				MODBIT(term.mode, set, MODE_INSERT); | ||||
| 				break; | ||||
| @ -2257,6 +2261,8 @@ kpress(XEvent *ev) { | ||||
| 	int shift; | ||||
| 	Status status; | ||||
| 
 | ||||
| 	if (IS_SET(MODE_KBDLOCK)) | ||||
| 		return; | ||||
| 	meta = e->state & Mod1Mask; | ||||
| 	shift = e->state & ShiftMask; | ||||
| 	len = XmbLookupString(xw.xic, e, buf, sizeof(buf), &ksym, &status); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Roberto E. Vargas Caballero
						Roberto E. Vargas Caballero