diff --git a/test/CubeView.cxx b/test/CubeView.cxx
index e45e27ddc90711cc7cf39c194656a27173c86b14..2aa9164c22f5a27d025a24bf3d7c1d0fb159cae9 100644
--- a/test/CubeView.cxx
+++ b/test/CubeView.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: CubeView.cxx,v 1.4.2.4 2001/04/25 13:34:43 easysw Exp $"
+// "$Id: CubeView.cxx,v 1.4.2.4.2.1 2001/12/01 01:54:30 matthiaswm Exp $"
 //
 // CubeView class implementation for the Fast Light Tool Kit (FLTK).
 //
@@ -37,7 +37,9 @@ CubeView::CubeView(int x,int y,int w,int h,const char *l)
 {
     vAng = 0.0;
     hAng=0.0;
-    size=10.0;
+    size=10.0;
+	xshift=0.0;
+	yshift=0.0;
     
     /* The cube definition. These are the vertices of a unit cube
      * centered on the origin.*/
@@ -165,5 +167,5 @@ void CubeView::draw() {
 #endif /* HAVE_GL */
 
 //
-// End of "$Id: CubeView.cxx,v 1.4.2.4 2001/04/25 13:34:43 easysw Exp $".
+// End of "$Id: CubeView.cxx,v 1.4.2.4.2.1 2001/12/01 01:54:30 matthiaswm Exp $".
 //
diff --git a/test/browser.cxx b/test/browser.cxx
index e9cb1e088a518660d2cbf9067586efa5dc0ea1ed..9f31d807d84fc0b36c2598b709834dbdfed853fc 100644
--- a/test/browser.cxx
+++ b/test/browser.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: browser.cxx,v 1.5.2.6.2.1 2001/11/02 20:38:15 easysw Exp $"
+// "$Id: browser.cxx,v 1.5.2.6.2.2 2001/12/01 01:54:30 matthiaswm Exp $"
 //
 // Browser test program for the Fast Light Tool Kit (FLTK).
 //
@@ -113,9 +113,26 @@ int main(int argc, char **argv) {
   browser->callback(b_cb);
   // browser->scrollbar_right();
   //browser->has_scrollbar(Fl_Browser::BOTH_ALWAYS);
-  if (!browser->load(fname)) {
+  if (!browser->load(fname)) {
+#ifdef _MSC_VER
+    // if 'browser' was started from the VisualC environment in Win32, 
+    // the current directory is set to the environment itself, 
+    // so we need to correct the browser file path
+    int done = 1;
+    if ( i == argc ) 
+    {
+      fname = "../test/browser.cxx";
+      done = browser->load(fname);
+    }
+    if ( !done )
+    {
+      printf("Can't load %s, %s\n", fname, strerror(errno));
+      exit(1);
+    }
+#else
     printf("Can't load %s, %s\n", fname, strerror(errno));
-    exit(1);
+    exit(1);
+#endif
   }
   browser->position(0);
 
@@ -140,6 +157,6 @@ int main(int argc, char **argv) {
 }
 
 //
-// End of "$Id: browser.cxx,v 1.5.2.6.2.1 2001/11/02 20:38:15 easysw Exp $".
+// End of "$Id: browser.cxx,v 1.5.2.6.2.2 2001/12/01 01:54:30 matthiaswm Exp $".
 //
 
diff --git a/test/demo.cxx b/test/demo.cxx
index e980070cd10b8c43545039dc53dcafb5bd4b1708..9e1bbdfe75ef9703bf83d454966cb240980e2b7c 100644
--- a/test/demo.cxx
+++ b/test/demo.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: demo.cxx,v 1.8.2.5.2.2 2001/09/29 14:38:59 easysw Exp $"
+// "$Id: demo.cxx,v 1.8.2.5.2.3 2001/12/01 01:54:30 matthiaswm Exp $"
 //
 // Main demo program for the Fast Light Tool Kit (FLTK).
 //
@@ -316,7 +316,12 @@ int main(int argc, char **argv) {
   putenv("FLTK_DOCDIR=../documentation");
   create_the_forms();
   char buf[256];
-  strcpy(buf, argv[0]);
+  strcpy(buf, argv[0]);
+#if defined _MSC_VER && defined _DEBUG
+  // MS_VisualC appends a 'd' to debugging executables. remove it.
+  filename_setext( buf, "" );
+  buf[ strlen(buf)-1 ] = 0;
+#endif
   filename_setext(buf,".menu");
   const char *fname = buf;
   int i = 0;
@@ -335,6 +340,6 @@ int main(int argc, char **argv) {
 }
 
 //
-// End of "$Id: demo.cxx,v 1.8.2.5.2.2 2001/09/29 14:38:59 easysw Exp $".
+// End of "$Id: demo.cxx,v 1.8.2.5.2.3 2001/12/01 01:54:30 matthiaswm Exp $".
 //
 
diff --git a/test/forms.cxx b/test/forms.cxx
index 6fb547d953287a28815af0714c95ad3afd803d41..ba4731ff98ca1a262b9a97ecfb1dee23ade6cd4c 100644
--- a/test/forms.cxx
+++ b/test/forms.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: forms.cxx,v 1.4.2.4 2001/04/13 19:07:40 easysw Exp $"
+// "$Id: forms.cxx,v 1.4.2.4.2.1 2001/12/01 01:54:30 matthiaswm Exp $"
 //
 // Another forms demo for the Fast Light Tool Kit (FLTK).
 //
@@ -60,7 +60,9 @@ static VN_struct btypes[]=
    {FL_ROUNDED3D_UPBOX,"rounded3d upbox"},
    {FL_ROUNDED3D_DOWNBOX,"rounded3d downbox"},
    {FL_OVAL3D_UPBOX,"oval3d upbox"},
-   {FL_OVAL3D_DOWNBOX,"oval3d downbox"},
+   {FL_OVAL3D_DOWNBOX,"oval3d downbox"},
+   {FL_PLASTIC_UP_BOX,"plastic upbox"},
+   {FL_PLASTIC_DOWN_BOX,"plastic downbox"},
    /* sentinel */
    {-1}
 };
@@ -229,5 +231,5 @@ main (int argc, char *argv[])
 }
 
 //
-// End of "$Id: forms.cxx,v 1.4.2.4 2001/04/13 19:07:40 easysw Exp $".
+// End of "$Id: forms.cxx,v 1.4.2.4.2.1 2001/12/01 01:54:30 matthiaswm Exp $".
 //
diff --git a/test/keyboard.cxx b/test/keyboard.cxx
index 087cfeb025bdcde2ba4e5ebb98e70171c379f64c..ce2997782ab03af1fc56dd6901e2d6521b60374c 100644
--- a/test/keyboard.cxx
+++ b/test/keyboard.cxx
@@ -1,5 +1,5 @@
 //
-// "$Id: keyboard.cxx,v 1.5.2.3 2001/01/22 15:13:41 easysw Exp $"
+// "$Id: keyboard.cxx,v 1.5.2.3.2.1 2001/12/01 01:54:30 matthiaswm Exp $"
 //
 // Keyboard/event test program for the Fast Light Tool Kit (FLTK).
 //
@@ -36,18 +36,39 @@
 //
 // Please report all bugs and problems to "fltk-bugs@fltk.org".
 //
+
+
+#include <stdio.h>
+#include <FL/Fl.H>
+#include <FL/Fl_Window.H>
+
+class MyWindow : public Fl_Window {
+  int handle(int);
+public:
+  MyWindow(int w, int h, const char *t=0L) 
+    : Fl_Window( w, h, t ) { }
+};
 
 #include "keyboard_ui.cxx"
-#include <stdio.h>
 
 // these are used to identify which buttons are which:
 void key_cb(Fl_Button*, void*) {}
-void shift_cb(Fl_Button*, void*) {}
+void shift_cb(Fl_Button*, void*) {}
+void wheel_cb(Fl_Button*, void*) {}
 
 // this is used to stop Esc from exiting the program:
 int handle(int e) {
   return (e == FL_SHORTCUT); // eat all keystrokes
 }
+
+int MyWindow::handle(int msg) {
+  if (msg==FL_MOUSEWHEEL)
+  {
+    roller->value( roller->value() + Fl::e_dy * roller->step() );
+    return 1;
+  }
+  return 0;
+}
 
 struct {int n; const char* text;} table[] = {
   {FL_Escape, "FL_Escape"},
@@ -121,11 +142,11 @@ int main(int argc, char** argv) {
     }
     key_output->value(keyname);
 
-    text_output->value(Fl::event_text());
+    text_output->value(Fl::event_text());
   }
   return 0;
 }
 
 //
-// End of "$Id: keyboard.cxx,v 1.5.2.3 2001/01/22 15:13:41 easysw Exp $".
+// End of "$Id: keyboard.cxx,v 1.5.2.3.2.1 2001/12/01 01:54:30 matthiaswm Exp $".
 //
diff --git a/test/keyboard_ui.fl b/test/keyboard_ui.fl
index 791cdce5f27d12e856c7ac916eeae0c777d5b281..b74d180a818cd476d01edbde2d1abbafa04f56d9 100644
--- a/test/keyboard_ui.fl
+++ b/test/keyboard_ui.fl
@@ -1,696 +1,702 @@
-# data file for FL User Interface Designer (fluid)
-version 0.99 
-gridx 5 
-gridy 5 
-snap 3
-Function {make_window()} {open
-} {
-  Fl_Window {} {open
-    xywh {118 466 494 193}
-  } {
-    Fl_Button {} {
-      label {Esc }
-      user_data FL_Escape user_data_type {void*}
-      callback key_cb open
-      xywh {15 50 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label F1
-      user_data {FL_F+1} user_data_type {void*}
-      callback key_cb open
-      xywh {50 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F2
-      user_data {FL_F+2} user_data_type {void*}
-      callback key_cb open
-      xywh {70 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F3
-      user_data {FL_F+3} user_data_type {void*}
-      callback key_cb open
-      xywh {90 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F4
-      user_data {FL_F+4} user_data_type {void*}
-      callback key_cb open
-      xywh {110 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F5
-      user_data {FL_F+5} user_data_type {void*}
-      callback key_cb open
-      xywh {140 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F6
-      user_data {FL_F+6} user_data_type {void*}
-      callback key_cb open
-      xywh {160 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F7
-      user_data {FL_F+7} user_data_type {void*}
-      callback key_cb open
-      xywh {180 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F8
-      user_data {FL_F+8} user_data_type {void*}
-      callback key_cb open
-      xywh {200 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F9
-      user_data {FL_F+9} user_data_type {void*}
-      callback key_cb open
-      xywh {230 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F10
-      user_data {FL_F+10} user_data_type {void*}
-      callback key_cb open
-      xywh {250 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F11
-      user_data {FL_F+11} user_data_type {void*}
-      callback key_cb open
-      xywh {270 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F12
-      user_data {FL_F+12} user_data_type {void*}
-      callback key_cb open
-      xywh {290 50 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {Print }
-      user_data FL_Print user_data_type {void*}
-      callback key_cb open
-      xywh {325 50 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {Sclk }
-      user_data FL_Scroll_Lock user_data_type {void*}
-      callback key_cb open
-      xywh {345 50 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {Paus }
-      user_data FL_Pause user_data_type {void*}
-      callback key_cb open
-      xywh {365 50 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {`}
-      callback key_cb open
-      xywh {15 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 1
-      callback key_cb open
-      xywh {35 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 2
-      callback key_cb open
-      xywh {55 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 3
-      callback key_cb open
-      xywh {75 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 4
-      callback key_cb open
-      xywh {95 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 5
-      callback key_cb open
-      xywh {115 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 6
-      callback key_cb open
-      xywh {135 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 7
-      callback key_cb open
-      xywh {155 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 8
-      callback key_cb open
-      xywh {175 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 9
-      callback key_cb open
-      xywh {195 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 0
-      callback key_cb open
-      xywh {215 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {-}
-      callback key_cb open
-      xywh {235 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {=}
-      callback key_cb open
-      xywh {255 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label Bksp
-      user_data FL_BackSpace user_data_type {void*}
-      callback key_cb open
-      xywh {275 80 35 20} labeltype 2 labelsize 8 align 20
-    }
-    Fl_Button {} {
-      label {Ins }
-      user_data FL_Insert user_data_type {void*}
-      callback key_cb open
-      xywh {325 80 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label Home
-      user_data FL_Home user_data_type {void*}
-      callback key_cb open
-      xywh {345 80 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {pgup }
-      user_data FL_Page_Up user_data_type {void*}
-      callback key_cb open
-      xywh {365 80 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label Num
-      user_data FL_Num_Lock user_data_type {void*}
-      callback key_cb open
-      xywh {400 80 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {/}
-      user_data {FL_KP+'/'} user_data_type {void*}
-      callback key_cb open
-      xywh {420 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {*}
-      user_data {FL_KP+'*'} user_data_type {void*}
-      callback key_cb open
-      xywh {440 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {-}
-      user_data {FL_KP+'-'} user_data_type {void*}
-      callback key_cb open
-      xywh {460 80 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label Tab
-      user_data FL_Tab user_data_type {void*}
-      callback key_cb open
-      xywh {15 100 27 20} labelsize 8 align 20
-    }
-    Fl_Button {} {
-      label Q
-      callback key_cb open
-      xywh {42 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label W
-      callback key_cb open
-      xywh {62 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label E
-      callback key_cb open
-      xywh {82 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label R
-      callback key_cb open
-      xywh {102 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label T
-      callback key_cb open
-      xywh {122 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label Y
-      callback key_cb open
-      xywh {142 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label U
-      callback key_cb open
-      xywh {162 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label I
-      callback key_cb open
-      xywh {182 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label O
-      callback key_cb open
-      xywh {202 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label P
-      callback key_cb open
-      xywh {222 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {[}
-      callback key_cb open
-      xywh {242 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {]}
-      callback key_cb open
-      xywh {262 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {\\}
-      user_data {'|'}
-      callback key_cb open
-      xywh {282 100 28 20} labelsize 10 align 20
-    }
-    Fl_Button {} {
-      label {Del }
-      user_data FL_Delete user_data_type {void*}
-      callback key_cb open
-      xywh {325 100 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {End }
-      user_data FL_End user_data_type {void*}
-      callback key_cb open
-      xywh {345 100 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {pgdn }
-      user_data FL_Page_Down user_data_type {void*}
-      callback key_cb open
-      xywh {365 100 20 20} labelsize 8
-    }
-    Fl_Button {} {
-      label 7
-      user_data {FL_KP+'7'} user_data_type {void*}
-      callback key_cb open
-      xywh {400 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 8
-      user_data {FL_KP+'8'} user_data_type {void*}
-      callback key_cb open
-      xywh {420 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 9
-      user_data {FL_KP+'9'} user_data_type {void*}
-      callback key_cb open
-      xywh {440 100 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {+}
-      user_data {FL_KP+'+'} user_data_type {void*}
-      callback key_cb open
-      xywh {460 100 20 40} labelsize 10 align 17
-    }
-    Fl_Button {} {
-      label Lock
-      user_data FL_Caps_Lock user_data_type {void*}
-      callback key_cb open
-      xywh {15 120 36 20} labelsize 8 align 20
-    }
-    Fl_Button {} {
-      label A
-      callback key_cb open
-      xywh {51 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label S
-      callback key_cb open
-      xywh {71 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label D
-      callback key_cb open
-      xywh {91 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label F
-      callback key_cb open
-      xywh {111 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label G
-      callback key_cb open
-      xywh {131 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label H
-      callback key_cb open
-      xywh {151 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label J
-      callback key_cb open
-      xywh {171 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label K
-      callback key_cb open
-      xywh {191 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label L
-      callback key_cb open
-      xywh {211 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {;}
-      callback key_cb open
-      xywh {231 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {'}
-      callback key_cb open
-      xywh {251 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label Enter
-      user_data FL_Enter user_data_type {void*}
-      callback key_cb open
-      xywh {271 120 39 20} labelsize 8 align 20
-    }
-    Fl_Button {} {
-      label 4
-      user_data {FL_KP+'4'} user_data_type {void*}
-      callback key_cb open
-      xywh {400 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 5
-      user_data {FL_KP+'5'} user_data_type {void*}
-      callback key_cb open
-      xywh {420 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 6
-      user_data {FL_KP+'6'} user_data_type {void*}
-      callback key_cb open
-      xywh {440 120 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label Shift
-      user_data FL_Shift_L user_data_type {void*}
-      callback key_cb open
-      xywh {15 140 45 20} labelsize 8 align 20
-    }
-    Fl_Button {} {
-      label Z
-      callback key_cb open
-      xywh {60 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label X
-      callback key_cb open
-      xywh {80 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label C
-      callback key_cb open
-      xywh {100 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label V
-      callback key_cb open
-      xywh {120 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label B
-      callback key_cb open
-      xywh {140 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label N
-      callback key_cb open
-      xywh {160 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label M
-      callback key_cb open
-      xywh {180 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {,}
-      callback key_cb open
-      xywh {200 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {.}
-      callback key_cb open
-      xywh {220 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {/}
-      callback key_cb open
-      xywh {240 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label Shift
-      user_data FL_Shift_R user_data_type {void*}
-      callback key_cb open
-      xywh {260 140 50 20} labelsize 8 align 20
-    }
-    Fl_Button {} {
-      label {@8->}
-      user_data FL_Up user_data_type {void*}
-      callback key_cb open
-      xywh {345 140 20 20} labeltype 2 labelsize 10 labelcolor 47
-    }
-    Fl_Button {} {
-      label 1
-      user_data {FL_KP+'1'} user_data_type {void*}
-      callback key_cb open
-      xywh {400 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 2
-      user_data {FL_KP+'2'} user_data_type {void*}
-      callback key_cb open
-      xywh {420 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label 3
-      user_data {FL_KP+'3'} user_data_type {void*}
-      callback key_cb open
-      xywh {440 140 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      user_data FL_KP_Enter user_data_type {void*}
-      callback key_cb open
-      xywh {460 140 20 40}
-    }
-    Fl_Button {} {
-      label Ctrl
-      user_data FL_Control_L user_data_type {void*}
-      callback key_cb open
-      xywh {15 160 30 20} labelsize 8 align 20
-    }
-    Fl_Button {} {
-      label {Meta }
-      user_data FL_Meta_L user_data_type {void*}
-      callback key_cb open
-      xywh {45 160 30 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {Alt }
-      user_data FL_Alt_L user_data_type {void*}
-      callback key_cb open
-      xywh {75 160 30 20} labelsize 8
-    }
-    Fl_Button {} {
-      user_data {' '} user_data_type {void*}
-      callback key_cb open
-      xywh {105 160 85 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {Alt }
-      user_data FL_Alt_R user_data_type {void*}
-      callback key_cb open
-      xywh {190 160 30 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {Meta }
-      user_data FL_Meta_R user_data_type {void*}
-      callback key_cb open
-      xywh {220 160 30 20} labelsize 8
-    }
-    Fl_Button {} {
-      label {Menu }
-      user_data FL_Menu user_data_type {void*}
-      callback key_cb open
-      xywh {250 160 30 20} labelsize 8
-    }
-    Fl_Button {} {
-      label Ctrl
-      user_data FL_Control_R user_data_type {void*}
-      callback key_cb open
-      xywh {280 160 30 20} labelsize 8 align 20
-    }
-    Fl_Button {} {
-      label {@4->}
-      user_data FL_Left user_data_type {void*}
-      callback key_cb open
-      xywh {325 160 20 20} labeltype 2 labelsize 10 labelcolor 47
-    }
-    Fl_Button {} {
-      label {@2->}
-      user_data FL_Down user_data_type {void*}
-      callback key_cb open
-      xywh {345 160 20 20} labeltype 2 labelsize 10 labelcolor 47
-    }
-    Fl_Button {} {
-      label {@6->}
-      user_data FL_Right user_data_type {void*}
-      callback key_cb open
-      xywh {365 160 20 20} labeltype 2 labelsize 10 labelcolor 47
-    }
-    Fl_Button {} {
-      label 0
-      user_data {FL_KP+'0'} user_data_type {void*}
-      callback key_cb open
-      xywh {400 160 40 20} labelsize 10 align 20
-    }
-    Fl_Button {} {
-      label {.}
-      user_data {FL_KP+'.'} user_data_type {void*}
-      callback key_cb open
-      xywh {440 160 20 20} labelsize 10
-    }
-    Fl_Button {} {
-      label {shift }
-      user_data FL_SHIFT user_data_type {void*}
-      callback shift_cb open
-      xywh {400 15 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label {lock }
-      user_data FL_CAPS_LOCK user_data_type {void*}
-      callback shift_cb open
-      xywh {420 15 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label ctrl
-      user_data FL_CTRL user_data_type {void*}
-      callback shift_cb open
-      xywh {440 15 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label alt
-      user_data FL_ALT user_data_type {void*}
-      callback shift_cb open
-      xywh {460 15 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label num
-      user_data FL_NUM_LOCK user_data_type {void*}
-      callback shift_cb open
-      xywh {400 25 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label {?}
-      user_data 0x20 user_data_type {void*}
-      callback shift_cb open
-      xywh {420 25 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label {meta }
-      user_data FL_META user_data_type {void*}
-      callback shift_cb open
-      xywh {440 25 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label sclk
-      user_data FL_SCROLL_LOCK user_data_type {void*}
-      callback shift_cb open
-      xywh {460 25 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label b1
-      user_data FL_BUTTON1 user_data_type {void*}
-      callback shift_cb open
-      xywh {400 35 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label b2
-      user_data FL_BUTTON2 user_data_type {void*}
-      callback shift_cb open
-      xywh {420 35 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label b3
-      user_data FL_BUTTON3 user_data_type {void*}
-      callback shift_cb open
-      xywh {440 35 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label {?}
-      user_data 0x800 user_data_type {void*}
-      callback shift_cb open
-      xywh {460 35 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label {?}
-      user_data 0x1000 user_data_type {void*}
-      callback shift_cb open
-      xywh {400 45 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label {?}
-      user_data 0x2000 user_data_type {void*}
-      callback shift_cb open
-      xywh {420 45 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label {?}
-      user_data 0x4000 user_data_type {void*}
-      callback shift_cb open
-      xywh {440 45 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Button {} {
-      label {?}
-      user_data 0x8000 user_data_type {void*}
-      callback shift_cb open
-      xywh {460 45 20 10} box 6 color {47 3} labelsize 8
-    }
-    Fl_Output key_output {
-      label {Fl::event_key():} open
-      xywh {15 15 170 30} labelsize 8 align 5
-    }
-    Fl_Box {} {
-      label {Fl::event_state():} open
-      xywh {395 15 85 40} labelsize 8 align 5
-    }
-    Fl_Output text_output {
-      label {Fl::event_text():} open selected
-      xywh {195 15 190 30} labelsize 8 align 5
-    }
-  }
-} 
+# data file for the Fltk User Interface Designer (fluid)
+version 1.0100 
+header_name {.h} 
+code_name {.cxx} 
+gridx 5 
+gridy 5 
+snap 3
+Function {make_window()} {open
+} {
+  Fl_Window my_window {open
+    xywh {461 296 496 193}
+    class MyWindow visible
+  } {
+    Fl_Button {} {
+      label {Esc }
+      user_data FL_Escape user_data_type {void*}
+      callback key_cb
+      xywh {15 50 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label F1
+      user_data {FL_F+1} user_data_type {void*}
+      callback key_cb
+      xywh {50 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F2
+      user_data {FL_F+2} user_data_type {void*}
+      callback key_cb
+      xywh {70 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F3
+      user_data {FL_F+3} user_data_type {void*}
+      callback key_cb
+      xywh {90 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F4
+      user_data {FL_F+4} user_data_type {void*}
+      callback key_cb
+      xywh {110 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F5
+      user_data {FL_F+5} user_data_type {void*}
+      callback key_cb
+      xywh {140 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F6
+      user_data {FL_F+6} user_data_type {void*}
+      callback key_cb
+      xywh {160 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F7
+      user_data {FL_F+7} user_data_type {void*}
+      callback key_cb
+      xywh {180 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F8
+      user_data {FL_F+8} user_data_type {void*}
+      callback key_cb
+      xywh {200 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F9
+      user_data {FL_F+9} user_data_type {void*}
+      callback key_cb
+      xywh {230 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F10
+      user_data {FL_F+10} user_data_type {void*}
+      callback key_cb
+      xywh {250 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F11
+      user_data {FL_F+11} user_data_type {void*}
+      callback key_cb
+      xywh {270 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F12
+      user_data {FL_F+12} user_data_type {void*}
+      callback key_cb
+      xywh {290 50 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {Print }
+      user_data FL_Print user_data_type {void*}
+      callback key_cb
+      xywh {325 50 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {Sclk }
+      user_data FL_Scroll_Lock user_data_type {void*}
+      callback key_cb
+      xywh {345 50 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {Paus }
+      user_data FL_Pause user_data_type {void*}
+      callback key_cb
+      xywh {365 50 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {`}
+      callback key_cb
+      xywh {15 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 1
+      callback key_cb
+      xywh {35 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 2
+      callback key_cb
+      xywh {55 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 3
+      callback key_cb
+      xywh {75 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 4
+      callback key_cb
+      xywh {95 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 5
+      callback key_cb
+      xywh {115 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 6
+      callback key_cb
+      xywh {135 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 7
+      callback key_cb
+      xywh {155 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 8
+      callback key_cb
+      xywh {175 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 9
+      callback key_cb
+      xywh {195 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 0
+      callback key_cb
+      xywh {215 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {-}
+      callback key_cb
+      xywh {235 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {=}
+      callback key_cb
+      xywh {255 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label Bksp
+      user_data FL_BackSpace user_data_type {void*}
+      callback key_cb
+      xywh {275 80 35 20} labeltype SHADOW_LABEL labelsize 8 align 20
+    }
+    Fl_Button {} {
+      label {Ins }
+      user_data FL_Insert user_data_type {void*}
+      callback key_cb
+      xywh {325 80 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label Home
+      user_data FL_Home user_data_type {void*}
+      callback key_cb
+      xywh {345 80 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {pgup }
+      user_data FL_Page_Up user_data_type {void*}
+      callback key_cb
+      xywh {365 80 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label Num
+      user_data FL_Num_Lock user_data_type {void*}
+      callback key_cb
+      xywh {400 80 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {/}
+      user_data {FL_KP+'/'} user_data_type {void*}
+      callback key_cb
+      xywh {420 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {*}
+      user_data {FL_KP+'*'} user_data_type {void*}
+      callback key_cb
+      xywh {440 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {-}
+      user_data {FL_KP+'-'} user_data_type {void*}
+      callback key_cb
+      xywh {460 80 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label Tab
+      user_data FL_Tab user_data_type {void*}
+      callback key_cb
+      xywh {15 100 27 20} labelsize 8 align 20
+    }
+    Fl_Button {} {
+      label Q
+      callback key_cb
+      xywh {42 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label W
+      callback key_cb
+      xywh {62 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label E
+      callback key_cb
+      xywh {82 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label R
+      callback key_cb
+      xywh {102 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label T
+      callback key_cb
+      xywh {122 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label Y
+      callback key_cb
+      xywh {142 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label U
+      callback key_cb
+      xywh {162 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label I
+      callback key_cb
+      xywh {182 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label O
+      callback key_cb
+      xywh {202 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label P
+      callback key_cb
+      xywh {222 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {[}
+      callback key_cb
+      xywh {242 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {]}
+      callback key_cb
+      xywh {262 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {\\}
+      user_data {'|'}
+      callback key_cb
+      xywh {282 100 28 20} labelsize 10 align 20
+    }
+    Fl_Button {} {
+      label {Del }
+      user_data FL_Delete user_data_type {void*}
+      callback key_cb
+      xywh {325 100 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {End }
+      user_data FL_End user_data_type {void*}
+      callback key_cb
+      xywh {345 100 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {pgdn }
+      user_data FL_Page_Down user_data_type {void*}
+      callback key_cb
+      xywh {365 100 20 20} labelsize 8
+    }
+    Fl_Button {} {
+      label 7
+      user_data {FL_KP+'7'} user_data_type {void*}
+      callback key_cb
+      xywh {400 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 8
+      user_data {FL_KP+'8'} user_data_type {void*}
+      callback key_cb
+      xywh {420 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 9
+      user_data {FL_KP+'9'} user_data_type {void*}
+      callback key_cb
+      xywh {440 100 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {+}
+      user_data {FL_KP+'+'} user_data_type {void*}
+      callback key_cb
+      xywh {460 100 20 40} labelsize 10 align 17
+    }
+    Fl_Button {} {
+      label Lock
+      user_data FL_Caps_Lock user_data_type {void*}
+      callback key_cb
+      xywh {15 120 36 20} labelsize 8 align 20
+    }
+    Fl_Button {} {
+      label A
+      callback key_cb
+      xywh {51 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label S
+      callback key_cb
+      xywh {71 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label D
+      callback key_cb
+      xywh {91 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label F
+      callback key_cb
+      xywh {111 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label G
+      callback key_cb
+      xywh {131 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label H
+      callback key_cb
+      xywh {151 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label J
+      callback key_cb
+      xywh {171 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label K
+      callback key_cb
+      xywh {191 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label L
+      callback key_cb
+      xywh {211 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {;}
+      callback key_cb
+      xywh {231 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {'}
+      callback key_cb
+      xywh {251 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label Enter
+      user_data FL_Enter user_data_type {void*}
+      callback key_cb
+      xywh {271 120 39 20} labelsize 8 align 20
+    }
+    Fl_Button {} {
+      label 4
+      user_data {FL_KP+'4'} user_data_type {void*}
+      callback key_cb
+      xywh {400 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 5
+      user_data {FL_KP+'5'} user_data_type {void*}
+      callback key_cb
+      xywh {420 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 6
+      user_data {FL_KP+'6'} user_data_type {void*}
+      callback key_cb
+      xywh {440 120 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label Shift
+      user_data FL_Shift_L user_data_type {void*}
+      callback key_cb
+      xywh {15 140 45 20} labelsize 8 align 20
+    }
+    Fl_Button {} {
+      label Z
+      callback key_cb
+      xywh {60 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label X
+      callback key_cb
+      xywh {80 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label C
+      callback key_cb
+      xywh {100 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label V
+      callback key_cb
+      xywh {120 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label B
+      callback key_cb
+      xywh {140 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label N
+      callback key_cb
+      xywh {160 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label M
+      callback key_cb
+      xywh {180 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {,}
+      callback key_cb
+      xywh {200 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {.}
+      callback key_cb
+      xywh {220 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {/}
+      callback key_cb
+      xywh {240 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label Shift
+      user_data FL_Shift_R user_data_type {void*}
+      callback key_cb
+      xywh {260 140 50 20} labelsize 8 align 20
+    }
+    Fl_Button {} {
+      label {@8->}
+      user_data FL_Up user_data_type {void*}
+      callback key_cb
+      xywh {345 140 20 20} labeltype SHADOW_LABEL labelsize 10 labelcolor 47
+    }
+    Fl_Button {} {
+      label 1
+      user_data {FL_KP+'1'} user_data_type {void*}
+      callback key_cb
+      xywh {400 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 2
+      user_data {FL_KP+'2'} user_data_type {void*}
+      callback key_cb
+      xywh {420 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label 3
+      user_data {FL_KP+'3'} user_data_type {void*}
+      callback key_cb
+      xywh {440 140 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      user_data FL_KP_Enter user_data_type {void*}
+      callback key_cb
+      xywh {460 140 20 40}
+    }
+    Fl_Button {} {
+      label Ctrl
+      user_data FL_Control_L user_data_type {void*}
+      callback key_cb
+      xywh {15 160 30 20} labelsize 8 align 20
+    }
+    Fl_Button {} {
+      label {Meta }
+      user_data FL_Meta_L user_data_type {void*}
+      callback key_cb
+      xywh {45 160 30 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {Alt }
+      user_data FL_Alt_L user_data_type {void*}
+      callback key_cb
+      xywh {75 160 30 20} labelsize 8
+    }
+    Fl_Button {} {
+      user_data {' '} user_data_type {void*}
+      callback key_cb
+      xywh {105 160 85 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {Alt }
+      user_data FL_Alt_R user_data_type {void*}
+      callback key_cb
+      xywh {190 160 30 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {Meta }
+      user_data FL_Meta_R user_data_type {void*}
+      callback key_cb
+      xywh {220 160 30 20} labelsize 8
+    }
+    Fl_Button {} {
+      label {Menu }
+      user_data FL_Menu user_data_type {void*}
+      callback key_cb
+      xywh {250 160 30 20} labelsize 8
+    }
+    Fl_Button {} {
+      label Ctrl
+      user_data FL_Control_R user_data_type {void*}
+      callback key_cb
+      xywh {280 160 30 20} labelsize 8 align 20
+    }
+    Fl_Button {} {
+      label {@4->}
+      user_data FL_Left user_data_type {void*}
+      callback key_cb
+      xywh {325 160 20 20} labeltype SHADOW_LABEL labelsize 10 labelcolor 47
+    }
+    Fl_Button {} {
+      label {@2->}
+      user_data FL_Down user_data_type {void*}
+      callback key_cb
+      xywh {345 160 20 20} labeltype SHADOW_LABEL labelsize 10 labelcolor 47
+    }
+    Fl_Button {} {
+      label {@6->}
+      user_data FL_Right user_data_type {void*}
+      callback key_cb
+      xywh {365 160 20 20} labeltype SHADOW_LABEL labelsize 10 labelcolor 47
+    }
+    Fl_Button {} {
+      label 0
+      user_data {FL_KP+'0'} user_data_type {void*}
+      callback key_cb
+      xywh {400 160 40 20} labelsize 10 align 20
+    }
+    Fl_Button {} {
+      label {.}
+      user_data {FL_KP+'.'} user_data_type {void*}
+      callback key_cb
+      xywh {440 160 20 20} labelsize 10
+    }
+    Fl_Button {} {
+      label {shift }
+      user_data FL_SHIFT user_data_type {void*}
+      callback shift_cb
+      xywh {400 15 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label {lock }
+      user_data FL_CAPS_LOCK user_data_type {void*}
+      callback shift_cb
+      xywh {420 15 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label ctrl
+      user_data FL_CTRL user_data_type {void*}
+      callback shift_cb
+      xywh {440 15 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label alt
+      user_data FL_ALT user_data_type {void*}
+      callback shift_cb
+      xywh {460 15 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label num
+      user_data FL_NUM_LOCK user_data_type {void*}
+      callback shift_cb
+      xywh {400 25 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label {?}
+      user_data 0x20 user_data_type {void*}
+      callback shift_cb
+      xywh {420 25 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label {meta }
+      user_data FL_META user_data_type {void*}
+      callback shift_cb
+      xywh {440 25 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label sclk
+      user_data FL_SCROLL_LOCK user_data_type {void*}
+      callback shift_cb
+      xywh {460 25 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label b1
+      user_data FL_BUTTON1 user_data_type {void*}
+      callback shift_cb
+      xywh {400 35 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label b2
+      user_data FL_BUTTON2 user_data_type {void*}
+      callback shift_cb
+      xywh {420 35 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label b3
+      user_data FL_BUTTON3 user_data_type {void*}
+      callback shift_cb
+      xywh {440 35 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label whl
+      user_data 0x800 user_data_type {void*}
+      callback shift_cb
+      xywh {460 35 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label {?}
+      user_data 0x1000 user_data_type {void*}
+      callback shift_cb
+      xywh {400 45 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label {?}
+      user_data 0x2000 user_data_type {void*}
+      callback shift_cb
+      xywh {420 45 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label {?}
+      user_data 0x4000 user_data_type {void*}
+      callback shift_cb
+      xywh {440 45 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Button {} {
+      label {?}
+      user_data 0x8000 user_data_type {void*}
+      callback shift_cb
+      xywh {460 45 20 10} box THIN_UP_BOX selection_color 3 labelsize 8
+    }
+    Fl_Output key_output {
+      label {Fl::event_key():}
+      xywh {15 15 170 30} labelsize 8 align 5
+    }
+    Fl_Box {} {
+      label {Fl::event_state():}
+      xywh {395 15 85 40} labelsize 8 align 5
+    }
+    Fl_Output text_output {
+      label {Fl::event_text():}
+      xywh {195 15 190 30} labelsize 8 align 5
+    }
+    Fl_Roller roller {selected
+      xywh {480 15 10 40} maximum 0
+    }
+  }
+} 
diff --git a/test/valuators.fl b/test/valuators.fl
index c678363f766bd07476f55011de609e505d660309..505bab28b75b595849752c56a0b0c7b325bda2ab 100644
--- a/test/valuators.fl
+++ b/test/valuators.fl
@@ -1,190 +1,189 @@
-# data file for the Fltk User Interface Designer (fluid)
-version 1.00 
-header_name {.h} 
-code_name {.cxx} 
-gridx 5 
-gridy 5 
-snap 3
-Function {callback(Fl_Widget* o, void*)} {open private return_type void
-} {
-  code {printf("%g     \\r", ((Fl_Valuator*)o)->value());
-fflush(stdout);} {selected
-  }
-} 
-
-Function {} {open
-} {
-  Fl_Window {} {
-    label {Valuator classes, showing values for type()} open
-    xywh {382 441 567 506} color 43 selection_color 43
-    code0 {\#include <stdio.h>} visible
-  } {
-    Fl_Box {} {
-      label Fl_Slider
-      xywh {10 10 280 210} box ENGRAVED_BOX labelfont 1 align 17
-    }
-    Fl_Slider {} {
-      label 0
-      callback callback
-      xywh {30 45 20 145} selection_color 1 labelsize 8 align 1
-    }
-    Fl_Slider {} {
-      label FL_VERT_FILL_SLIDER
-      callback callback
-      xywh {70 55 20 145} type {Vert Fill} selection_color 1 labelsize 8
-    }
-    Fl_Slider {} {
-      label FL_VERT_NICE_SLIDER
-      callback callback
-      xywh {105 45 20 145} type {Vert Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8 align 1
-    }
-    Fl_Box {} {
-      label Fl_Value_Slider
-      xywh {10 230 280 205} box ENGRAVED_BOX labelfont 1 align 17
-    }
-    Fl_Value_Slider {} {
-      label 0
-      callback callback
-      xywh {30 260 30 145} selection_color 1 labelsize 8 align 1
-    }
-    Fl_Value_Slider {} {
-      label FL_VERT_FILL_SLIDER
-      callback callback
-      xywh {70 275 30 140} type {Vert Fill} selection_color 1 labelsize 8
-    }
-    Fl_Value_Slider {} {
-      label FL_VERT_NICE_SLIDER
-      callback callback
-      xywh {110 260 20 145} type {Vert Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8 align 1
-    }
-    Fl_Slider {} {
-      label FL_HORIZONTAL
-      callback callback
-      xywh {140 80 130 20} type Horizontal selection_color 1 labelsize 8
-    }
-    Fl_Slider {} {
-      label FL_HOR_FILL_SLIDER
-      callback callback
-      xywh {140 120 130 20} type {Horz Fill} selection_color 1 labelsize 8
-    }
-    Fl_Slider {} {
-      label FL_HOR_NICE_SLIDER
-      callback callback
-      xywh {140 160 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
-    }
-    Fl_Value_Slider {} {
-      label FL_HOR_SLIDER
-      callback callback
-      xywh {140 290 130 20} type Horizontal selection_color 1 labelsize 8
-    }
-    Fl_Value_Slider {} {
-      label FL_HOR_FILL_SLIDER
-      callback callback
-      xywh {140 330 130 20} type {Horz Fill} selection_color 1 labelsize 8
-    }
-    Fl_Box {} {
-      label Fl_Adjuster
-      xywh {430 10 125 120} box ENGRAVED_BOX labelfont 1 align 17
-    }
-    Fl_Value_Slider {} {
-      label FL_HOR_NICE_SLIDER
-      callback callback
-      xywh {140 370 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
-    }
-    Fl_Adjuster {} {
-      label {w()>h()}
-      callback callback
-      xywh {440 60 75 25} labelsize 8
-    }
-    Fl_Adjuster {} {
-      label {w()<h()}
-      callback callback
-      xywh {520 35 25 75} labelsize 8
-    }
-    Fl_Box {} {
-      label Fl_Counter
-      xywh {345 135 210 115} box ENGRAVED_BOX labelfont 1 align 17
-    }
-    Fl_Counter {} {
-      label 0
-      callback callback
-      xywh {360 160 180 30} labelsize 8
-    }
-    Fl_Counter {} {
-      label FL_SIMPLE_COUNTER
-      callback callback
-      xywh {360 205 180 30} type Simple labelsize 8
-    }
-    Fl_Box {} {
-      label Fl_Dial
-      xywh {300 260 255 105} box ENGRAVED_BOX labelfont 1 align 17
-    }
-    Fl_Dial {} {
-      label 0
-      callback callback
-      xywh {315 280 65 65} color 10 selection_color 1 labelsize 8 value 0.5
-      code0 {o->angles(0,315);}
-    }
-    Fl_Dial {} {
-      label FL_LINE_DIAL
-      callback callback
-      xywh {395 280 65 65} type Line color 10 selection_color 1 labelsize 8 value 0.5
-    }
-    Fl_Dial {} {
-      label FL_FILL_DIAL
-      callback callback
-      xywh {475 280 65 65} type Fill color 10 selection_color 1 labelsize 8 value 1
-      code0 {o->angles(0,360);}
-    }
-    Fl_Box {} {
-      label Fl_Roller
-      xywh {300 375 145 120} box ENGRAVED_BOX labelfont 1 align 17
-    }
-    Fl_Roller {} {
-      label 0
-      callback callback
-      xywh {315 390 20 95} labelsize 8
-    }
-    Fl_Roller {} {
-      label FL_HORIZONTAL
-      callback callback
-      xywh {340 430 90 20} type Horizontal labelsize 8
-    }
-    Fl_Box {} {
-      label Fl_Value_Input
-      xywh {10 445 140 50} box ENGRAVED_BOX labelfont 1 align 17
-    }
-    Fl_Box {} {
-      label {Some widgets have color(FL_GREEN) and color2(FL_RED) to show the areas these effect.}
-      xywh {455 375 100 120} box BORDER_FRAME color 0 selection_color 0 labelsize 10 align 128
-    }
-    Fl_Box {} {
-      label Fl_Value_Output
-      xywh {155 445 135 50} box ENGRAVED_BOX labelfont 1 align 17
-    }
-    Fl_Value_Input {} {
-      label 0
-      callback callback
-      xywh {30 460 110 30} labelsize 8 maximum 100 step 0.1
-    }
-    Fl_Value_Output {} {
-      label 0
-      callback callback
-      xywh {170 460 110 30} labelsize 8 maximum 100 step 0.1
-    }
-    Fl_Box {} {
-      label {   Fl_Scrollbar}
-      xywh {295 10 130 120} box ENGRAVED_BOX labelfont 1 align 21
-    }
-    Fl_Scrollbar {} {
-      label 0
-      callback callback
-      xywh {395 20 20 105} labelsize 8 align 1 maximum 100
-    }
-    Fl_Scrollbar {} {
-      label FL_HORIZONTAL
-      callback callback
-      xywh {300 65 95 20} type Horizontal labelsize 8 maximum 100
-    }
-  }
-} 
+# data file for the Fltk User Interface Designer (fluid)
+version 1.0100 
+header_name {.h} 
+code_name {.cxx} 
+gridx 5 
+gridy 5 
+snap 3
+Function {callback(Fl_Widget* o, void*)} {open private return_type void
+} {
+  code {printf("%g     \\r", ((Fl_Valuator*)o)->value());
+fflush(stdout);} {}
+} 
+
+Function {} {open
+} {
+  Fl_Window {} {
+    label {Valuator classes, showing values for type()} open
+    xywh {382 441 567 506} color 43 selection_color 43
+    code0 {\#include <stdio.h>} visible
+  } {
+    Fl_Box {} {
+      label Fl_Slider
+      xywh {10 10 280 210} box ENGRAVED_BOX labelfont 1 align 17
+    }
+    Fl_Slider {} {
+      label 0
+      callback callback
+      xywh {30 45 20 145} selection_color 1 labelsize 8 align 1
+    }
+    Fl_Slider {} {
+      label FL_VERT_FILL_SLIDER
+      callback callback
+      xywh {70 55 20 145} type {Vert Fill} selection_color 1 labelsize 8
+    }
+    Fl_Slider {} {
+      label FL_VERT_NICE_SLIDER
+      callback callback
+      xywh {105 45 20 145} type {Vert Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8 align 1
+    }
+    Fl_Box {} {
+      label Fl_Value_Slider
+      xywh {10 230 280 205} box ENGRAVED_BOX labelfont 1 align 17
+    }
+    Fl_Value_Slider {} {
+      label 0
+      callback callback
+      xywh {30 260 30 145} selection_color 1 labelsize 8 align 1
+    }
+    Fl_Value_Slider {} {
+      label FL_VERT_FILL_SLIDER
+      callback callback
+      xywh {70 275 30 140} type {Vert Fill} selection_color 1 labelsize 8
+    }
+    Fl_Value_Slider {} {
+      label FL_VERT_NICE_SLIDER
+      callback callback
+      xywh {110 260 20 145} type {Vert Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8 align 1
+    }
+    Fl_Slider {} {
+      label FL_HORIZONTAL
+      callback callback
+      xywh {140 80 130 20} type Horizontal selection_color 1 labelsize 8
+    }
+    Fl_Slider {} {
+      label FL_HOR_FILL_SLIDER
+      callback callback
+      xywh {140 120 130 20} type {Horz Fill} selection_color 1 labelsize 8
+    }
+    Fl_Slider {} {
+      label FL_HOR_NICE_SLIDER
+      callback callback
+      xywh {140 160 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
+    }
+    Fl_Value_Slider {} {
+      label FL_HOR_SLIDER
+      callback callback
+      xywh {140 290 130 20} type Horizontal selection_color 1 labelsize 8
+    }
+    Fl_Value_Slider {} {
+      label FL_HOR_FILL_SLIDER
+      callback callback
+      xywh {140 330 130 20} type {Horz Fill} selection_color 1 labelsize 8
+    }
+    Fl_Box {} {
+      label Fl_Adjuster
+      xywh {430 10 125 120} box ENGRAVED_BOX labelfont 1 align 17
+    }
+    Fl_Value_Slider {} {
+      label FL_HOR_NICE_SLIDER
+      callback callback selected
+      xywh {140 370 130 20} type {Horz Knob} box FLAT_BOX color 10 selection_color 1 labelsize 8
+    }
+    Fl_Adjuster {} {
+      label {w()>h()}
+      callback callback
+      xywh {440 60 75 25} labelsize 8
+    }
+    Fl_Adjuster {} {
+      label {w()<h()}
+      callback callback
+      xywh {520 35 25 75} labelsize 8
+    }
+    Fl_Box {} {
+      label Fl_Counter
+      xywh {345 135 210 115} box ENGRAVED_BOX labelfont 1 align 17
+    }
+    Fl_Counter {} {
+      label 0
+      callback callback
+      xywh {360 160 180 30} labelsize 8
+    }
+    Fl_Counter {} {
+      label FL_SIMPLE_COUNTER
+      callback callback
+      xywh {360 205 180 30} type Simple labelsize 8
+    }
+    Fl_Box {} {
+      label Fl_Dial
+      xywh {300 260 255 105} box ENGRAVED_BOX labelfont 1 align 17
+    }
+    Fl_Dial {} {
+      label 0
+      callback callback
+      xywh {315 280 65 65} color 10 selection_color 1 labelsize 8 value 0.5
+      code0 {o->angles(0,315);}
+    }
+    Fl_Dial {} {
+      label FL_LINE_DIAL
+      callback callback
+      xywh {395 280 65 65} type Line color 10 selection_color 1 labelsize 8 value 0.5
+    }
+    Fl_Dial {} {
+      label FL_FILL_DIAL
+      callback callback
+      xywh {475 280 65 65} type Fill color 10 selection_color 1 labelsize 8 value 1
+      code0 {o->angles(0,360);}
+    }
+    Fl_Box {} {
+      label Fl_Roller
+      xywh {300 375 145 120} box ENGRAVED_BOX labelfont 1 align 17
+    }
+    Fl_Roller {} {
+      label 0
+      callback callback
+      xywh {315 390 20 95} labelsize 8
+    }
+    Fl_Roller {} {
+      label FL_HORIZONTAL
+      callback callback
+      xywh {340 430 90 20} type Horizontal labelsize 8
+    }
+    Fl_Box {} {
+      label Fl_Value_Input
+      xywh {10 445 140 50} box ENGRAVED_BOX labelfont 1 align 17
+    }
+    Fl_Box {} {
+      label {Some widgets have color(FL_GREEN) and color2(FL_RED) to show the areas these effect.}
+      xywh {455 375 100 120} box BORDER_FRAME color 0 selection_color 0 labelsize 10 align 128
+    }
+    Fl_Box {} {
+      label Fl_Value_Output
+      xywh {155 445 135 50} box ENGRAVED_BOX labelfont 1 align 17
+    }
+    Fl_Value_Input {} {
+      label 0
+      callback callback
+      xywh {30 460 110 30} labelsize 8 maximum 100 step 0.1
+    }
+    Fl_Value_Output {} {
+      label 0
+      callback callback
+      xywh {170 460 110 30} labelsize 8 maximum 100 step 0.1
+    }
+    Fl_Box {} {
+      label {   Fl_Scrollbar}
+      xywh {295 10 130 120} box ENGRAVED_BOX labelfont 1 align 21
+    }
+    Fl_Scrollbar {} {
+      label 0
+      callback callback
+      xywh {395 20 20 105} labelsize 8 align 1 maximum 100 slider_size 0.3
+    }
+    Fl_Scrollbar {} {
+      label FL_HORIZONTAL
+      callback callback
+      xywh {300 65 95 20} type Horizontal labelsize 8 maximum 100 slider_size 0.3
+    }
+  }
+} 
diff --git a/visualc/CubeView.dsp b/visualc/CubeView.dsp
index 297d439898183e7029b38c9c65fe0bc0a59e9b92..8da93660523e8b6cee7558e6edbfe0ce0711d22f 100644
--- a/visualc/CubeView.dsp
+++ b/visualc/CubeView.dsp
@@ -53,7 +53,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 fltk.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libcd" /out:"../CubeView/CubeView.exe" /libpath:"..\lib"
+# ADD LINK32 fltk.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libcd" /out:"../test/CubeView.exe" /libpath:"..\lib"
 # SUBTRACT LINK32 /pdb:none /incremental:yes
 
 !ELSEIF  "$(CFG)" == "CubeView - Win32 Debug"
@@ -80,7 +80,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 fltkd.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd" /out:"../CubeView/CubeViewd.exe" /pdbtype:sept /libpath:"..\lib"
+# ADD LINK32 fltkd.lib opengl32.lib wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd" /out:"../test/CubeViewd.exe" /pdbtype:sept /libpath:"..\lib"
 # SUBTRACT LINK32 /pdb:none /incremental:no
 
 !ENDIF 
@@ -100,6 +100,37 @@ SOURCE=..\test\CubeView.cxx
 # Begin Source File
 
 SOURCE=..\test\CubeViewUI.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\CubeViewUI.fl
+
+!IF  "$(CFG)" == "CubeView - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\CubeViewUI.fl
+
+"..\test\CubeViewUI.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c CubeViewUI.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "CubeView - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\CubeViewUI.fl
+
+"..\test\CubeViewUI.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c CubeViewUI.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/fast_slow.dsp b/visualc/fast_slow.dsp
index b2b4df984cbf1e26b6149aecdae4163da9d10f1f..0d90bbed884cfa389398d49932d9edb7194ef949 100644
--- a/visualc/fast_slow.dsp
+++ b/visualc/fast_slow.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\fast_slow.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\fast_slow.fl
+
+!IF  "$(CFG)" == "fast_slow - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\fast_slow.fl
+
+"..\test\fast_slow.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c fast_slow.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "fast_slow - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\fast_slow.fl
+
+"..\test\fast_slow.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c fast_slow.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/fltk.dsw b/visualc/fltk.dsw
index 2b22e3b078443f34ac2ded2e2e3d3a0c57b65765..a9245b6b7e15ea98123940dd1fc8fcc2c9b8c0f8 100644
--- a/visualc/fltk.dsw
+++ b/visualc/fltk.dsw
@@ -17,6 +17,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltkgl
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -434,6 +437,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name tiled_image
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name help
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -476,6 +482,12 @@ Package=<5>
 
 Package=<4>
 {{{
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fltk
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -719,6 +731,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltk
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -749,6 +764,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltk
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -791,6 +809,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltk
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -941,6 +962,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltk
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -956,6 +980,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltk
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -1022,6 +1049,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltkgl
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -1067,6 +1097,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltk
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
@@ -1112,6 +1145,9 @@ Package=<4>
     Begin Project Dependency
     Project_Dep_Name fltk
     End Project Dependency
+    Begin Project Dependency
+    Project_Dep_Name fluid
+    End Project Dependency
 }}}
 
 ###############################################################################
diff --git a/visualc/inactive.dsp b/visualc/inactive.dsp
index d098d08a7cf7241661c905b699389e2d5d6d2279..8d077b3d26de97d90740b825e766862d1acf74a8 100755
--- a/visualc/inactive.dsp
+++ b/visualc/inactive.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\inactive.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\inactive.fl
+
+!IF  "$(CFG)" == "inactive - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\inactive.fl
+
+"..\test\inactive.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c inactive.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "inactive - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\inactive.fl
+
+"..\test\inactive.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c inactive.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/keyboard.dsp b/visualc/keyboard.dsp
index acd06790594c3b3e2e8a52a81921cbc51c2838c4..07529402db3a31c4e87d180caaf9beadac4906f1 100644
--- a/visualc/keyboard.dsp
+++ b/visualc/keyboard.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\keyboard.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\keyboard_ui.fl
+
+!IF  "$(CFG)" == "keyboard - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\keyboard_ui.fl
+
+"..\test\keyboard_ui.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c keyboard_ui.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "keyboard - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\keyboard_ui.fl
+
+"..\test\keyboard_ui.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c keyboard_ui.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/mandelbrot.dsp b/visualc/mandelbrot.dsp
index 1eeca5599ca4d33cd89c2582262eef49d970c1e1..89b27f6315331442a935397a8b44eb5727dc8e56 100644
--- a/visualc/mandelbrot.dsp
+++ b/visualc/mandelbrot.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\mandelbrot.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\mandelbrot_ui.fl
+
+!IF  "$(CFG)" == "mandelbrot - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\mandelbrot_ui.fl
+
+"../test/mandelbrot_ui.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c mandelbrot_ui.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "mandelbrot - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\mandelbrot_ui.fl
+
+"../test/mandelbrot_ui.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c mandelbrot_ui.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/radio.dsp b/visualc/radio.dsp
index a2668c9bd2c81b4e9b3bab81f01073f6e47b422d..081253ba979b8688bfb3af351f6fab4246caf905 100644
--- a/visualc/radio.dsp
+++ b/visualc/radio.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\radio.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\radio.fl
+
+!IF  "$(CFG)" == "radio - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\radio.fl
+
+"../test/radio.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c radio.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "radio - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\radio.fl
+
+"../test/radio.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c radio.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/resize.dsp b/visualc/resize.dsp
index 75f6a1882b14bcd1c4e3db9fffee51628bd18871..916147873ed35fff228aab78968e2bcaec368a3d 100644
--- a/visualc/resize.dsp
+++ b/visualc/resize.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\resize.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\resize.fl
+
+!IF  "$(CFG)" == "resize - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\resize.fl
+
+"../test/resize.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c resize.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "resize - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\resize.fl
+
+"../test/resize.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c resize.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/shiny.dsp b/visualc/shiny.dsp
index 7308ca01673979e8ece6025d663ed7b927eb4c64..786362a08311e959bab65de3a8541d15a9d0c46a 100644
--- a/visualc/shiny.dsp
+++ b/visualc/shiny.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\shiny.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\shiny_panel.fl
+
+!IF  "$(CFG)" == "shiny - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\shiny_panel.fl
+
+"../test/shiny_panel.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c shiny_panel.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "shiny - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\shiny_panel.fl
+
+"../test/shiny_panel.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c shiny_panel.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/tabs.dsp b/visualc/tabs.dsp
index 826098344f4216940dcfb80373a890c77cd816cc..adb8cb172b162a2177441d6eea2d874eeed82c82 100644
--- a/visualc/tabs.dsp
+++ b/visualc/tabs.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\tabs.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\tabs.fl
+
+!IF  "$(CFG)" == "tabs - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\tabs.fl
+
+"../test/tabs.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c tabs.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "tabs - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\tabs.fl
+
+"../test/tabs.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c tabs.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project
diff --git a/visualc/valuators.dsp b/visualc/valuators.dsp
index ea56785c7c1033267954db14dd08c003d96be33e..41be66461aee14f170b94c7f538ffc73851936aa 100644
--- a/visualc/valuators.dsp
+++ b/visualc/valuators.dsp
@@ -92,6 +92,37 @@ LINK32=link.exe
 # Begin Source File
 
 SOURCE=..\test\valuators.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=..\test\valuators.fl
+
+!IF  "$(CFG)" == "valuators - Win32 Release"
+
+# Begin Custom Build - Create .cxx and .h file with fluid
+InputPath=..\test\valuators.fl
+
+"../test/valuators.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluid -c valuators.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "valuators - Win32 Debug"
+
+# Begin Custom Build - Create .cxx and .h file with fluidd
+InputPath=..\test\valuators.fl
+
+"../test/valuators.cxx" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+	cd ..\test 
+	..\fluid\fluidd -c valuators.fl 
+	cd ..\visualc 
+	
+# End Custom Build
+
+!ENDIF 
+
 # End Source File
 # End Target
 # End Project