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(-)
This commit is contained in:
		
							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