key mapping for remote java applications

I’m runnning fvwm 2.5.10 on SuSE 9.2 professional. I find that if telnet/ssh to a Solaris machine and run a Java application (exporting display or tunneling X back through ssh), some keys are not mapped, e.g. Enter, Backspace, Tab, Delete. This happens only on Solaris machines, and only with Java gui applicaitons.

If I start X with KDE, using the same terminal, protocol, etc., the application will run just fine. I change back to fvwm and try again and it still works; the keys are mapped, but after a while it reverts to its original behavior.

I don’t really know very much about X or fvwm, so I don’t know where to start looking for whatever setting is cuasing this change in behavior. Is this a defect?

Java applications are notorious for this.

It shouldn’t do – bindings such as that are a facet of the Xserver, and not of the window manager – can you be more specific about how things ‘revert’ back? I don’t mean to be pedantic, but being really specific here, is a must…

– Thomas Adam

No worries. My original thought was that key bindings are an X thing and not a window manager thing. But I’ve also heard that the big desktop environments (KDE and Gnome) sometimes go a little deeper than other window managers.

Let me try to describe what’s happening a little more clearly.

This is the first puzzler:

  • start X with fvwm
  • open terminal
  • ssh -X myaccount@solarisbox
  • execute java gui application
  • specific keys are not mapped (Backspace, Enter, Delete, Tab)
  • kill X
  • start X with KDE
  • open terminal
  • ssh -X myaccount@solarisbox
  • execute java gui application
  • said keys function as expected

Now this is what kills me:

  • Kill X
  • Start X with fvwm
  • open terminal
  • ssh -X myaccount@solarisbox
  • execute java gui application
  • said keys function as expected

Now the catch is that the keys only stay mapped for a certain period of time. After some time the mappings are undone and the keys I mentioned above stop working. I don’t know what causes this, but here’s what I know about it.

  • It can happen during an X session. In other words I don’t have to kill X and restart before the keys will come unmapped.
  • It can happen during and ssh or telnet session. In other words I don’t have to lose my connection to the remote machine or change any display piping before the keys come unmapped.
  • So far, I don’t think that this has happened during one iteration of a java application. I think I have to execute the application a number of times before the keys come unmapped.

I have tested this with multiple java applications, multiple terminals (although I keep the terminal constant when I do the switch from fvwm to KDE), and I’ve tried as root and normal users.

The thing that really confuses me is that the key behavior change seems to happen on startup when I switch to KDE, but when I switch back to fvwm, the key bahavior change seems to happen whenever it feels like it.

Google has not found any information on this. I’m the only one at work using fvwm, and I don’t want anybody to think that I’m wasting time on trying to figure this out when I could be using KDE or Gnome.

If I can clear anything else up for you, let me know. It would be really nice if I could just find somebody who’s not me that can even reproduce this.