mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Add another couple of keys needed for extended keys, GitHub issue 2658.
This commit is contained in:
		@@ -215,6 +215,9 @@ key_bindings_add(const char *name, key_code key, const char *note, int repeat,
 | 
			
		||||
	if (repeat)
 | 
			
		||||
		bd->flags |= KEY_BINDING_REPEAT;
 | 
			
		||||
	bd->cmdlist = cmdlist;
 | 
			
		||||
 | 
			
		||||
	log_debug("%s: %#llx %s = %s", __func__, bd->key,
 | 
			
		||||
	    key_string_lookup_key(bd->key, 1), cmd_list_print(bd->cmdlist, 0));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
@@ -231,6 +234,9 @@ key_bindings_remove(const char *name, key_code key)
 | 
			
		||||
	if (bd == NULL)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	log_debug("%s: %#llx %s", __func__, bd->key,
 | 
			
		||||
	    key_string_lookup_key(bd->key, 1));
 | 
			
		||||
 | 
			
		||||
	RB_REMOVE(key_bindings, &table->key_bindings, bd);
 | 
			
		||||
	key_bindings_free(bd);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								key-string.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								key-string.c
									
									
									
									
									
								
							@@ -164,7 +164,7 @@ key_string_get_modifiers(const char **string)
 | 
			
		||||
key_code
 | 
			
		||||
key_string_lookup_string(const char *string)
 | 
			
		||||
{
 | 
			
		||||
	static const char	*other = "!#()+,-.0123456789:;<=>'\r\t\177";
 | 
			
		||||
	static const char	*other = "!#()+,-.0123456789:;<=>'\r\t\177`/";
 | 
			
		||||
	key_code		 key, modifiers;
 | 
			
		||||
	u_int			 u, i;
 | 
			
		||||
	struct utf8_data	 ud, *udp;
 | 
			
		||||
@@ -238,8 +238,12 @@ key_string_lookup_string(const char *string)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Convert the standard control keys. */
 | 
			
		||||
	if (key < KEYC_BASE && (modifiers & KEYC_CTRL) &&
 | 
			
		||||
	    strchr(other, key) == NULL) {
 | 
			
		||||
	if (key < KEYC_BASE &&
 | 
			
		||||
	    (modifiers & KEYC_CTRL) &&
 | 
			
		||||
	    strchr(other, key) == NULL &&
 | 
			
		||||
	    key != 9 &&
 | 
			
		||||
	    key != 13 &&
 | 
			
		||||
	    key != 27) {
 | 
			
		||||
		if (key >= 97 && key <= 122)
 | 
			
		||||
			key -= 96;
 | 
			
		||||
		else if (key >= 64 && key <= 95)
 | 
			
		||||
 
 | 
			
		||||
@@ -959,7 +959,10 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len,
 | 
			
		||||
	 */
 | 
			
		||||
	if (nkey & KEYC_CTRL) {
 | 
			
		||||
		onlykey = (nkey & KEYC_MASK_KEY);
 | 
			
		||||
		if (onlykey < 32 && onlykey != 9)
 | 
			
		||||
		if (onlykey < 32 &&
 | 
			
		||||
		    onlykey != 9 &&
 | 
			
		||||
		    onlykey != 13 &&
 | 
			
		||||
		    onlykey != 27)
 | 
			
		||||
			/* nothing */;
 | 
			
		||||
		else if (onlykey >= 97 && onlykey <= 122)
 | 
			
		||||
			onlykey -= 96;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user