🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.windows.x
Article #24980

XUpdateMouse()

#24980
From: don
Date: Tue, 24 Feb 1987 00:51
71 lines
3022 bytes
There's no fundemental reason it can't handle more than 2 shift
modifiers at once, except for the fact that the .uwmrc yacc grammar
only allows for up to two. Find the label "keyexpr:" in "uwm/gram.y",
and make it look like the following: (adding the last two cases)

keyexpr:        /* empty */
                        { $$ = 0; }
        |       kmask
                        { $$ = $1; }
        |       kmask '|' kmask
                        { $$ = $1 | $3; }
        |       kmask '|' kmask '|' kmask
                        { $$ = $1 | $3 | $5; }
        |       kmask '|' kmask '|' kmask '|' kmask
                        { $$ = $1 | $3 | $5 | $7; }
        ;

I suppose you could make it a recursive definition, so you could
specify as many kmasks as you wanted. Would that be any more or less
efficient? 

Now you should be able to "or" together up to four shift modifiers to
specify an event for uwm to look for. i.e. this would not work before
but will now:

f.menu=	c|m|s	::	left	: "Ctrl-Meta-Shift-Mouse-Left Menu"

I would like to be able to make a function key assert some combination
of shift keys (all at the same time, on one function key), but there
does not seem to be any simple way to do that. If I could do that,
then I'd bind function keys to ungainly shift combinations, and use
them to modify mouse clicks. Each function key would correspond to a
class of window manager (or whatever) commands.

	-Don

P.S.: While you're waiting for it to recompile, you can sing this:

	Double Bucky
	(Sung to the tune of "Rubber Duckie")	

	Double bucky, you're the one!
	You make my keyboard lots of fun
	  Double bucky, an additional bit or two:
	(Vo-vo-de-o!)
	Control and Meta side by side,
	Augmented ASCII, nine bits wide!
	  Double bucky, a half a thousand glyphs,
		   plus a few!
	    Oh,
	    I sure wish that I
	    Had a couple of
  	        bits more!
	    Perhaps a
	    Set of pedals to
	    Make the number of
	        Bits four:
	    Double double bucky!
	Double bucky, left and right
	OR'd together, outta sight!
	    Double bucky, I'd like a whole word of
	    Double bucky, I'm happy I heard of
	    Double bucky, I'd like a whole
	        word of you!

	(C) 1978 by Guy L. Steele, Jr.

	(For those of you who are interested, the term "bucky bits"
	comes from Niklaus Wirth, known as "bucky" to friends, who
	suggested that an extra bit be added to terminal codes on 36
	bit machines for use by screen editors.)
Technical Details
Message-ID: <8702240051.AA09462@brillig.umd.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watnot!watmath!clyde!cbatt!ucbvax!BRILLIG.UMD.EDU!don

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watnot!watmath!clyde!cbatt!ucbvax!BRILLIG.UMD.EDU!don
From: don@BRILLIG.UMD.EDU.UUCP
Newsgroups: comp.windows.x
Subject: XUpdateMouse()
Message-ID: <8702240051.AA09462@brillig.umd.edu>
Date: Mon, 23-Feb-87 19:51:08 EST
Article-I.D.: brillig.8702240051.AA09462
Posted: Mon Feb 23 19:51:08 1987
Date-Received: Thu, 26-Feb-87 21:31:34 EST
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The ARPA Internet
Lines: 71