patch-2.1.115 linux/drivers/macintosh/mac_keyb.c

Next file: linux/drivers/macintosh/macserial.c
Previous file: linux/drivers/macintosh/imstt.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.114/linux/drivers/macintosh/mac_keyb.c linux/drivers/macintosh/mac_keyb.c
@@ -460,7 +460,7 @@
 
 	/* Only send mouse codes when keyboard is in raw mode. */
 	if (kbd->kbdmode == VC_RAW) {
-		static unsigned char uch_ButtonStateSecond = 0;
+		static unsigned char uch_ButtonStateSecond = 0x80;
 		unsigned char uchButtonSecond;
 
 		/* Send first button, second button and movement. */
@@ -480,8 +480,8 @@
 		}
 
 		/* Macintosh 3-button mouse (handler 4). */
-		if ((nb == 6) && autopoll /*?*/) {
-			static unsigned char uch_ButtonStateThird = 0;
+		if ((nb == 4) && autopoll /*?*/) {
+			static unsigned char uch_ButtonStateThird = 0x80;
 			unsigned char uchButtonThird;
 
 			/* Store the button state for speed. */
@@ -563,13 +563,13 @@
 	    return;
 
 	/* setup key map */
-	memcpy(plain_map, macplain_map, sizeof(plain_map));
-	memcpy(shift_map, macshift_map, sizeof(shift_map));
-	memcpy(altgr_map, macaltgr_map, sizeof(altgr_map));
-	memcpy(ctrl_map, macctrl_map, sizeof(ctrl_map));
-	memcpy(shift_ctrl_map, macshift_ctrl_map, sizeof(shift_ctrl_map));
-	memcpy(alt_map, macalt_map, sizeof(alt_map));
-	memcpy(ctrl_alt_map, macctrl_alt_map, sizeof(ctrl_alt_map));
+	memcpy(key_maps[0], macplain_map, sizeof(plain_map));
+	memcpy(key_maps[1], macshift_map, sizeof(plain_map));
+	memcpy(key_maps[2], macaltgr_map, sizeof(plain_map));
+	memcpy(key_maps[4], macctrl_map, sizeof(plain_map));
+	memcpy(key_maps[5], macshift_ctrl_map, sizeof(plain_map));
+	memcpy(key_maps[8], macalt_map, sizeof(plain_map));
+	memcpy(key_maps[12], macctrl_alt_map, sizeof(plain_map));
 
 	/* initialize mouse interrupt hook */
 	adb_mouse_interrupt_hook = NULL;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov