diff -Naur neverball-1.4.0/putt/main.c neverball-1.4.0-scroll/putt/main.c
--- neverball-1.4.0/putt/main.c	2004-09-08 22:17:28.000000000 +0200
+++ neverball-1.4.0-scroll/putt/main.c	2004-12-06 20:52:34.000000000 +0100
@@ -89,14 +89,20 @@
 {
     SDL_Event e;
     int d = 1;
-
-    while (d && SDL_PollEvent(&e))
+	int lock = 0;
+	while (d && SDL_PollEvent(&e))
     {
         if (e.type == SDL_QUIT)
             return 0;
 
         if (e.type == SDL_KEYDOWN && e.key.keysym.sym == SDLK_SPACE)
-            config_tgl_pause();
+			config_tgl_pause();
+        
+		if (e.active.state == SDL_APPINPUTFOCUS)
+        {
+           /* Fix by Patrik Nilsson */
+		   config_tgl_pause();
+        }
 
         if (!config_get_pause())
             switch (e.type)
@@ -113,11 +119,21 @@
                 break;
 
             case SDL_MOUSEBUTTONDOWN:
-                d = st_click((e.button.button == SDL_BUTTON_LEFT) ? -1 : 1, 1);
+				/* printf("Button %i is down\n",e.button.button); */
+                switch (e.button.button)
+				{
+				case 1: d = st_click((e.button.button == SDL_BUTTON_LEFT) ? -1 : 1, 1); break;
+				case 3: printf("lock:%i\n",lock); break;
+				case 4: st_point(e.motion.x,+5+config_get_d(CONFIG_HEIGHT),e.motion.xrel,+5); break;
+				case 5: st_point(e.motion.x,-5+config_get_d(CONFIG_HEIGHT),e.motion.xrel,-5); break;
+				
+				default: break;
+				}
                 break;
 
             case SDL_MOUSEBUTTONUP:
-                d = st_click((e.button.button == SDL_BUTTON_LEFT) ? -1 : 1, 0);
+                /* printf("Button %i is up\n",e.button.button); */
+				d = st_click((e.button.button == SDL_BUTTON_LEFT) ? -1 : 1, 0);
                 break;
 
             case SDL_KEYDOWN:
@@ -132,15 +148,7 @@
                     d = st_keybd(e.key.keysym.sym, 1);
                 }
                 break;
-
-            case SDL_ACTIVEEVENT:
-                if (e.active.state == SDL_APPINPUTFOCUS)
-                {
-                    if (e.active.gain == 0)
-                        config_set_pause();
-                }
-                break;
-            }
+                } 
     }
     return d;
 }
@@ -148,7 +156,6 @@
 int main(int argc, char *argv[])
 {
     int camera = 0;
-
     srand((int) time(NULL));
 
     if (config_data_path((argc > 1 ? argv[1] : NULL), COURSE_FILE))
diff -Naur neverball-1.4.0/putt/st_all.c neverball-1.4.0-scroll/putt/st_all.c
--- neverball-1.4.0/putt/st_all.c	2004-09-08 22:25:29.000000000 +0200
+++ neverball-1.4.0-scroll/putt/st_all.c	2004-12-06 15:28:16.000000000 +0100
@@ -689,7 +689,7 @@
 {
     int id;
     
-    if ((id = gui_label(0, "It's In!", GUI_MED, GUI_ALL, gui_grn, gui_grn)))
+    if ((id = gui_label(0, "It's done!", GUI_MED, GUI_ALL, gui_grn, gui_grn)))
         gui_layout(id, 0, 0);
 
     hole_goal();

