Temporarily reverted all keyboard changes.
This commit is contained in:
2324
src/device/kbc_at.c
2324
src/device/kbc_at.c
File diff suppressed because it is too large
Load Diff
1162
src/device/kbd_at.c
1162
src/device/kbd_at.c
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -93,8 +93,6 @@ ps2_write(uint8_t val, void *priv)
|
|||||||
mouse_t *dev = (mouse_t *)priv;
|
mouse_t *dev = (mouse_t *)priv;
|
||||||
uint8_t temp;
|
uint8_t temp;
|
||||||
|
|
||||||
pclog("ps2_write(%02X)\n", val);
|
|
||||||
|
|
||||||
if (dev->flags & FLAG_CTRLDAT) {
|
if (dev->flags & FLAG_CTRLDAT) {
|
||||||
dev->flags &= ~FLAG_CTRLDAT;
|
dev->flags &= ~FLAG_CTRLDAT;
|
||||||
|
|
||||||
@@ -104,16 +102,16 @@ ps2_write(uint8_t val, void *priv)
|
|||||||
switch (dev->command) {
|
switch (dev->command) {
|
||||||
case 0xe8: /* set mouse resolution */
|
case 0xe8: /* set mouse resolution */
|
||||||
dev->resolution = val;
|
dev->resolution = val;
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xf3: /* set sample rate */
|
case 0xf3: /* set sample rate */
|
||||||
dev->sample_rate = val;
|
dev->sample_rate = val;
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa); /* Command response */
|
keyboard_at_adddata_mouse(0xfa); /* Command response */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
keyboard_at_adddata_mouse_cmd(0xfc);
|
keyboard_at_adddata_mouse(0xfc);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dev->command = val;
|
dev->command = val;
|
||||||
@@ -121,21 +119,21 @@ ps2_write(uint8_t val, void *priv)
|
|||||||
switch (dev->command) {
|
switch (dev->command) {
|
||||||
case 0xe6: /* set scaling to 1:1 */
|
case 0xe6: /* set scaling to 1:1 */
|
||||||
dev->flags &= ~FLAG_SCALED;
|
dev->flags &= ~FLAG_SCALED;
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xe7: /* set scaling to 2:1 */
|
case 0xe7: /* set scaling to 2:1 */
|
||||||
dev->flags |= FLAG_SCALED;
|
dev->flags |= FLAG_SCALED;
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xe8: /* set mouse resolution */
|
case 0xe8: /* set mouse resolution */
|
||||||
dev->flags |= FLAG_CTRLDAT;
|
dev->flags |= FLAG_CTRLDAT;
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xe9: /* status request */
|
case 0xe9: /* status request */
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
temp = (dev->flags & 0x30);
|
temp = (dev->flags & 0x30);
|
||||||
if (mouse_buttons & 0x01)
|
if (mouse_buttons & 0x01)
|
||||||
temp |= 0x01;
|
temp |= 0x01;
|
||||||
@@ -143,13 +141,13 @@ ps2_write(uint8_t val, void *priv)
|
|||||||
temp |= 0x02;
|
temp |= 0x02;
|
||||||
if (mouse_buttons & 0x04)
|
if (mouse_buttons & 0x04)
|
||||||
temp |= 0x03;
|
temp |= 0x03;
|
||||||
keyboard_at_adddata_mouse_cmd(temp);
|
keyboard_at_adddata_mouse(temp);
|
||||||
keyboard_at_adddata_mouse_cmd(dev->resolution);
|
keyboard_at_adddata_mouse(dev->resolution);
|
||||||
keyboard_at_adddata_mouse_cmd(dev->sample_rate);
|
keyboard_at_adddata_mouse(dev->sample_rate);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xeb: /* Get mouse data */
|
case 0xeb: /* Get mouse data */
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
|
|
||||||
temp = 0;
|
temp = 0;
|
||||||
if (dev->x < 0)
|
if (dev->x < 0)
|
||||||
@@ -162,36 +160,36 @@ ps2_write(uint8_t val, void *priv)
|
|||||||
temp |= 2;
|
temp |= 2;
|
||||||
if ((mouse_buttons & 4) && (dev->flags & FLAG_INTELLI))
|
if ((mouse_buttons & 4) && (dev->flags & FLAG_INTELLI))
|
||||||
temp |= 4;
|
temp |= 4;
|
||||||
keyboard_at_adddata_mouse_cmd(temp);
|
keyboard_at_adddata_mouse(temp);
|
||||||
keyboard_at_adddata_mouse_cmd(dev->x & 0xff);
|
keyboard_at_adddata_mouse(dev->x & 0xff);
|
||||||
keyboard_at_adddata_mouse_cmd(dev->y & 0xff);
|
keyboard_at_adddata_mouse(dev->y & 0xff);
|
||||||
if (dev->flags & FLAG_INTMODE)
|
if (dev->flags & FLAG_INTMODE)
|
||||||
keyboard_at_adddata_mouse_cmd(dev->z);
|
keyboard_at_adddata_mouse(dev->z);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xf2: /* read ID */
|
case 0xf2: /* read ID */
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
if (dev->flags & FLAG_INTMODE)
|
if (dev->flags & FLAG_INTMODE)
|
||||||
keyboard_at_adddata_mouse_cmd(0x03);
|
keyboard_at_adddata_mouse(0x03);
|
||||||
else
|
else
|
||||||
keyboard_at_adddata_mouse_cmd(0x00);
|
keyboard_at_adddata_mouse(0x00);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xf3: /* set command mode */
|
case 0xf3: /* set command mode */
|
||||||
dev->flags |= FLAG_CTRLDAT;
|
dev->flags |= FLAG_CTRLDAT;
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa); /* ACK for command byte */
|
keyboard_at_adddata_mouse(0xfa); /* ACK for command byte */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xf4: /* enable */
|
case 0xf4: /* enable */
|
||||||
dev->flags |= FLAG_ENABLED;
|
dev->flags |= FLAG_ENABLED;
|
||||||
mouse_scan = 1;
|
mouse_scan = 1;
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xf5: /* disable */
|
case 0xf5: /* disable */
|
||||||
dev->flags &= ~FLAG_ENABLED;
|
dev->flags &= ~FLAG_ENABLED;
|
||||||
mouse_scan = 0;
|
mouse_scan = 0;
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xf6: /* set defaults */
|
case 0xf6: /* set defaults */
|
||||||
@@ -201,15 +199,15 @@ mouse_reset:
|
|||||||
dev->flags &= 0x88;
|
dev->flags &= 0x88;
|
||||||
mouse_scan = 1;
|
mouse_scan = 1;
|
||||||
keyboard_at_mouse_reset();
|
keyboard_at_mouse_reset();
|
||||||
keyboard_at_adddata_mouse_cmd(0xfa);
|
keyboard_at_adddata_mouse(0xfa);
|
||||||
if (dev->command == 0xff) {
|
if (dev->command == 0xff) {
|
||||||
keyboard_at_adddata_mouse_cmd(0xaa);
|
keyboard_at_adddata_mouse(0xaa);
|
||||||
keyboard_at_adddata_mouse_cmd(0x00);
|
keyboard_at_adddata_mouse(0x00);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
keyboard_at_adddata_mouse_cmd(0xfe);
|
keyboard_at_adddata_mouse(0xfe);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -241,9 +239,6 @@ ps2_poll(int x, int y, int z, int b, void *priv)
|
|||||||
return(0xff);
|
return(0xff);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((keyboard_at_fixed_channel() & 0xf00) == 0x200)
|
|
||||||
return(0xff);
|
|
||||||
|
|
||||||
if (!mouse_scan)
|
if (!mouse_scan)
|
||||||
return(0xff);
|
return(0xff);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user