Skip to content

Commit

Permalink
GSOC2020: Ctrl-shift-U does not work work when editor is focused ardu…
Browse files Browse the repository at this point in the history
  • Loading branch information
yzykov committed Mar 28, 2020
1 parent a1e43ce commit 8008163
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions app/src/processing/app/Editor.java
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,9 @@ public boolean test(SketchController controller) {
/** Command-Option on Mac OS X, Ctrl-Alt on Windows and Linux */
static final int SHORTCUT_ALT_KEY_MASK = ActionEvent.ALT_MASK |
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
/** Command-Option on Mac OS X, Ctrl-Shift on Windows and Linux */
static final int SHORTCUT_SHIFT_KEY_MASK = ActionEvent.SHIFT_MASK |
Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();

/**
* true if this file has not yet been given a name by the user
Expand Down Expand Up @@ -670,7 +673,15 @@ private void buildSketchMenu(JMenu sketchMenu) {
item.addActionListener(event -> handleExport(false));
sketchMenu.add(item);

item = newJMenuItemShift(tr("Upload Using Programmer"), 'U');
// Since CTRL+SHIFT+U is not working on iBus keyboard input method
// Lets redirect the shorcut for Linux to CTRL+ALT+U
// Leaving the preexisting behaviour for Windows & Mac OS
String OS = System.getProperty("os.name").toLowerCase();
if (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") >= 0){
item = newJMenuItemAlt(tr("Upload Using Programmer"), 'U');
} else {
item = newJMenuItemShift(tr("Upload Using Programmer"), 'U');
}
item.addActionListener(event -> handleExport(true));
sketchMenu.add(item);

Expand Down Expand Up @@ -1350,7 +1361,7 @@ static public JMenuItem newJMenuItem(String title, int what) {
// Control + Shift + K seems to not be working on linux (Xubuntu 17.04, 2017-08-19)
static public JMenuItem newJMenuItemShift(String title, int what) {
JMenuItem menuItem = new JMenuItem(title);
menuItem.setAccelerator(KeyStroke.getKeyStroke(what, SHORTCUT_KEY_MASK | ActionEvent.SHIFT_MASK));
menuItem.setAccelerator(KeyStroke.getKeyStroke(what, SHORTCUT_SHIFT_KEY_MASK));
return menuItem;
}

Expand Down

0 comments on commit 8008163

Please sign in to comment.