]> code.delx.au - refind/commitdiff
Added new keyboard mappings: Tab is equivalent of Inset/F2 and
authorsrs5694 <srs5694@users.sourceforge.net>
Thu, 9 Feb 2017 15:13:42 +0000 (10:13 -0500)
committersrs5694 <srs5694@users.sourceforge.net>
Thu, 9 Feb 2017 15:13:42 +0000 (10:13 -0500)
Backspace (Delete on Mac keyboards) is equivalent of Esc. This is done
for new Mac laptops that lack some keys.

Makefile
debian/copyright
docs/refind/using.html
refind/lib.c
refind/main.c
refind/menu.c

index 2ae341acb0f79f2f7ce1c4fd8e796a2c7dd9f995..d894fbca6dd8ba935927d47da00be632000e0c4a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,7 @@ MOK_DIR=mok
 GPTSYNC_DIR=gptsync
 EFILIB_DIR=EfiLib
 export EDK2BASE=/usr/local/UDK2014/MyWorkSpace
-export REFIND_VERSION='L"0.10.4"'
+export REFIND_VERSION='L"0.10.4.2"'
 
 # The "all" target builds with the TianoCore library if possible, but falls
 # back on the more easily-installed GNU-EFI library if TianoCore isn't
index 7247a08f4bd7b34fb37a7232122f1b9b1c202d64..ea74f77335d18924a42302375515f98a9858a197 100644 (file)
@@ -5,7 +5,7 @@ Source: http://www.rodsbooks.com/refind
 
 Files: *
 Copyright: 2006 Christoph Pfisterer
-           2012-2016 Roderick W. Smith
+           2012-2017 Roderick W. Smith
 License: BSD-3-clause and GPL-3+
 
 Files: debian/*
@@ -56,7 +56,7 @@ Files: refind/*
        libeg/image.c
        libeg/screen.c
 Copyright: 2006-2010 Christoph Pfisterer
-           2012-2016 Roderick W. Smith
+           2012-2017 Roderick W. Smith
 License: BSD-3-clause and GPL-3+
 
 Files: refind/icns.c
@@ -410,7 +410,7 @@ Comment: PNG bitmap derived from TrueType font
 
 Files: docs/*
        */README*
-Copyright: 2012-2016 Roderick W. Smith
+Copyright: 2012-2017 Roderick W. Smith
 License: GFDL-1.3
 
 License: BSD-2-clause
index 908abeee5803c0b5ef40171cdf5f98f3ae0404c7..5101d8bbc4afd115db18aedc60cdc6067e10f7d3 100644 (file)
@@ -196,7 +196,7 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 
 <p class="sidebar"><b>Note:</b>On UEFI-based PCs, rEFInd defaults to scanning for EFI, but <i>not</i> for BIOS, boot loaders. If you want to launch BIOS-mode OSes from rEFInd, you must edit the <tt>scanfor</tt> line in <tt>refind.conf</tt>, as described on the <a href="configfile.html">Configuring the Boot Manager</a> page. On Macs, rEFInd scans for BIOS-based OSes by default, since such configurations are a common way to launch Windows on Macs.</p>
 
