diff -urN starplot-0.95.5/src/classes/colors.h starplot-0.95.5-AuraHD/src/classes/colors.h
--- starplot-0.95.5/src/classes/colors.h	2008-03-04 20:15:02.000000000 +0000
+++ starplot-0.95.5-AuraHD/src/classes/colors.h	2016-06-30 22:54:02.050006158 +0100
@@ -36,29 +36,29 @@
 #define BLUE(color)  ((color) & BLUE_MASK)
 #define DIM(color)   (((color) & 0xFEFEFE) >> 1)
 
-const color_t WOLF_RAYET_COLOR = 0x2000A0,
-	D_COLOR = 0x808080,
-	NON_STELLAR_COLOR = 0xFF00FF,
-	DEFAULT_COLOR = 0x00FF00;
+const color_t WOLF_RAYET_COLOR = 0xFFFFFF,
+	D_COLOR = 0xFFFFFF,
+	NON_STELLAR_COLOR = 0xFFFFFF,
+	DEFAULT_COLOR = 0xFFFFFF;
 
 const color_t CLASS_COLORS[] = {
-	0x0000FF, // O
-	0x00C0FF, // B
-	0x80E0E0, // A
-	0xF0F0F0, // F
-	0xF0F000, // G
-	0xF0A000, // K
-	0xFF2000  // M
+	0xFFFFFF, // O
+	0xFFFFFF, // B
+	0xFFFFFF, // A
+	0xFFFFFF, // F
+	0xFFFFFF, // G
+	0xFFFFFF, // K
+	0xFFFFFF  // M
 };
 
-const color_t POSITIVE = 0x808080,
-	NEGATIVE =    0x0000FF,
+const color_t POSITIVE = 0xFFFFFF,
+	NEGATIVE =    0xFFFFFF,
 	BACKGROUND =  0x000000,
-	TEXT_COLOR =  0x00FF00,
-	LABEL_COLOR = 0xC0C0C0,
+	TEXT_COLOR =  0xFFFFFF,
+	LABEL_COLOR = 0xFFFFFF,
 	BOLD_COLOR =  0xFFFFFF,
-	DIM_COLOR =   0x606060,
-	ERROR_COLOR = 0xFF4040;
+	DIM_COLOR =   0xFFFFFF,
+	ERROR_COLOR = 0xFFFFFF;
 
 #endif // #ifndef _COLORS_H
 
diff -urN starplot-0.95.5/src/classes/stararray.cc starplot-0.95.5-AuraHD/src/classes/stararray.cc
--- starplot-0.95.5/src/classes/stararray.cc	2008-03-19 19:01:33.000000000 +0000
+++ starplot-0.95.5-AuraHD/src/classes/stararray.cc	2016-06-30 23:17:41.940007397 +0100
@@ -646,7 +646,7 @@
 // private function to draw the legend
 void StarArray::drawlegend(StarViewer *sv) const
 {
-  unsigned int xbase, ybase = 0;
+  unsigned int xbase, ybase = 0, yskip = 25;
   string sra, sdec, sdist, srad, sdmag, sbmag, temp;
     
   // first draw the chart information in the upper left
@@ -699,33 +699,34 @@
   sdmag += starstrings::ftoa(dimmest_apparent_mag, 4);
   sdmag += ")";
   
-  sv->setcolor(BOLD_COLOR); sv->drawtext(_("CHART STATUS"), 15, ybase += 15);
+  /* sv->setcolor(BOLD_COLOR); sv->drawtext(_("CHART STATUS"), 15, ybase += yskip); */
   sv->setcolor(LABEL_COLOR);
-  sv->drawtext(_("Location of Chart Origin:"), 5, ybase += 15);
+  sv->drawtext(_("Location of Chart Origin:"), 5, ybase += yskip);
   if (ArrayRules.ChartLocation.magnitude() > 0.0) {
-    sv->drawtext(sra, 10, ybase += 15);
-    sv->drawtext(sdec, 10, ybase += 15);
+    sv->drawtext(sra, 10, ybase += yskip);
+    sv->drawtext(sdec, 10, ybase += yskip);
   }
-  sv->drawtext(sdist, 10, ybase += 15);
+  sv->drawtext(sdist, 10, ybase += yskip);
   
   if (ArrayRules.ChartRadius <= 0.0) sv->setcolor(ERROR_COLOR);
-  sv->drawtext(srad, 5, ybase += 15);
+  sv->drawtext(srad, 5, ybase += yskip);
   
   if (ArrayRules.ChartDimmestMagnitude - ArrayRules.ChartBrightestMagnitude
       <= 0.0)
     sv->setcolor(ERROR_COLOR);
   else sv->setcolor(LABEL_COLOR);
-  sv->drawtext(sdmag, 5, ybase += 15);
+  sv->drawtext(sdmag, 5, ybase += yskip);
   // Show bright mag only if it's been changed from the default
   if (ArrayRules.ChartBrightestMagnitude > -25)
-    sv->drawtext(sbmag, 5, ybase += 15);
+    sv->drawtext(sbmag, 5, ybase += yskip);
 
   // then draw the legend (which doubles as a display of which spectral
   //  classes are currently turned on) in the upper right
   
   xbase = (sv->width() > 100) ? sv->width() - 95 : 5;
-  sv->setcolor(BOLD_COLOR); sv->drawtext(_("LEGEND"), xbase + 5, 15);
+  /* sv->setcolor(BOLD_COLOR); sv->drawtext(_("LEGEND"), xbase + 5, 15); */
 
+#if 0
 #define LO LEGEND_OFFSETS
 
   drawlegenditem(sv, WOLF_RAYET_COLOR, 0, 
@@ -740,6 +741,7 @@
 		 _("Unknown"), -85, 5);
   drawlegenditem(sv, NON_STELLAR_COLOR, 9, xbase + LO[9][0], LO[9][1], 5,
 		 _("Non-stellar"), -85, 5);
+#endif
   return;
 }
 
