🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.windows.x
Article #2019

Re: Get Key Event

#2019
From: Takanori Nagae
Date: Wed, 16 Sep 1992 08:47
126 lines
5383 bytes
In article <TAKAZAWA.92Sep10112025@ctcc08.cam.cpg.sony.co.jp> takazawa@cam.cpg.sony.co.jp (Shuichi Takazawa) writes:

>$@:#!"(JSONY PWS-1630+NEWS-OS 4.1C+mwm$@$G(Jscreen saver$@$r;n$7$K:n$C$F(J
>$@$$$k$s$G$9$,!"(JKeyPress/KeyRelease$@$J$I$N(Jevent$@$,(J$@<u$1<h$l$:$K:$$C$F(J
>$@$$$^$9!#$?$@!"0lDj;~4V$r2a$.$k$H2hLL$r0E$/$9$k$@$1$N$b$N$J$s$G$9$,!#(J
>$@0l@87|L?(Jnews$@$J$I$rFI$s$G$$$k$H(Jmouse$@$K$O?($i$J$$$N$G(J
>$@FMA30E$/$J$C$F$7$^$C$F!"$a$s$/$i$C$F$^$9!#(J
>
>$@0J2<$O(Jsource$@$N(J$@0lIt$G$9$,!"(J
>    d = XtDisplay(topLevel);
>    r = RootWindow(d,0);
>
>    XSelectInput(d, r, PointerMotionMask|KeyPressMask|KeyReleaseMask );
>
>    while(1) {
>	 XtAppNextEvent (app_context, &e);
>	 XtDispatchEvent(&e);
>	 if(e.type == MotionNotify) SaverOff();
>	 if(e.type == KeyPress) SaverOff();
>	 if(e.type == KeyRelease) SaverOff();
>    }

$@!t(J Xlib$@$H(JXt$@$,$^$<$3$<$G$9$M(J :-)
Screen Saver$@$C$F$N$O!$(J$@K\Mh(JServer$@$N;E;v$J$s$8$c$J$$$G$7$g$&$+!%(J
$@0l$D$N%"%W%j%1!<%7%g%s$,$d$k$h$&$K$O$J$C$F$J$$$H;W$$$^$9!%(J
$@!t(J $@$D$^$j!$0l$D$N%"%W%j%1!<%7%g%s$K!$$9$Y$F$N%"%W%j%1!<%7%g%s$N%$%Y%s(J
$@!t(J $@%H$,DLCN$5$l$k$H$$$&>u67$O9M$((J$@$K$/$$!%%&%#%s%I%&!&%^%M!<%8%c$@$C$F!$(J
$@!t(J $@$9$Y$F$N%$%Y%s%H$K43>D$G$-$k$o$1$G$O$J$$!%(J

>$@$N$h$&$K$7$F$_(J$@$?$s$G$9$,!"$3$l$@$H(Jmouse cursor$@$,(Jroot window$@>e$K(J
>$@$"$k$H$-$O(JOK$@$J$s$G$9$,!"(Jxterm$@$J$I$NB>$N(Jwindow$@>e$K$"(J$@$k$H$-$O(Jkey
>event$@$O<u$1<h$k$3$H$,=PMh$^$;$s!#(J(mouse$@$O(JOK$@$G$9$,!#(J)

$@$U$`!%$=$l$O!$(Jxterm$@$,(JPointerMotionMask$@$rA*Br$7$F$J$$$N$G!$(JRootWindow$@$K(J
$@EAGE$7$?$N$G$7$g$&$+!%(J

>$@$3$N$h$&$J(Jprogram$@$G>o$K(Jkey$@$H(Jmouse$@$r4F;k(J$@$9$kJ}K!$OL5$$$b$N$G$7$g(J
>$@$&$+!)(J

XSetScreenSaver$@$H$+!$(JXActivateScreenSaver$@$J$I$r;H$C$F!$(JServer$@$K$*$^(J$@$+(J
$@$;$9$k$N$J$i!$$3$s$J$U$&$K%W%m%0%i%`$G$-$k$H;W$$$^$9!%(J
--------8<-------
/*
 * cc -o diasaver diasaver.c -lXaw -lXmu -lXt -lXext -lX11
 */
#include <stdio.h>
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Xaw/Dialog.h>
#include <X11/Xaw/Command.h>

void activate_proc(w)
Widget w;
{
	int timeout = atoi(XawDialogGetValueString(XtParent(w)));

	XSetScreenSaver(XtDisplay(w), timeout, 0,
		DefaultBlanking, DefaultExposures);
	XActivateScreenSaver(XtDisplay(w));
}

void quit_proc()
{
	exit(1);
}

main(argc, argv)
int argc;
char **argv;
{
	static String fallback[] ={
		"*dialog.label: timeout in sec",
		"*dialog.value: \000",
		NULL,
	};
	XtAppContext app_con;
	Widget top, dialog;

	top = XtVaAppInitialize(&app_con, "DiaSaver",
		NULL, 0, &argc, argv, fallback); 
	dialog = XtVaCreateManagedWidget("dialog",
		dialogWidgetClass, top, NULL);
	XawDialogAddButton(dialog, "activate", activate_proc, NULL); 
	XawDialogAddButton(dialog, "quit", quit_proc, NULL); 
	XtRealizeWidget(top);
	XtAppMainLoop(app_con);
}
--------8<--------
Dialog$@$N(JText$@$+$iICC10L$G!$0E$/$J$k$^$G$N;~4V$rF~NO$7!$(J($@%j%?!<%s%-!<$r(J
$@2!$5$:$K$=$N$^$^(J)activate$@$H$$$&%\%?%s$r2!$9$H(JScreenSaver$@$,F0$-$@$7$^$9!%(J
0$@$+(J-1$@$rF~NO$9(J$@$k$H!$;_$^$j$^$9!%(J

In article <CAS.92Sep16123952@kuro.kmc.kyoto-u.ac.jp>
cas@kmc.kyoto-u.ac.jp (Hiroki Nakano) writes:

>$@$=$3$G!"(JXQueryTree()$@$r;H$C$FA4$F$N(Jwindow$@$KBP$7$F%-!<%$%Y%s%H$r(J
>$@:)@A$9$k$h$&$K$7(J$@$F!"$5$i$K!"(JCreateNotify$@%$%Y%s%H$J$I$r<u$1$H$C$?$i!"(J
>$@$=$N(Jwindow$@$K$b!"(JXSelectInput()$@$9$k$h$&$K$7$F$_$^(J$@$7$?!#(J

$@$9$4$$9S5;$G$9$M(J :-)

>$@$G$b!"B>(Jwindow$@$N(J XSelectInput() $@$O40A4$KDI$&$3$H$O$G$-$J$$$N$G(J
>event$@$N(J$@EAGE5,B'$K9*L/$K0MB8$7$F$$$k(Jprogram$@$G$O!"$^$:$$$3$H$K(J
>$@$J$k$O$:$G$9!#$I$&$9$l$P$$$$$s$@$m$&!)(J

$@!)%&%#(J$@%s%I%&(JID$@$5$(F@$i$l$l$P$J$s$H$+$J$j$=$&$G$9$,!%(J

>$@0J2<(Jsource$@$G$9!#(J
>-------------------------------------

>int SearchInferiorAndSetEventMask( Window win )
>{
>        Window root, parent, *children;
>        int i;
>
>        if( ! XQueryTree( xdp, win, &root, &parent, &children, &i ) )
{
>                return( 0 );
>        }
>        for( ; i > 0; i--, children++ ) {
>                SearchInferiorAndSetEventMask( *children );
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$@!*!*:F5"8F$S=P$7$@(J :-)
_  __  __
 ][  ][  ]$@1J9>(J $@9'5,(J nagae@an.isl.titech.ac.jp
[__][__][_ $@El9)Bg(J $@A|>pJs9)3X8&5f;\@_(J $@0B5o1!8&(J
Technical Details
Message-ID: <NAGAE.92Sep16174709@karin.an.isl.titech.ac.jp>
Path: arc1-ca.pugleaf.net!sparky!uunet!ccut!wnoc-tyo-news!cs.titech!is.titech!sys.titech.ac.jp!pi.titech!isl.titech!islsun!nagae
References: <TAKAZAWA.92Sep10112025@ctcc08.cam.cpg.sony.co.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 1667f1,59a37d7a077c2f03
X-Google-Attributes: gid1667f1,public
X-Google-ArrivalTime: 1992-09-15 21:25:44 PST
Path: arc1-ca.pugleaf.net!sparky!uunet!ccut!wnoc-tyo-news!cs.titech!is.titech!sys.titech.ac.jp!pi.titech!isl.titech!islsun!nagae
From: nagae@an.isl.titech.ac.jp (Takanori Nagae)
Newsgroups: fj.windows.x
Subject: Re: Get Key Event
Message-ID: <NAGAE.92Sep16174709@karin.an.isl.titech.ac.jp>
Date: 16 Sep 92 08:47:09 GMT
References: <TAKAZAWA.92Sep10112025@ctcc08.cam.cpg.sony.co.jp>
Sender: news@isl.titech.ac.jp
Reply-To: nagae@an.isl.titech.ac.jp
Distribution: fj
Organization: Imaging Science and Engineering Lab., Tokyo Inst. of Tech., Japan
Lines: 126
Nntp-Posting-Host: karin
In-reply-to: takazawa@cam.cpg.sony.co.jp's message of 10 Sep 92 11:20:25 GMT