Пример #1
0
// Required by fcitx. Adds our file descriptor (for the tablet) to its
// fd_set, so we can get notified about new tablet input
void FcitxTabletSetFd(void* arg) {
	FcitxTablet* tablet = (FcitxTablet*) arg;
	int fd = tablet->driverInstance->GetDescriptor(tablet->driverData);
	if(fd > 0) {
		FD_SET(fd, FcitxInstanceGetReadFDSet(tablet->fcitx));
		if(FcitxInstanceGetMaxFD(tablet->fcitx) < fd)
			FcitxInstanceSetMaxFD(tablet->fcitx, fd);
	}
	// also add the timeout FD
	FD_SET(tablet->timeoutFd, FcitxInstanceGetReadFDSet(tablet->fcitx));
	if(FcitxInstanceGetMaxFD(tablet->fcitx) < tablet->timeoutFd)
		FcitxInstanceSetMaxFD(tablet->fcitx, tablet->timeoutFd);
}
Пример #2
0
void RemoteSetFD(void* arg)
{
    FcitxRemote* remote = (FcitxRemote*) arg;
    FD_SET(remote->socket_fd, FcitxInstanceGetReadFDSet(remote->owner));
    if (FcitxInstanceGetMaxFD(remote->owner) < remote->socket_fd)
        FcitxInstanceSetMaxFD(remote->owner, remote->socket_fd);
}
Пример #3
0
void CloudPinyinSetFD(void* arg)
{
    FcitxCloudPinyin* cloudpinyin = (FcitxCloudPinyin*) arg;
    FcitxInstance* instance = cloudpinyin->owner;
    int maxfd = cloudpinyin->pipeRecv;
    FD_SET(maxfd, FcitxInstanceGetReadFDSet(instance));
    if (maxfd > FcitxInstanceGetMaxFD(instance))
        FcitxInstanceSetMaxFD(instance, maxfd);
}
Пример #4
0
void X11SetFD(void* arg)
{
    FcitxX11* x11priv = (FcitxX11*)arg;
    int fd = ConnectionNumber(x11priv->dpy);
    FD_SET(fd, FcitxInstanceGetReadFDSet(x11priv->owner));

    if (FcitxInstanceGetMaxFD(x11priv->owner) < fd)
        FcitxInstanceSetMaxFD(x11priv->owner, fd);
}