diff -urN starplot-0.95.5/src/gui/chartdialogs.cc starplot-0.95.5-AuraHD/src/gui/chartdialogs.cc
--- starplot-0.95.5/src/gui/chartdialogs.cc	2008-03-26 18:15:02.000000000 +0000
+++ starplot-0.95.5-AuraHD/src/gui/chartdialogs.cc	2016-06-30 22:53:43.390005504 +0100
@@ -120,7 +120,7 @@
 }
 
 
-/* Handler for the Chart->Define Chart menu item */
+/* Handler for the Chart->Position Origin menu item */
 
 /* The top-level Chart Define window pointer */
 GtkWidget * definedialog;
@@ -404,7 +404,7 @@
   // The window
   definedialog = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_window_set_resizable (GTK_WINDOW (definedialog), false);
-  gtk_window_set_title (GTK_WINDOW (definedialog), _("StarPlot: Define Chart"));
+  gtk_window_set_title (GTK_WINDOW (definedialog), _("StarPlot: Position Origin"));
   gtk_window_set_modal (GTK_WINDOW (definedialog), true);
   g_signal_connect (G_OBJECT (definedialog), "destroy",
 		      G_CALLBACK (gtk_widget_destroy), NULL);
diff -urN starplot-0.95.5/src/gui/filedialogs.cc starplot-0.95.5-AuraHD/src/gui/filedialogs.cc
--- starplot-0.95.5/src/gui/filedialogs.cc	2008-03-19 20:30:17.000000000 +0000
+++ starplot-0.95.5-AuraHD/src/gui/filedialogs.cc	2016-06-30 22:53:43.400005504 +0100
@@ -113,6 +113,7 @@
 	  _("Sorry, couldn't create file \"%s\"."), filename.c_str()).c_str());
 }
 
+#if 0
 #ifndef BROWSER
 /* This selects a help file browser */
 static void help_ok_sel(GtkWidget *w, GtkFileSelection *fs)
@@ -128,6 +129,7 @@
   helpdocs();
 }
 #endif
+#endif
 
 /* We need several functions for the menu generator, plus one for the case
  *  where a help browser must be selected before opening help docs,
@@ -170,6 +172,7 @@
       _("StarPlot: Save chart as PNG image"), get_local_dir().c_str());
 }
 
+#if 0
 #ifndef BROWSER
 void help_select() 
 {
@@ -195,6 +198,7 @@
       _("StarPlot: Select help browser program"), file);
 #endif
 }
+#endif
 
 /* The interface which creates the dialog */
 void my_gtk_file_select 
diff -urN starplot-0.95.5/src/gui/menu.h starplot-0.95.5-AuraHD/src/gui/menu.h
--- starplot-0.95.5/src/gui/menu.h	2008-03-26 16:57:23.000000000 +0000
+++ starplot-0.95.5-AuraHD/src/gui/menu.h	2016-06-30 22:53:43.400005504 +0100
@@ -52,7 +52,7 @@
 { _("/File/-----"),              0,     0,             0, "<Separator>" }, \
 { _("/File/_Save Chart as PNG..."),   "", file_save,    0, STO,	"gtk-save" }, \
 { _("/File/-----"),              0,     0,             0, "<Separator>" },     \
