diff --git a/c/Mouse b/c/Mouse
index 7b23cfc7f0fecc5459ecf3ce9996d2e60603bf18..bd9dfffc00ccf535a1b8e72941e8dffa0f7eef75 100644
--- a/c/Mouse
+++ b/c/Mouse
@@ -208,88 +208,114 @@ void mouse_set_pointer_shape(int shape)
 
     default: /* Catchall - use normal pointer, so no 'break' */
 
-    case Mouse_Shape_Normal:   _swix(OS_CLI,
-                                     _IN(0),
+    case Mouse_Shape_Normal:    _swix(OS_CLI,
+                                      _IN(0),
 
-                                     "Pointer 1");
+                                      "Pointer 1");
     break;
 
-    case Mouse_Shape_Link:     _swix(OS_SpriteOp,
-                                     _INR(0,7),
-
-                                     292,
-                                     sprite_block,
-                                     "ptr_link",
-                                     2,
-                                     fixed.ptrlnkactvx,
-                                     fixed.ptrlnkactvy,
-                                     0,
-                                     0);
+    case Mouse_Shape_Link:      _swix(OS_SpriteOp,
+                                      _INR(0,7),
+
+                                      292,
+                                      sprite_block,
+                                      "ptr_link",
+                                      2,
+                                      fixed.ptrlnkactvx,
+                                      fixed.ptrlnkactvy,
+                                      0,
+                                      0);
     break;
 
-    case Mouse_Shape_Map:      _swix(OS_SpriteOp,
-                                     _INR(0,7),
-
-                                     292,
-                                     sprite_block,
-                                     "ptr_map",
-                                     2,
-                                     fixed.ptrmapactvx,
-                                     fixed.ptrmapactvy,
-                                     0,
-                                     0);
+    case Mouse_Shape_Map:       _swix(OS_SpriteOp,
+                                      _INR(0,7),
+
+                                      292,
+                                      sprite_block,
+                                      "ptr_map",
+                                      2,
+                                      fixed.ptrmapactvx,
+                                      fixed.ptrmapactvy,
+                                      0,
+                                      0);
     break;
 
-    case Mouse_Shape_UD:       _swix(OS_SpriteOp,
-                                     _INR(0,7),
-
-                                     292,
-                                     sprite_block,
-                                     "ptr_ud",
-                                     2,
-                                     fixed.ptrmapactvx,
-                                     fixed.ptrmapactvy,
-                                     0,
-                                     0);
+    case Mouse_Shape_UD:        _swix(OS_SpriteOp,
+                                      _INR(0,7),
+
+                                      292,
+                                      sprite_block,
+                                      "ptr_ud",
+                                      2,
+                                      fixed.ptrmapactvx,
+                                      fixed.ptrmapactvy,
+                                      0,
+                                      0);
     break;
 
-    case Mouse_Shape_LR:       _swix(OS_SpriteOp,
-                                     _INR(0,7),
-
-                                     292,
-                                     sprite_block,
-                                     "ptr_lr",
-                                     2,
-                                     fixed.ptrmapactvx,
-                                     fixed.ptrmapactvy,
-                                     0,
-                                     0);
+    case Mouse_Shape_LR:        _swix(OS_SpriteOp,
+                                      _INR(0,7),
+
+                                      292,
+                                      sprite_block,
+                                      "ptr_lr",
+                                      2,
+                                      fixed.ptrmapactvx,
+                                      fixed.ptrmapactvy,
+                                      0,
+                                      0);
     break;
 
-    case Mouse_Shape_UDLR:     _swix(OS_SpriteOp,
-                                     _INR(0,7),
-
-                                     292,
-                                     sprite_block,
-                                     "ptr_udlr",
-                                     2,
-                                     fixed.ptrmapactvx,
-                                     fixed.ptrmapactvy,
-                                     0,
-                                     0);
+    case Mouse_Shape_UDLR:      _swix(OS_SpriteOp,
+                                      _INR(0,7),
+
+                                      292,
+                                      sprite_block,
+                                      "ptr_udlr",
+                                      2,
+                                      fixed.ptrmapactvx,
+                                      fixed.ptrmapactvy,
+                                      0,
+                                      0);
     break;
 
-    case Mouse_Shape_NoResize: _swix(OS_SpriteOp,
-                                     _INR(0,7),
-
-                                     292,
-                                     sprite_block,
-                                     "ptr_noresize",
-                                     2,
-                                     fixed.ptrmapactvx,
-                                     fixed.ptrmapactvy,
-                                     0,
-                                     0);
+    case Mouse_Shape_NoResize:  _swix(OS_SpriteOp,
+                                      _INR(0,7),
+
+                                      292,
+                                      sprite_block,
+                                      "ptr_noresize",
+                                      2,
+                                      fixed.ptrmapactvx,
+                                      fixed.ptrmapactvy,
+                                      0,
+                                      0);
+    break;
+
+    case Mouse_Shape_ToScroll:  _swix(OS_SpriteOp,
+                                      _INR(0,7),
+
+                                      292,
+                                      sprite_block,
+                                      "ptr_ud",
+                                      2,
+                                      fixed.ptrmapactvx,
+                                      fixed.ptrmapactvy,
+                                      0,
+                                      0);
+    break;
+
+    case Mouse_Shape_Scrolling: _swix(OS_SpriteOp,
+                                      _INR(0,7),
+
+                                      292,
+                                      sprite_block,
+                                      "ptr_udlr",
+                                      2,
+                                      fixed.ptrmapactvx,
+                                      fixed.ptrmapactvy,
+                                      0,
+                                      0);
     break;
   }
 }
diff --git a/h/Mouse b/h/Mouse
index 90871bd9ddf7e7423a01ac4382694b0c8defc9ef..cb84448acdb4f3e812a427d8759e8ab212228708 100644
--- a/h/Mouse
+++ b/h/Mouse
@@ -25,14 +25,16 @@
 
 /* Shape definitions */
 
-#define Mouse_Shape_Off      0
-#define Mouse_Shape_Normal   1
-#define Mouse_Shape_Link     2
-#define Mouse_Shape_Map      3
-#define Mouse_Shape_UD       4
-#define Mouse_Shape_LR       5
-#define Mouse_Shape_UDLR     6
-#define Mouse_Shape_NoResize 7
+#define Mouse_Shape_Off       0
+#define Mouse_Shape_Normal    1
+#define Mouse_Shape_Link      2
+#define Mouse_Shape_Map       3
+#define Mouse_Shape_UD        4
+#define Mouse_Shape_LR        5
+#define Mouse_Shape_UDLR      6
+#define Mouse_Shape_NoResize  7
+#define Mouse_Shape_ToScroll  8
+#define Mouse_Shape_Scrolling 9
 
 /* Function prototypes */