-<p>Ordinarily, rEFInd displays tags for OSes it finds on internal hard disks, external hard disks (including USB flash drives, CF disks, and so on), and optical discs. Sometimes, though, the firmware hasn't had time to fully examine these devices by the time rEFInd starts; or you might only insert or plug in the media after rEFInd appears. In these cases, you can press the Esc key to have rEFInd re-read its configuration file and re-scan your media for boot loaders. This action can take a few seconds to complete, so be patient. You can also use this feature to detect OSes if you launch a shell and use it to load a driver or edit the <tt>refind.conf</tt> file. If you regularly need to press Esc, you might look into the <tt>scan_delay</tt> configuration file option, described on the <a href="configfile.html">Configuring the Boot Manager</a> page.</p>
+<p>Ordinarily, rEFInd displays tags for OSes it finds on internal hard disks, external hard disks (including USB flash drives, CF disks, and so on), and optical discs. Sometimes, though, the firmware hasn't had time to fully examine these devices by the time rEFInd starts; or you might only insert or plug in the media after rEFInd appears. In these cases, you can press the Esc or Backspace (Delete on Macs) key to have rEFInd re-read its configuration file and re-scan your media for boot loaders. This action can take a few seconds to complete, so be patient. You can also use this feature to detect OSes if you launch a shell and use it to load a driver or edit the <tt>refind.conf</tt> file. If you regularly need to press Esc/Backspace, you might look into the <tt>scan_delay</tt> configuration file option, described on the <a href="configfile.html">Configuring the Boot Manager</a> page.</p>
 
 <p>On some computers, the firmware doesn't mount external USB media unless you adjust a firmware option or use the EFI's own boot manager prior to launching rEFInd. If you don't see external media appear in rEFInd's list, consult your computer's manual or examine its firmware to locate a relevant option. This option is often called <i>fast boot</i> or something similar; when enabled, the computer doesn't activate most USB devices because doing so takes a second or two.</p>
 
@@ -204,13 +204,13 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
 <h2>Adjusting Boot Options</h2>
 </a>
 
-<p>If you press the Insert, F2, or + key, rEFInd will show a menu that may hold additional options, depending on the OS type. (OS X and Linux are most likely to hold interesting options on their submenus.) The following figure shows the submenu for Mac OS X. You can use this menu much like the main menu; move the cursor to select the option you want to use, then press the Enter key to launch the boot loader with the selected options. Press the Esc key or select <tt>Return to Main Menu</tt> to return to the main menu. (See the <a href="linux.html">Methods of Booting Linux</a> page for information on what you might see on a Linux submenu page.)</p>
+<p>If you press the Insert, F2, Tab, or + key, rEFInd will show a menu that may hold additional options, depending on the OS type. (OS X and Linux are most likely to hold interesting options on their submenus.) The following figure shows the submenu for Mac OS X. You can use this menu much like the main menu; move the cursor to select the option you want to use, then press the Enter key to launch the boot loader with the selected options. Press the Esc or Backspace (Delete on Macs) key or select <tt>Return to Main Menu</tt> to return to the main menu. (See the <a href="linux.html">Methods of Booting Linux</a> page for information on what you might see on a Linux submenu page.)</p>
 
     <br /><center><img src="submenu.png" align="center" width="499"
     height="228" alt="rEFInd submenus enable you to set session-specific
     options." border=2></center> <br />
 
-<p>From the options submenu, you can press the Insert, F2, or + key again to edit your boot loader options. You're most likely to want to do this when booting Linux via its EFI stub loader, since you can then enter arbitrary kernel options. A simple text-mode line editor opens (shown below), enabling you to move a cursor back and forth in the line with your arrow keys, delete text, and type in new text. If you want to boot with your edited options, press the Enter key. If you decide you picked the wrong entry, press the Esc key. Note that long option lists, as shown in the figure, scroll off the edge of the screen. Moving the cursor past the screen edge scrolls the entire line of text.</p>
+<p>From the options submenu, you can press the Insert, F2, Tab, or + key again to edit your boot loader options. You're most likely to want to do this when booting Linux via its EFI stub loader, since you can then enter arbitrary kernel options. A simple text-mode line editor opens (shown below), enabling you to move a cursor back and forth in the line with your arrow keys, delete text, and type in new text. If you want to boot with your edited options, press the Enter key. If you decide you picked the wrong entry, press the Esc or Backspace key. Note that long option lists, as shown in the figure, scroll off the edge of the screen. Moving the cursor past the screen edge scrolls the entire line of text.</p>
 
     <br /><center><img src="editor.png" align="center" width="646"
     height="486" alt="You can edit options passed to the boot loader on a
@@ -263,11 +263,11 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
    <td>Moves the selection to the last item on the utilities row</td>
 </tr>
 <tr>
-   <td><i>Esc</i></td>
+   <td><i>Esc</i> or <i>Backspace</i> (<i>Delete</i> on Mac keyboards)</td>
    <td>Returns from a sub-menu; on the main screen, re-reads the configuration file and re-scans for boot loaders</td>
 </tr>
 <tr>
