亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mouse.c

?? aumix-2.8 源碼下載
?? C
字號:
/* $Aumix: aumix/src/mouse.c,v 1.5 2002/05/07 08:41:38 trevor Exp $ * copyright (c) 1993, 1996-2000, 2002 the authors--see AUTHORS file * * This file is part of aumix. * * Aumix is free software; you can redistribute it and/or modify it under the * terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * * Aumix is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE.  See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * aumix; if not, write to the Free Software Foundation, Inc., 59 Temple Place, * Suite 330, Boston, MA 02111-1307, USA. */#include "common.h"#if HAVE_CURSES#if HAVE_SYSMOUSE#if HAVE_SYS_CONSIO_H#include <sys/consio.h>#include <sys/fbio.h>#else#include <machine/console.h>#endif	/* HAVE_SYS_CONSIO_H */#include <errno.h>#endif				/* HAVE_SYSMOUSE */#include "interactive.h"#include "curses.h"#include "mouse.h"#if HAVE_SYSMOUSEextern void     SysmouseHandler(int sig);extern int      Sysm_Wgetch(WINDOW * win);static int      xpos, ypos, buttons;static int      cwidth = 8, cheight = 16;#endif				/* HAVE_SYSMOUSE */void            StartMouse(void){	Gpm_Connect     conn;#if HAVE_SYSMOUSE	mouse_info_t    mi;	video_info_t    vi;	int             fd = STDIN_FILENO;#ifndef FBIO_GETMODE		/* FreeBSD 3.x */#define FBIO_GETMODE	CONS_GET#define FBIO_MODEINFO	CONS_MODEINFO#endif				/* HAVE_SYSMOUSE */	if (ioctl(fd, FBIO_GETMODE, &vi.vi_mode) != -1 && ioctl(fd, FBIO_MODEINFO, &vi) != -1) {		cwidth = vi.vi_cwidth;		cheight = vi.vi_cheight;	}	/* Have sysmouse send us SIGUSR2 for mouse state changes. */	signal(SIGUSR2, SIG_IGN);	mi.operation = MOUSE_MODE;	mi.u.mode.mode = 0;	mi.u.mode.signal = SIGUSR2;	/*	 * If successful, register signal handler and our wgetch() replacement.	 */	if (ioctl(fd, CONS_MOUSECTL, &mi) != -1) {		signal(SIGUSR2, SysmouseHandler);		mi.operation = MOUSE_SHOW;		ioctl(fd, CONS_MOUSECTL, &mi);		Wgetch = Sysm_Wgetch;		return;	}#endif				/* HAVE_SYSMOUSE */	conn.eventMask = (unsigned short) ~0;	conn.defaultMask = GPM_MOVE | GPM_HARD;	conn.maxMod = 0;	conn.minMod = 0;	/* don't check for < 0, gpm-xterm returns -2 */	if (Gpm_Open(&conn, 0) != -1) {		gpm_handler = MouseHandler;		Wgetch = Gpm_Wgetch;	} else		Wgetch = wgetch;#if HAVE_GETMOUSE	/* enable ncurses mouse reporting */#define MMASK	(BUTTON1_PRESSED | BUTTON1_CLICKED | \		 BUTTON2_PRESSED | BUTTON2_CLICKED)	(void) mousemask(MMASK, (mmask_t *) NULL);#endif				/* HAVE_GETMOUSE */}int             MouseHandler(Gpm_Event * event, void *data){	if ((event->type & GPM_DOWN) || (event->type & GPM_DRAG)) {		if (in_keysbox)			return ' ';	/* Simulate keyboard event. */		else			DoMouse(event->x - 1, event->y - 1, GPM_TO_DOMOUSE(event->buttons));	}	return 0;}#if HAVE_SYSMOUSE/* * Signal handler for SIGUSR2: Retrieves mouse coordinates; converts pixels * to rows and columns. */void            SysmouseHandler(int sig){	int             fd = STDIN_FILENO;	struct mouse_info mi;	mi.operation = MOUSE_GETINFO;	if (ioctl(fd, CONS_MOUSECTL, &mi) == -1)		return;	xpos = mi.u.data.x;	ypos = mi.u.data.y;	/* for cosmetic bug in syscons.c on FreeBSD 3.3/3.4 */	mi.operation = MOUSE_HIDE;	ioctl(fd, CONS_MOUSECTL, &mi);	mi.operation = MOUSE_SHOW;	ioctl(fd, CONS_MOUSECTL, &mi);	buttons = mi.u.data.buttons & 3;}/* * Wait in select() loop.  If interrupted, check for mouse button press and * construct a minimal gpm pseudo-event and call MouseHandler(). Otherwise * hand over to wgetch(). */int             Sysm_Wgetch(WINDOW * win){	fd_set          rfds;	Gpm_Event       event;	int             key;	FD_ZERO(&rfds);	FD_SET(STDIN_FILENO, &rfds);	while (select(STDIN_FILENO + 1, &rfds, (fd_set *) NULL, (fd_set *) NULL, (struct timeval *) NULL) <= 0) {		if (errno == EINTR && buttons) {			event.buttons = SYSMOUSE_TO_GPM(buttons);			event.x = xpos / cwidth + 1;			event.y = ypos / cheight + 1;			event.type = GPM_DOWN;			if ((key = MouseHandler(&event, (void *) NULL)) != 0)				return key;		}	}	return wgetch(win);}#endif				/* HAVE_SYSMOUSE *//* assumes upper left corner is (0, 0) */void            DoMouse(int x, int y, int b){	int             dev_orig, mouse_dev, ii, jj;	if ((x < XOFFSET + menu_width) && (b & BUTTON1)) {	/* menu */		switch (y) {		case 2:	/* quit */			Gpm_Close();			close(mixer_fd);			CloseScreen();			exit(EXIT_SUCCESS);		case 3:	/* load */			LoadSettings();			return;		case 4:	/* save */			SaveSettings();			return;		case 5:	/* keys */			KeysBox();			return;		case 6:	/* mute */			Muting(MUTE_NO_DEVICE, MUTE_GLOBAL);			return;		case 7:	/* only */			Muting(current_dev, MUTE_ONLY);			return;		case 8:	/* undo */			Muting(MUTE_NO_DEVICE, MUTE_OFF);		default:			return;		}	}	mouse_dev = y - YOFFSET;	jj = 0;	dev_orig = mouse_dev;	for (ii = 0; jj <= dev_orig; ii++) {		if (!((devmask | recmask) & (1 << ii))) {			mouse_dev++;		} else {			jj++;		}	}	if (mouse_dev >= SOUND_MIXER_NRDEVICES)		return;	x = x - (XOFFSET + menu_width + R_P_WIDTH);	if ((x < 0) && (b & BUTTON1)) {		SwitchRecordPlay(mouse_dev);		return;	}	if ((x < level_width) && (b & BUTTON1)) {		x = x * level_increment;		AdjustLevel(mouse_dev, 0, x);		return;	}	x = x - (level_width + label_width + ARROW_WIDTH * 2);	if (x >= 0 && x < balance_width) {	/* balance */		x = x * balance_increment;		if ((((1 << mouse_dev) & stereodevs) && ((1 << mouse_dev) & devmask))) {			if (b & BUTTON1) {				AdjustBalance(mouse_dev, 0, x);			} else {				if (b & BUTTON2)					AdjustBalance(mouse_dev, -1, (MAXLEVEL / 2));			}		}		return;	}	return;}#endif				/* HAVE_CURSES */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合另类小说| 精品国产91乱码一区二区三区| 欧美主播一区二区三区| 538在线一区二区精品国产| 欧美激情一区三区| 日韩电影免费在线观看网站| av网站免费线看精品| 欧美变态tickling挠脚心| 亚洲精品五月天| 国产精品综合二区| 91精选在线观看| 亚洲免费电影在线| 国产成人在线免费| 日韩免费成人网| 午夜伊人狠狠久久| 一本大道久久精品懂色aⅴ| 久久久久久久久久久久久久久99| 视频一区视频二区在线观看| heyzo一本久久综合| 精品剧情v国产在线观看在线| 亚洲欧美一区二区三区久本道91 | 樱桃视频在线观看一区| 激情文学综合插| 欧美丰满少妇xxxbbb| 最新中文字幕一区二区三区| 国产精品 日产精品 欧美精品| 日韩欧美一二区| 日韩av电影天堂| 91精品欧美一区二区三区综合在| 亚洲宅男天堂在线观看无病毒| av中文字幕在线不卡| 国产精品第四页| eeuss鲁一区二区三区| 国产午夜精品理论片a级大结局| 久久av老司机精品网站导航| 日韩欧美色电影| 老司机免费视频一区二区三区| 欧美日韩亚洲综合一区二区三区| 亚洲成人精品影院| 精品视频在线免费看| 偷拍亚洲欧洲综合| 日韩女优av电影| 美女一区二区视频| 久久亚洲私人国产精品va媚药| 国产乱妇无码大片在线观看| 久久久国产精品不卡| 国产不卡视频一区| 国产精品久线在线观看| 色婷婷av久久久久久久| 亚洲一二三专区| 欧美一区二区在线看| 激情图片小说一区| 久久久精品人体av艺术| 成人aaaa免费全部观看| 一区二区三区四区高清精品免费观看| 色一区在线观看| 人人狠狠综合久久亚洲| 国产三级三级三级精品8ⅰ区| 国产+成+人+亚洲欧洲自线| 亚洲欧美综合色| 欧美日本一道本在线视频| 久久精品国产一区二区| 国产午夜精品一区二区三区嫩草| 不卡的av网站| 无吗不卡中文字幕| 久久网这里都是精品| 99re6这里只有精品视频在线观看| 一区二区在线观看视频| 日韩视频免费观看高清完整版在线观看 | 中文字幕视频一区| 色一区在线观看| 日韩国产一二三区| 国产欧美日韩另类一区| 在线观看av一区| 国产一区二区三区免费观看| 国产精品成人在线观看| 欧美一区二区三区视频| a4yy欧美一区二区三区| 青娱乐精品视频在线| 国产精品成人免费| 欧美一区二区三区人| 成人美女视频在线看| 亚洲成人中文在线| 中文字幕在线一区免费| 7799精品视频| 色婷婷久久综合| 精品无码三级在线观看视频| 亚洲欧美日韩电影| 国产亚洲欧美中文| 欧美人与性动xxxx| av在线不卡免费看| 日本欧美肥老太交大片| 亚洲美腿欧美偷拍| 国产日韩三级在线| 欧美成人一区二区三区片免费| 欧美伊人精品成人久久综合97| 国产伦理精品不卡| 蜜臀久久99精品久久久画质超高清 | 亚洲精品一线二线三线| 欧美日韩一区视频| 91猫先生在线| youjizz国产精品| 国产成人亚洲综合a∨猫咪| 麻豆精品视频在线观看视频| 亚洲一二三区在线观看| 亚洲免费色视频| 国产精品成人免费在线| 欧美国产日本视频| 国产午夜精品一区二区| 日韩精品一区二区在线| 日韩午夜中文字幕| 欧美大片在线观看| 欧美一区二区不卡视频| 欧美精品自拍偷拍动漫精品| 欧美日韩精品欧美日韩精品一综合| 99久久99精品久久久久久 | 91.com视频| 欧美一区二区视频在线观看2022| 欧美色欧美亚洲另类二区| 在线观看av不卡| 91麻豆成人久久精品二区三区| 粉嫩13p一区二区三区| 国产成人免费9x9x人网站视频| 国产裸体歌舞团一区二区| 久草热8精品视频在线观看| 精品一区二区三区免费| 韩国毛片一区二区三区| 国产成人欧美日韩在线电影| 成人性生交大片免费看在线播放| 国产成人在线视频网站| 成人av在线资源网站| 97久久精品人人澡人人爽| 91高清视频免费看| 精品婷婷伊人一区三区三| 欧美日产在线观看| 欧美成人高清电影在线| 欧美激情一区三区| 一区二区在线观看免费| 偷拍与自拍一区| 精品一区二区在线免费观看| 国产成人在线网站| 色婷婷激情综合| 欧美一区二区人人喊爽| 欧美一级日韩一级| 亚洲综合在线电影| 亚洲欧美乱综合| 亚洲国产va精品久久久不卡综合| 天堂va蜜桃一区二区三区| 国产在线精品一区二区三区不卡| 国产1区2区3区精品美女| 欧洲精品一区二区| av网站免费线看精品| av在线一区二区三区| 欧美日韩国产综合一区二区| 精品成人一区二区三区| 国产精品久久久久9999吃药| 亚洲高清免费一级二级三级| 国产美女娇喘av呻吟久久| 色呦呦网站一区| 精品国产自在久精品国产| 成人欧美一区二区三区在线播放| 综合色天天鬼久久鬼色| 日韩成人精品视频| 99视频有精品| 精品成人佐山爱一区二区| 亚洲色图色小说| 国产九色sp调教91| 欧美偷拍一区二区| 一区二区三区高清| 日本亚洲电影天堂| 国产精品系列在线观看| 欧美在线不卡视频| 欧美刺激午夜性久久久久久久| 日韩一区二区精品在线观看| 一区二区三区中文在线| 国产成人在线视频网站| 91精品婷婷国产综合久久性色| 国产精品免费aⅴ片在线观看| 天天色 色综合| 91在线视频在线| 久久亚洲欧美国产精品乐播| 视频一区免费在线观看| 色综合天天综合网天天看片| 欧美mv日韩mv国产网站app| 中文字幕一区二区在线播放| 久久99日本精品| 宅男在线国产精品| 亚洲国产综合在线| 成人一级视频在线观看| 日韩欧美国产一区二区三区 | 精品国产区一区| 一区二区三区在线观看视频| 成人激情视频网站| 久久这里只精品最新地址| 一区二区三区视频在线看| a在线欧美一区| 亚洲欧美激情在线| 成人一区在线看| 中文字幕第一区综合| 黑人巨大精品欧美黑白配亚洲|