-{ _("/File/_Quit"),              "",    starplot_quit, 0, STO,   "gtk-quit" }
+{ _("/File/_Quit"),              "<control>Q",    starplot_quit, 0, STO,   "gtk-quit" }
 
 // defined in filedialogs.cc:
 extern void starplot_quit();
@@ -65,9 +65,9 @@
 
 #define CHART_MENU \
 { _("/_Chart"),                  0,     0,             0, "<Branch>" },        \
-{ _("/Chart/_Define Chart..."),  0,     chart_define,  0, "" },                \
-{ _("/Chart/_Orientation..."),   0,     chart_orient,  0, "" },                \
-{ _("/Chart/Star _Filter..."),   0,     chart_filter,  0, "" }
+{ _("/Chart/_Position Origin..."),  "P",     chart_define,  0, "" },                \
+{ _("/Chart/_Orientation..."),   "U",     chart_orient,  0, "" },                \
+{ _("/Chart/Star _Filter..."),   "F",     chart_filter,  0, "" }
 
 // defined in chartdialogs.cc:
 extern void chart_define();
@@ -93,9 +93,9 @@
 #define OPTIONS_TOGGLE_MENU_SIZE 3
 extern GtkWidget *options_toggle_widgets[OPTIONS_TOGGLE_MENU_SIZE];
 #define OPTIONS_TOGGLE_MENU \
-{ _("/Options/Toggle _Bars"),  "<control>B", toggle_bars,   0, CHE },          \
-{ _("/Options/Toggle G_rid"),  "<control>R", toggle_grid,   0, CHE },          \
-{ _("/Options/Toggle _Legend"),"<control>L", toggle_legend, 0, CHE },	      \
+{ _("/Options/Toggle _Bars"),  "B", toggle_bars,   0, CHE },          \
+{ _("/Options/Toggle G_rid"),  "R", toggle_grid,   0, CHE },          \
+{ _("/Options/Toggle _Legend"),"L", toggle_legend, 0, CHE },	      \
 { _("/Options/-----"),           0,          0,		   0, "<Separator>" }
 
 #define TOGGLE_BARS   0
@@ -115,13 +115,13 @@
 #define OPTIONS_LABEL_MENU \
 { _("/Options/_Star Labels"), 0, 0,   0, "<Branch>" },                        \
 { _("/Options/Star Labels/Landmar_k Stars"),                                  \
-    "<control>K", labels_landmk,   0, "<RadioItem>" },                        \
+    "K", labels_landmk,   0, "<RadioItem>" },                        \
 { _("/Options/Star Labels/All Star _Names"),                                  \
-  "<control>N", labels_all,      0, _("/Options/Star Labels/Landmark Stars") },\
+  "A", labels_all,      0, _("/Options/Star Labels/Landmark Stars") },\
 { _("/Options/Star Labels/Numerical _Index"),                                 \
-  "<control>I", labels_numerical,0, _("/Options/Star Labels/Landmark Stars") },\
+  "I", labels_numerical,0, _("/Options/Star Labels/Landmark Stars") },\
 { _("/Options/Star Labels/Labels _Off"),                                      \
-  "<control>O", labels_off,      0, _("/Options/Star Labels/Landmark Stars") }
+  "O", labels_off,      0, _("/Options/Star Labels/Landmark Stars") }
 
 // defined in menuops.cc:
 extern void labels_all();
@@ -151,9 +151,9 @@
 #define OPTIONS_COORD_MENU \
 { _("/Options/_Coordinate System"),  0,      0,          0, "<Branch>" },   \
 { _("/Options/Coordinate System/_Celestial"),                               \
-  "<control>C", cel_coords,       0, "<RadioItem>" },                       \
+  "C", cel_coords,       0, "<RadioItem>" },                       \
 { _("/Options/Coordinate System/_Galactic"),                                \
-    "<control>G", gal_coords,     0, _("/Options/Coordinate System/Celestial")}
+    "G", gal_coords,     0, _("/Options/Coordinate System/Celestial")}
 
 // defined in menuops.cc:
 extern void cel_coords();
@@ -187,10 +187,10 @@
 
 #define STARS_MENU \
 { _("/_Stars"),                  0,          0,          0, "<Branch>" },      \
-{ _("/Stars/Chart _Data..."),  "<control>D", starinfo,   0, "" },              \
-{ _("/Stars/_HR Diagram..."),  "<control>H", hrdiagram,  0, "" },              \
-{ _("/Stars/_Search..."),      "<control>S", starsearch, 0, STO,  "gtk-find" },\
-{ _("/Stars/_Calculate Distance..."), 0,   stardistance, 0, "" }
+{ _("/Stars/Chart _Data..."),  "D", starinfo,   0, "" },              \
+{ _("/Stars/_HR Diagram..."),  "H", hrdiagram,  0, "" },              \
+{ _("/Stars/_Search..."),      "S", starsearch, 0, STO,  "gtk-find" },\
+{ _("/Stars/_Calculate Distance..."), "T",   stardistance, 0, "" }
 
 // defined in infodialogs.cc:
 extern void starinfo();
@@ -199,6 +199,7 @@
 // defined in hrdiagram.cc:
 extern void hrdiagram();
 
+#if 0
 #ifndef BROWSER
 # define HELP_MENU \
 { _("/_Help"),                   0,          0,          0, "<LastBranch>" },  \
@@ -224,6 +225,7 @@
 extern void helpdocs();
 extern void webpage();
 extern void abouthelp();
+#endif
 
 
 #endif // #define _STARPLOT_MENU_H
diff -urN starplot-0.95.5/src/gui/menuops.cc starplot-0.95.5-AuraHD/src/gui/menuops.cc
--- starplot-0.95.5/src/gui/menuops.cc	2008-04-11 19:46:31.000000000 +0100
+++ starplot-0.95.5-AuraHD/src/gui/menuops.cc	2016-06-30 22:53:43.400005504 +0100
@@ -37,7 +37,7 @@
 GtkItemFactoryEntry menu_items[] = {
   FILE_MENU, CHART_MENU, OPTIONS_CUSTOM_MENU, OPTIONS_TOGGLE_MENU,
   OPTIONS_LABEL_MENU, OPTIONS_DIAMETER_MENU, OPTIONS_COORD_MENU,
-  OPTIONS_UNIT_MENU, STARS_MENU, HELP_MENU
+  OPTIONS_UNIT_MENU, STARS_MENU
 };
 
 GtkWidget *options_toggle_widgets[OPTIONS_TOGGLE_MENU_SIZE];
@@ -591,6 +591,7 @@
 }
 
 
+#if 0
 /* Silly little "about" dialog */
 void abouthelp()
 {
@@ -684,3 +685,4 @@
   if (waitpid(pid, NULL, 0) != pid) return;
   return;
 }
+#endif
diff -urN starplot-0.95.5/src/gui/starplot.cc starplot-0.95.5-AuraHD/src/gui/starplot.cc
--- starplot-0.95.5/src/gui/starplot.cc	2008-04-10 20:18:48.000000000 +0100
+++ starplot-0.95.5-AuraHD/src/gui/starplot.cc	2016-07-01 22:38:46.240006330 +0100
@@ -25,6 +25,7 @@
 */
 
 #include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
 #include "starplot.h"
 #include "starplot.xpm"
 
@@ -124,6 +125,84 @@
 }
 
 
