Fix keypad mode and cursor mode
Keypad mode is used for detecting when keys in the auxiliary keypad are pressed, while cursor mode is used for detecting when a cursor is pressed, but they are different modes. St was mixing both modes and DECPAM and DECPNM modified the cursor mode, and this was incorrect. --- st.c | 5 +++-- st.info | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-)dev
							parent
							
								
									73177ba366
								
							
						
					
					
						commit
						69ee3ba3a7
					
				
							
								
								
									
										5
									
								
								st.c
								
								
								
								
							
							
						
						
									
										5
									
								
								st.c
								
								
								
								
							|  | @ -121,7 +121,8 @@ enum term_mode { | |||
| 	MODE_REVERSE     = 128, | ||||
| 	MODE_KBDLOCK     = 256, | ||||
| 	MODE_HIDE	 = 512, | ||||
| 	MODE_ECHO	 = 1024 | ||||
| 	MODE_ECHO	 = 1024, | ||||
| 	MODE_APPCURSOR	 = 2048 | ||||
| }; | ||||
| 
 | ||||
| enum escape_state { | ||||
|  | @ -1471,7 +1472,7 @@ tsetmode(bool priv, bool set, int *args, int narg) { | |||
| 			switch(*args) { | ||||
| 				break; | ||||
| 			case 1: /* DECCKM -- Cursor key */ | ||||
| 				MODBIT(term.mode, set, MODE_APPKEYPAD); | ||||
| 				MODBIT(term.mode, set, MODE_APPCURSOR); | ||||
| 				break; | ||||
| 			case 5: /* DECSCNM -- Reverse video */ | ||||
| 				mode = term.mode; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue