Index: java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 863)
+++ java/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 871)
@@ -2,6 +2,9 @@
 
 import java.awt.BorderLayout;
+import java.awt.Component;
 import java.awt.Desktop;
 import java.awt.GridLayout;
+import java.awt.KeyEventDispatcher;
+import java.awt.KeyboardFocusManager;
 import java.awt.Toolkit;
 import java.awt.datatransfer.Clipboard;
@@ -91,5 +94,5 @@
  */
 public class MainWin extends JFrame implements ApplicationListener,
-		ModInstallSelectionListener, ModSelectionListener {
+		ModInstallSelectionListener, ModSelectionListener, KeyEventDispatcher {
 	private static final long serialVersionUID = -4027395051382659650L;
 
@@ -180,4 +183,7 @@
 		tblMods.addModSelectionListener(this);
 		tblMods.addDownloadSizeListener(this);
+
+		KeyboardFocusManager.getCurrentKeyboardFocusManager()
+				.addKeyEventDispatcher(this);
 
 		setSize(SettingsManager.getInstance().get("win_main_width", 1050),
@@ -572,5 +578,4 @@
 	}
 
-	@SuppressWarnings("unused")
 	private void refreshLocalMods() {
 		PackageManager.getInstance().updateLocalData();
@@ -1013,4 +1018,26 @@
 	}
 
+	private boolean componentBelongsToWindow(Component c) {
+		while (c != null) {
+			if (c == this)
+				return true;
+			c = c.getParent();
+		}
+		return false;
+	}
+
+	@Override
+	public boolean dispatchKeyEvent(KeyEvent e) {
+		if (e.getID() == KeyEvent.KEY_PRESSED) {
+			switch (e.getKeyCode()) {
+				case KeyEvent.VK_F5:
+					if (componentBelongsToWindow(e.getComponent()))
+						refreshLocalMods();
+					return true;
+			}
+		}
+		return false;
+	}
+
 	@Override
 	public void handleAbout(ApplicationEvent event) {
