Subject: Re: FVWM: Java and Alt-? Hot Keys

From: Paul Powell <[email-masked]>
Date: Mon, 6 Nov 2000 12:18:34 -0800 (PST)

Brad,

You will see Alt+Meta modifiers for Alt-? events
unless you run xmodmap to redifine what these keys do.
 Under X Windows these keys are mapped to the same key
code.  Therefore when you hit the Alt key Linux thinks
you're hitting the Alt and Meta keys.

To avoid this, run xmodmap like this:

xmodmap -e "keysym Alt_L = Alt_L" -e keysym Alt_R =
Alt_R"

Interestingly, this problem has solved itself.  For
unrelated reasons I switch from compiling FVWM myself
to just using the FVWM RPM off of the RedHat CD.  Now
the Alt-? keys work just fine.  Go figure!

Thanks for all of your help!
Paul

--- Brad Giaccio <[email-masked]> wrote:
> On Sun, Nov 05, 2000 at 08:52:57PM -0500, Bob
> Woodside wrote:
> > 
> > 	I seem to recall that you can set the default LAF
> (normally Metal) in
> > Java's config file, but I may be dreaming.
> Brad...are you out there?
> > Does that ring a bell with you? (Yes, I'm grasping
> at straws.)
> > 
> 
> Yes I'm lurking about.  Somewhere either in your
> main if its a program
> or in the init of the Applet do the following to
> change L&F
> 
>       try { 
>         //UIManager.setLookAndFeel(
>         //         
> UIManager.getSystemLookAndFeelClassName());
>         // If you want the Cross Platform L&F
> instead, comment out
>         //the above line and uncomment the
> following:
>         UIManager.setLookAndFeel(
>                  
> UIManager.getCrossPlatformLookAndFeelClassName()); 
>       } catch (UnsupportedLookAndFeelException exc)
> {
>         System.err.println("Warning:
> UnsupportedLookAndFeel: " + laf);
>       } catch (Exception exc) { 
>         System.err.println("Error loading " + laf +
> ": " + exc);
>       }
> 
> 
> After a brief walk through the java source I think I
> see the problem if
> you run the attached code and type into the frame
> that comes up you will
> see the key events printed out on stderr.  If you
> try something like alt
> + F.  You will notice the modifiers element is
> something like Meta+Alt
> 
> My guess is that the code that actually processes
> the events is looking
> at a different KeyStroke object than you passed in. 
> So the real
> question is what is E passing that fvwm isn't if it
> works under one and
> not the other.
> 
> So if you wouldn't mind try this code out under both
> and examine the 
> results.
> 
> -- 
> --- There are two kinds of knowledge, you either
> know the answer or
> 			you know where to find it
> 		      -Kane, Johnson, and anonymous
> > import java.awt.Frame;
> import java.awt.event.KeyEvent;
> 
> 
> public class KeyTest implements
> java.awt.event.KeyListener {
> 
>     public KeyTest() {
>       Frame f = new Frame("KeyTest");
>       f.setBounds(300,300, 300, 300);
>       f.addWindowListener(new
> java.awt.event.WindowAdapter() {
>             public void
> windowClosing(java.awt.event.WindowEvent e)
> {System.exit(0);}
>         });
>       f.addKeyListener(this);
>       f.show();
> 
>     }
> 
>     // implementation of java.awt.event.KeyListener
> interface
> 
>     /**
>      *
>      * @param param1 <description>
>      */
>     public void keyPressed(KeyEvent param1) {
>       System.err.println("Pressed: " + param1);
>     }
> 
>     /**
>      *
>      * @param param1 <description>
>      */
>     public void keyReleased(KeyEvent param1) {
>       System.err.println("Released: " + param1);
>     }
> 
>     /**
>      *
>      * @param param1 <description>
>      */
>     public void keyTyped(KeyEvent param1) {
>       System.err.println("Typed: " + param1);
>     }
> 
>     public static void main (String[] args) {
>       new KeyTest();
>     } // end of main ()
> 
> } // KeyTest
> 

__________________________________________________
Do You Yahoo!?
Thousands of Stores.  Millions of Products.  All in one Place.
http://shopping.yahoo.com/
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Brad Giaccio <[email-masked]>
Date: Mon, 6 Nov 2000 20:43:48 -0500

The difference here is between what Sun has implemented and Linux
does.  Sun keyboars have seperate keys for Alt and Meta.  Linux 
lumps them together, probablly to help out the emacs users. 
So you are right under Linux you either give an accelerator of Alt+Meta
or use xmodmap, ideally you want both, but I don't beleive the stock Menu 
code handles multiple modifiers so you woul have ot extend.

Brad

-- 
--- There are two kinds of knowledge, you either know the answer or