source: trunk/packages/invirt-vnc-client/debian/patches/add-control-alt-checkboxes.patch

Last change on this file was 1438, checked in by broder, 16 years ago

Isolate our patches to the VNC client from the upstream TightVNC
source

File size: 2.4 KB
  • ButtonPanel.java

    old new  
    2727import java.awt.event.*;
    2828import java.io.*;
    2929
    30 class ButtonPanel extends Panel implements ActionListener {
     30class ButtonPanel extends Panel implements ActionListener, ItemListener {
    3131
    3232  VncViewer viewer;
    3333  Button disconnectButton;
     
    3636  Button clipboardButton;
    3737  Button ctrlAltDelButton;
    3838  Button refreshButton;
     39  Checkbox altCheckbox;
     40  Checkbox ctrlCheckbox;
    3941
    4042  ButtonPanel(VncViewer v) {
    4143    viewer = v;
     
    6567    refreshButton.setEnabled(false);
    6668    add(refreshButton);
    6769    refreshButton.addActionListener(this);
     70   
     71    altCheckbox = new Checkbox("Alt");
     72    altCheckbox.setEnabled(false);
     73    add(altCheckbox);
     74    altCheckbox.addItemListener(this);
     75    ctrlCheckbox = new Checkbox("Control");
     76    ctrlCheckbox.setEnabled(false);
     77    add(ctrlCheckbox);
     78    ctrlCheckbox.addItemListener(this);
    6879  }
    6980
    7081  //
     
    103114
    104115  public void enableRemoteAccessControls(boolean enable) {
    105116    ctrlAltDelButton.setEnabled(enable);
     117    ctrlCheckbox.setEnabled(enable);
     118    altCheckbox.setEnabled(enable);
    106119  }
    107120
    108121  //
     
    150163      }
    151164    }
    152165  }
     166    public void itemStateChanged(ItemEvent evt) {
     167        viewer.moveFocusToDesktop();
     168        int state = evt.getStateChange();
     169        int extraModifiers = 0;
     170        if (altCheckbox.getState()) { extraModifiers |= InputEvent.ALT_MASK; }
     171        if (ctrlCheckbox.getState()) { extraModifiers |= InputEvent.CTRL_MASK; }
     172        viewer.vc.extraModifiers = extraModifiers;
     173    }
    153174}
    154175
  • invirt-vnc-client

    old new  
    7979
    8080  // True if we process keyboard and mouse events.
    8181  boolean inputEnabled;
     82  int extraModifiers = 0;
    8283
    8384  //
    8485  // The constructors.
     
    15101511        // Input enabled.
    15111512        synchronized(rfb) {
    15121513          try {
     1514            if (extraModifiers != 0) {
     1515              evt.setModifiers(evt.getModifiers() | extraModifiers);
     1516            }
    15131517            rfb.writeKeyEvent(evt);
    15141518          } catch (Exception e) {
    15151519            e.printStackTrace();
Note: See TracBrowser for help on using the repository browser.