Article View: fj.windows.x
Article #2019Re: Get Key Event
From: Takanori Nagae
Date: Wed, 16 Sep 1992 08:47
Date: Wed, 16 Sep 1992 08:47
126 lines
5383 bytes
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!nagaeReferences:
<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