+
+/* Function to respond to keyboard presses */
+static gboolean key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer user_data)
+{
+  extern void button_zoom(GtkWidget *w, gpointer zoomfactor);
+  extern void button_magchange(GtkWidget *w, gpointer magchange);
+  extern void button_tilt(GtkWidget *w, gpointer angle);
+  extern void button_rotate(GtkWidget *w, gpointer angle);
+  extern void button_set_earth_orientation(GtkWidget *w, gpointer ignored);
+  static double zoominfactor = 2.0, zoomoutfactor = 1.0 / zoominfactor;
+  static double leftangle = 0.5 HOURS, rightangle = -leftangle,
+                leftangle_small = 0.25 * leftangle, rightangle_small = 0.25 * rightangle;
+  static double northangle = 5.0 DEGREES, southangle = -northangle,
+                northangle_small = 0.25 * northangle, southangle_small = 0.25 * southangle;
+  static double magup = -0.5, magdown = -magup;
+
+  switch (event->keyval)
+  {
+    case GDK_KEY_m:
+    case GDK_KEY_End:
+         button_magchange(widget, &magup);
+         break;
+
+    case GDK_KEY_Home:
+         button_magchange(widget, &magdown);
+         break;
+
+    case GDK_KEY_z:
+    case GDK_KEY_plus:
+         button_zoom(widget, &zoominfactor);
+         break;
+
+    case GDK_KEY_x:
+    case GDK_KEY_minus:
+         button_zoom(widget, &zoomoutfactor);
+         break;
+
+    case GDK_KEY_e:
+         button_set_earth_orientation(widget, NULL);
+         break;
+
+    case GDK_KEY_Up:
+    case GDK_KEY_Page_Up:
+      if (event->state & GDK_SHIFT_MASK)
+         button_tilt(widget, &northangle_small);
+      else
+         button_tilt(widget, &northangle);
+      break;
+
+    case GDK_KEY_Down:
+    case GDK_KEY_Page_Down:
+      if (event->state & GDK_SHIFT_MASK)
+         button_tilt(widget, &southangle_small);
+      else
+         button_tilt(widget, &southangle);
+      break;
+
+    case GDK_KEY_Left:
+      if (event->state & GDK_SHIFT_MASK)
+         button_rotate(widget, &rightangle_small);
+      else
+         button_rotate(widget, &rightangle);
+      break;
+
+    case GDK_KEY_Right:
+      if (event->state & GDK_SHIFT_MASK)
+         button_rotate(widget, &leftangle_small);
+      else
+         button_rotate(widget, &leftangle);
+      break;
+
+    default:
+      return FALSE; 
+  }
+
+  return FALSE; 
+}
+
 /* Function to respond to mouse clicks on the star chart.  A left-click
  * will recenter the chart to the clicked star.  A right-click will pop up
  * a mini-dialog box with some information about the star.  A left-click
@@ -168,9 +247,9 @@
     int y = (*globals::chart_stararray)[i].GetYPixel();
     int r = (*globals::chart_stararray)[i].GetRPixel();
 
-    // give the hotspot two pixels extra in radius to make it easier to
+    // give the hotspot twelve pixels extra in radius to make it easier to
     // click on stars --------------------------v
-    if (pow(X - x, 2) + pow(Y - y, 2) < pow(r + 2, 2)) {
+    if (pow(X - x, 2) + pow(Y - y, 2) < pow(r + 12, 2)) {
       found = true;
       break;
     }
@@ -205,7 +284,7 @@
   GtkWidget *window;
   GtkWidget *mainmenu;
   GtkWidget *mainbox, *hbox, *statusbar;
-  GtkWidget *buttonbar;
+  /* GtkWidget *buttonbar; */
   
   /* extract GTK command-line flags and set LC_ALL */
   gtk_init(&argc, &argv);
@@ -233,7 +312,7 @@
   gtk_window_set_icon (GTK_WINDOW (window), globals::program_icon);
   gtk_container_set_border_width (GTK_CONTAINER (window), 0);
   my_gtk_main_menu (window, &mainmenu);
-  my_gtk_push_buttons (window, &buttonbar);
+  /* my_gtk_push_buttons (window, &buttonbar); */
 
   /* Set a delete_event handler for ending the program */
   g_signal_connect (G_OBJECT (window), "delete_event",
@@ -255,15 +334,21 @@
   /* Event signals */
   g_signal_connect (G_OBJECT (globals::program_canvas), "button_press_event",
 		      G_CALLBACK (button_press_event), NULL);
+
+  /* Keyboard handler */
+  g_signal_connect (G_OBJECT (window), "key_press_event",
+		      G_CALLBACK (key_press_event), NULL);
+
   gtk_widget_set_events (globals::program_canvas, GDK_EXPOSURE_MASK
 			 | GDK_LEAVE_NOTIFY_MASK
 			 | GDK_BUTTON_PRESS_MASK
 			 | GDK_POINTER_MOTION_MASK
+			 | GDK_KEY_PRESS_MASK
 			 | GDK_POINTER_MOTION_HINT_MASK);
 
   hbox = gtk_hbox_new (false, 0);
   gtk_widget_show (hbox);
-  gtk_box_pack_start (GTK_BOX (hbox), buttonbar, false, true, 0);
+  /* gtk_box_pack_start (GTK_BOX (hbox), buttonbar, false, true, 0); */
   gtk_box_pack_start (GTK_BOX (hbox), globals::program_canvas, true, true, 0);
 
   globals::program_status = gtk_label_new ("");
@@ -300,7 +385,7 @@
 
   gtk_widget_show (globals::program_canvas);
   gtk_widget_show (mainmenu);
-  gtk_widget_show (buttonbar);
+  /* gtk_widget_show (buttonbar); */
   gtk_widget_show (mainbox);
   gtk_widget_show (window);
 
