mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		
							
								
								
									
										12
									
								
								input-keys.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								input-keys.c
									
									
									
									
									
								
							@@ -498,9 +498,8 @@ input_key_vt10x(struct bufferevent *bev, key_code key)
 | 
				
			|||||||
		return (0);
 | 
							return (0);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	onlykey = key & KEYC_MASK_KEY;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	/* Prevent TAB and RET from being swallowed by C0 remapping logic. */
 | 
						/* Prevent TAB and RET from being swallowed by C0 remapping logic. */
 | 
				
			||||||
 | 
						onlykey = key & KEYC_MASK_KEY;
 | 
				
			||||||
	if (onlykey == '\r' || onlykey == '\t')
 | 
						if (onlykey == '\r' || onlykey == '\t')
 | 
				
			||||||
		key &= ~KEYC_CTRL;
 | 
							key &= ~KEYC_CTRL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -593,7 +592,7 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	/* Is this backtab? */
 | 
						/* Is this backtab? */
 | 
				
			||||||
	if ((key & KEYC_MASK_KEY) == KEYC_BTAB) {
 | 
						if ((key & KEYC_MASK_KEY) == KEYC_BTAB) {
 | 
				
			||||||
		if (s->mode & EXTENDED_KEY_MODES) {
 | 
							if ((s->mode & EXTENDED_KEY_MODES) != 0) {
 | 
				
			||||||
			/* When in xterm extended mode, remap into S-Tab. */
 | 
								/* When in xterm extended mode, remap into S-Tab. */
 | 
				
			||||||
			key = '\011' | (key & ~KEYC_MASK_KEY) | KEYC_SHIFT;
 | 
								key = '\011' | (key & ~KEYC_MASK_KEY) | KEYC_SHIFT;
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
@@ -650,6 +649,13 @@ input_key(struct screen *s, struct bufferevent *bev, key_code key)
 | 
				
			|||||||
		return (0);
 | 
							return (0);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* Ignore internal function key codes. */
 | 
				
			||||||
 | 
						if ((key >= KEYC_BASE && key < KEYC_BASE_END) ||
 | 
				
			||||||
 | 
						    (key >= KEYC_USER && key < KEYC_USER_END)) {
 | 
				
			||||||
 | 
							log_debug("%s: ignoring key 0x%llx", __func__, key);
 | 
				
			||||||
 | 
							return (0);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 * No builtin key sequence; construct an extended key sequence
 | 
						 * No builtin key sequence; construct an extended key sequence
 | 
				
			||||||
	 * depending on the client mode.
 | 
						 * depending on the client mode.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -410,7 +410,7 @@ key_string_lookup_key(key_code key, int with_flags)
 | 
				
			|||||||
		s = "MouseMoveBorder";
 | 
							s = "MouseMoveBorder";
 | 
				
			||||||
		goto append;
 | 
							goto append;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (key >= KEYC_USER && key < KEYC_USER + KEYC_NUSER) {
 | 
						if (key >= KEYC_USER && key < KEYC_USER_END) {
 | 
				
			||||||
		snprintf(tmp, sizeof tmp, "User%u", (u_int)(key - KEYC_USER));
 | 
							snprintf(tmp, sizeof tmp, "User%u", (u_int)(key - KEYC_USER));
 | 
				
			||||||
		strlcat(out, tmp, sizeof out);
 | 
							strlcat(out, tmp, sizeof out);
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								tmux.h
									
									
									
									
									
								
							@@ -134,6 +134,7 @@ struct winlink;
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
#define KEYC_BASE            0x0000000010e000ULL
 | 
					#define KEYC_BASE            0x0000000010e000ULL
 | 
				
			||||||
#define KEYC_USER            0x0000000010f000ULL
 | 
					#define KEYC_USER            0x0000000010f000ULL
 | 
				
			||||||
 | 
					#define KEYC_USER_END	     (KEYC_USER + KEYC_NUSER)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Key modifier bits. */
 | 
					/* Key modifier bits. */
 | 
				
			||||||
#define KEYC_META            0x00100000000000ULL
 | 
					#define KEYC_META            0x00100000000000ULL
 | 
				
			||||||
@@ -168,7 +169,7 @@ struct winlink;
 | 
				
			|||||||
	 (((key) & KEYC_MASK_KEY) < KEYC_BASE || \
 | 
						 (((key) & KEYC_MASK_KEY) < KEYC_BASE || \
 | 
				
			||||||
	  ((key) & KEYC_MASK_KEY) >= KEYC_BASE_END) && \
 | 
						  ((key) & KEYC_MASK_KEY) >= KEYC_BASE_END) && \
 | 
				
			||||||
	 (((key) & KEYC_MASK_KEY) < KEYC_USER || \
 | 
						 (((key) & KEYC_MASK_KEY) < KEYC_USER || \
 | 
				
			||||||
	  ((key) & KEYC_MASK_KEY) >= KEYC_USER + KEYC_NUSER))
 | 
						  ((key) & KEYC_MASK_KEY) >= KEYC_USER_END))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Multiple click timeout. */
 | 
					/* Multiple click timeout. */
 | 
				
			||||||
#define KEYC_CLICK_TIMEOUT 300
 | 
					#define KEYC_CLICK_TIMEOUT 300
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user