-   <td><i>Insert</i>, <i>F2</i>, or <i>+</i></td>
+   <td><i>Insert</i>, <i>F2</i>, <i>Tab</i>, or <i>+</i></td>
    <td>From the main menu, opens the selection's submenu, which is most useful with Mac OS X, ELILO, and Linux kernels with EFI stub loader support; in a submenu, opens a line editor enabling editing of boot options</td>
 </tr>
 <tr>
index c60615bca1c06f4fdbedb1aec292e9d4ae01ed05..b00985a81f5b51ed5cd7252b97f1a59f94e7d56a 100644 (file)
@@ -34,7 +34,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /*
- * Modifications copyright (c) 2012-2015 Roderick W. Smith
+ * Modifications copyright (c) 2012-2017 Roderick W. Smith
  *
  * Modifications distributed under the terms of the GNU General Public
  * License (GPL) version 3 (GPLv3), or (at your option) any later version.
index 66601177692fd9b7b558b849c5f6b7c3419e285c..d183e836d4110e8e728a478803a768039f5035ea 100644 (file)
@@ -34,7 +34,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /*
- * Modifications copyright (c) 2012-2016 Roderick W. Smith
+ * Modifications copyright (c) 2012-2017 Roderick W. Smith
  *
  * Modifications distributed under the terms of the GNU General Public
  * License (GPL) version 3 (GPLv3), or (at your option) any later version.
@@ -157,7 +157,7 @@ static REFIT_MENU_ENTRY MenuEntryRotateCsr = { L"Change SIP Policy", TAG_CSR_ROT
 
 REFIT_MENU_SCREEN MainMenu       = { L"Main Menu", NULL, 0, NULL, 0, NULL, 0, L"Automatic boot",
                                      L"Use arrow keys to move cursor; Enter to boot;",
-                                     L"Insert or F2 for more options; Esc to refresh" };
+                                     L"Insert, Tab, or F2 for more options; Esc or Backspace to refresh" };
 static REFIT_MENU_SCREEN AboutMenu      = { L"About", NULL, 0, NULL, 0, NULL, 0, NULL, L"Press Enter to return to main menu", L"" };
 
 REFIT_CONFIG GlobalConfig = { FALSE, TRUE, FALSE, FALSE, TRUE, FALSE, 0, 0, 0, DONT_CHANGE_TEXT_MODE,
index 471922826d1c03ec75e5b85ca5e9a31307c88317..08abe3e778e54fbbef970db302b784aca67c26ef 100644 (file)
@@ -34,7 +34,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 /*
- * Modifications copyright (c) 2012-2015 Roderick W. Smith
+ * Modifications copyright (c) 2012-2017 Roderick W. Smith
  *
  * Modifications distributed under the terms of the GNU General Public
  * License (GPL) version 3 (GPLv3), or (at your option) any later version.
@@ -600,7 +600,11 @@ static UINTN RunGenericMenu(IN REFIT_MENU_SCREEN *Screen, IN MENU_STYLE_FUNC Sty
                 case ' ':
                     MenuExit = MENU_EXIT_ENTER;
                     break;
+                case CHAR_BACKSPACE:
+                    MenuExit = MENU_EXIT_ESCAPE;
+                    break;
                 case '+':
+                case CHAR_TAB:
                     MenuExit = MENU_EXIT_DETAILS;
                     break;
                 default:
@@ -618,6 +622,7 @@ static UINTN RunGenericMenu(IN REFIT_MENU_SCREEN *Screen, IN MENU_STYLE_FUNC Sty
             UINT32 TouchScreenPosX = (TouchState.CurrentX * UGAWidth) / TouchProtocol->Mode->AbsoluteMaxX;
             UINT32 TouchScreenPosY = (TouchState.CurrentY * UGAHeight) / TouchProtocol->Mode->AbsoluteMaxY;
 
+
             UINTN Item = FindMainMenuItem(Screen, &State, TouchScreenPosX, TouchScreenPosY);
             switch (Item) {
                 case TOUCH_NO_ITEM: