mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:07:38 +00:00 
			
		
		
		
	Add names for mouse button bits rather than using magic numbers, from Marcel
Partap.
This commit is contained in:
		
							
								
								
									
										12
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								tmux.h
									
									
									
									
									
								
							@@ -1125,18 +1125,26 @@ struct tty_term {
 | 
			
		||||
};
 | 
			
		||||
LIST_HEAD(tty_terms, tty_term);
 | 
			
		||||
 | 
			
		||||
/* Mouse button masks. */
 | 
			
		||||
#define MOUSE_MASK_BUTTONS 3
 | 
			
		||||
#define MOUSE_MASK_SHIFT 4
 | 
			
		||||
#define MOUSE_MASK_META 8
 | 
			
		||||
#define MOUSE_MASK_CTRL 16
 | 
			
		||||
#define MOUSE_MASK_DRAG 32
 | 
			
		||||
#define MOUSE_MASK_WHEEL 64
 | 
			
		||||
 | 
			
		||||
/* Mouse wheel states. */
 | 
			
		||||
#define MOUSE_WHEEL_UP 0
 | 
			
		||||
#define MOUSE_WHEEL_DOWN 1
 | 
			
		||||
 | 
			
		||||
/* Mouse events. */
 | 
			
		||||
/* Mouse event bits. */
 | 
			
		||||
#define MOUSE_EVENT_DOWN 0x1
 | 
			
		||||
#define MOUSE_EVENT_DRAG 0x2
 | 
			
		||||
#define MOUSE_EVENT_UP 0x4
 | 
			
		||||
#define MOUSE_EVENT_CLICK 0x8
 | 
			
		||||
#define MOUSE_EVENT_WHEEL 0x10
 | 
			
		||||
 | 
			
		||||
/* Mouse flags. */
 | 
			
		||||
/* Mouse flag bits. */
 | 
			
		||||
#define MOUSE_RESIZE_PANE 0x1
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								tty-keys.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								tty-keys.c
									
									
									
									
									
								
							@@ -748,21 +748,21 @@ tty_keys_mouse(struct tty *tty, const char *buf, size_t len, size_t *size)
 | 
			
		||||
	m->sgr_rel = sgr_rel;
 | 
			
		||||
	m->x = x;
 | 
			
		||||
	m->y = y;
 | 
			
		||||
	if (b & 64) { /* wheel button */
 | 
			
		||||
		b &= 3;
 | 
			
		||||
	if (b & MOUSE_MASK_WHEEL) {
 | 
			
		||||
		b &= MOUSE_MASK_BUTTONS;
 | 
			
		||||
		if (b == 0)
 | 
			
		||||
			m->wheel = MOUSE_WHEEL_UP;
 | 
			
		||||
		else if (b == 1)
 | 
			
		||||
			m->wheel = MOUSE_WHEEL_DOWN;
 | 
			
		||||
		m->event = MOUSE_EVENT_WHEEL;
 | 
			
		||||
	} else if ((b & 3) == 3) {
 | 
			
		||||
	} else if ((b & MOUSE_MASK_BUTTONS) == 3) {
 | 
			
		||||
		if (~m->event & MOUSE_EVENT_DRAG && x == m->x && y == m->y) {
 | 
			
		||||
			m->event = MOUSE_EVENT_CLICK;
 | 
			
		||||
		} else
 | 
			
		||||
			m->event = MOUSE_EVENT_DRAG;
 | 
			
		||||
		m->event |= MOUSE_EVENT_UP;
 | 
			
		||||
	} else {
 | 
			
		||||
		if (b & 32) /* drag motion */
 | 
			
		||||
		if (b & MOUSE_MASK_DRAG)
 | 
			
		||||
			m->event = MOUSE_EVENT_DRAG;
 | 
			
		||||
		else {
 | 
			
		||||
			if (m->event & MOUSE_EVENT_UP && x == m->x && y == m->y)
 | 
			
		||||
@@ -773,7 +773,7 @@ tty_keys_mouse(struct tty *tty, const char *buf, size_t len, size_t *size)
 | 
			
		||||
			m->sy = y;
 | 
			
		||||
			m->event = MOUSE_EVENT_DOWN;
 | 
			
		||||
		}
 | 
			
		||||
		m->button = (b & 3);
 | 
			
		||||
		m->button = (b & MOUSE_MASK_BUTTONS);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return (0);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user