Added documentation for new enable_touch support. Also tweaked inclusion
authorsrs5694 <srs5694@users.sourceforge.net>
Mon, 3 Oct 2016 19:30:57 +0000 (15:30 -0400)
committersrs5694 <srs5694@users.sourceforge.net>
Mon, 3 Oct 2016 19:30:57 +0000 (15:30 -0400)
condition for EfiLib/AbsolutePointer.h, since the latest GNU-EFI seems
to include equivalent definitions.

NEWS.txt
docs/refind/configfile.html
refind.conf-sample
refind/menu.h

index 219353a..807e198 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,6 +1,15 @@
 0.10.4 (?/??/2016):
 -------------------
 
+- An anonymous contributor has provided support for touch screens. This
+  support requires that the "enable_touch" token be used in refind.conf.
+  Note, however, that not all tablet computers have EFIs that provide the
+  necessary support in the firmware.
+
+- Martin Whitaker contributed 64-bit support to the ext4fs driver, which
+  makes it compatible with ext4fs as written by some recent Linux
+  distributions.
+
 - Tweaked refind-install to do a better job of detecting disks other
   than /dev/sd? and /dev/hd? devices.
 
index 7191808..4c3d9d2 100644 (file)
@@ -309,6 +309,11 @@ timeout 20
    <td>one or two integer values</td>
    <td>Sets the video resolution used by rEFInd; takes <i>either</i> a width and a height <i>or</i> a single UEFI video mode number as options. For instance, <tt>resolution 1024 768</tt> sets the resolution to 1024x768. On UEFI systems, <tt>resolution 1</tt> sets video mode 1, the resolution of which varies from system to system. If you set a resolution that doesn't work on a UEFI-based system, rEFInd displays a message along with a list of valid modes. On an system built around EFI 1.<i>x</i> (such as a Mac), setting an incorrect resolution fails silently; you'll get the system's default resolution. You'll also get the system's default resolution if you set both resolution values to <tt>0</tt> or if you pass anything but two numbers. (Note that passing a resolution with an <tt>x</tt>, as in <tt>1024x768</tt>, will be interpreted as <i>one</i> option and so will cause the default resolution to be used.) If you get a higher resolution than you request, try commenting out or changing the <tt>textmode</tt> value, since it can force the system to use a higher graphics resolution than you specify with <tt>resolution</tt>. Also, be aware that it is possible to set a valid resolution for your video card that's invalid for your monitor. If you do this, your monitor will go blank until you've booted an OS that resets the video mode.</td>
 </tr>
+<tr>
+   <td><tt>enable_touch</tt></td>
+   <td>none or one of <tt>true</tt>, <tt>on</tt>, <tt>1</tt>, <tt>false</tt>, <tt>off</tt>, or <tt>0</tt></td>
+   <td>Enables support for touch screens (as on tablets). Note that not all tablets provide the necessary support. If this feature is enabled and the tablet supports it, touching an OS or tool should launch it or enter a submenu. In a submenu, it is currently not possible to select a specific item; any touch will launch the default submenu option.</td>
+</tr>
 <tr>
    <td><tt>use_graphics_for</tt></td>
    <td><tt>osx</tt>, <tt>linux</tt>, <tt>elilo</tt>, <tt>grub</tt>, and <tt>windows</tt></td>
index bbdc904..33f2db2 100644 (file)
@@ -139,6 +139,16 @@ timeout 20
 #resolution 1440 900
 #resolution 3
 
+# Enable touch screen support. If active, this feature enables use of
+# touch screen controls (as on tablets). Note, however, that not all
+# tablets' EFIs provide the necessary underlying support, so this
+# feature may not work for you. If it does work, you should be able
+# to launch an OS or tool by touching it. In a submenu, touching
+# anywhere launches the currently-selection item; there is, at present,
+# no way to select a specific submenu item.
+#
+#enable_touch
+
 # Launch specified OSes in graphics mode. By default, rEFInd switches
 # to text mode and displays basic pre-launch information when launching
 # all OSes except OS X. Using graphics mode can produce a more seamless
index e5d02fb..1ce1ce9 100644 (file)
 #ifdef __MAKEWITH_GNUEFI
 #include "efi.h"
 #include "efilib.h"
-#include "../EfiLib/AbsolutePointer.h"
 #else
 #include "../include/tiano_includes.h"
 #endif
 #include "global.h"
 
+#ifndef _EFI_POINT_H
+#include "../EfiLib/AbsolutePointer.h"
+#endif
+
 #include "libeg.h"
 
 //