|
|
|
@ -736,106 +736,36 @@ void shutdown_user() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ps2_mouse_init_user() { |
|
|
|
|
uint8_t rcv; |
|
|
|
|
|
|
|
|
|
// set TrackPoint sensitivity
|
|
|
|
|
PS2_MOUSE_SEND(0xE2, "set trackpoint sensitivity: 0xE2"); |
|
|
|
|
PS2_MOUSE_SEND(0x81, "set trackpoint sensitivity: 0x81"); |
|
|
|
|
PS2_MOUSE_SEND(0x4A, "set trackpoint sensitivity: 0x4A"); |
|
|
|
|
PS2_MOUSE_SEND(0x60, "set trackpoint sensitivity: 0x60"); |
|
|
|
|
PS2_MOUSE_SEND(0x49, "set trackpoint sensitivity: 0x59"); |
|
|
|
|
|
|
|
|
|
// set TrackPoint Negative Inertia factor
|
|
|
|
|
PS2_MOUSE_SEND(0xE2, "set negative inertia factor: 0xE2"); |
|
|
|
|
PS2_MOUSE_SEND(0x81, "set negative inertia factor: 0x81"); |
|
|
|
|
PS2_MOUSE_SEND(0x4D, "set negative inertia factor: 0x4D"); |
|
|
|
|
PS2_MOUSE_SEND(0x06, "set negative inertia factor: 0x06"); |
|
|
|
|
|
|
|
|
|
// set TrackPoint speed
|
|
|
|
|
// (transfer function upper plateau speed)
|
|
|
|
|
PS2_MOUSE_SEND(0xE2, "set trackpoint speed: 0xE2"); |
|
|
|
|
PS2_MOUSE_SEND(0x81, "set trackpoint speed: 0x81"); |
|
|
|
|
PS2_MOUSE_SEND(0x60, "set trackpoint speed: 0x60"); |
|
|
|
|
PS2_MOUSE_SEND(0x90, "set trackpoint speed: 0x90"); |
|
|
|
|
PS2_MOUSE_SEND(0x61, "set trackpoint speed: 0x61"); |
|
|
|
|
|
|
|
|
|
// set TrackPoint Negative Inertia factor
|
|
|
|
|
PS2_MOUSE_SEND(0xE2, "set negative inertia factor: 0xE2"); |
|
|
|
|
PS2_MOUSE_SEND(0x81, "set negative inertia factor: 0x81"); |
|
|
|
|
PS2_MOUSE_SEND(0x4D, "set negative inertia factor: 0x4D"); |
|
|
|
|
PS2_MOUSE_SEND(0x03, "set negative inertia factor: 0x03"); |
|
|
|
|
|
|
|
|
|
// disable up threshold (click)
|
|
|
|
|
PS2_MOUSE_SEND(0xE2, "set disable up threshold: 0xE2"); |
|
|
|
|
PS2_MOUSE_SEND(0x47, "set disable up threshold: 0x47"); |
|
|
|
|
PS2_MOUSE_SEND(0x2C, "set disable up threshold: 0x2C"); |
|
|
|
|
PS2_MOUSE_SEND(0x01, "set disable up threshold: 0x01"); |
|
|
|
|
|
|
|
|
|
// enable TrackPoint Press to Select (PtS)
|
|
|
|
|
// print("ps2_mouse_init: send 0xE2: ");
|
|
|
|
|
// rcv = ps2_host_send(0xE2);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// print("ps2_mouse_init: send 0x47: ");
|
|
|
|
|
// rcv = ps2_host_send(0x47);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// print("ps2_mouse_init: send 0x2C: ");
|
|
|
|
|
// rcv = ps2_host_send(0x2C);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// print("ps2_mouse_init: send 0x00: ");
|
|
|
|
|
// rcv = ps2_host_send(0x00);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
|
|
|
|
|
// set TrackPoint Press to Select threshold
|
|
|
|
|
// print("ps2_mouse_init: send 0xE2: ");
|
|
|
|
|
// rcv = ps2_host_send(0xE2);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// print("ps2_mouse_init: send 0x81: ");
|
|
|
|
|
// rcv = ps2_host_send(0x81);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// print("ps2_mouse_init: send 0x5C: ");
|
|
|
|
|
// rcv = ps2_host_send(0x5C);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// // default PtS threshold is 0x08
|
|
|
|
|
// print("ps2_mouse_init: send 0x04: ");
|
|
|
|
|
// rcv = ps2_host_send(0x04);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
|
|
|
|
|
// set TrackPoint Press to Select time constant (zTc)
|
|
|
|
|
// print("ps2_mouse_init: send 0xE2: ");
|
|
|
|
|
// rcv = ps2_host_send(0xE2);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// print("ps2_mouse_init: send 0x81: ");
|
|
|
|
|
// rcv = ps2_host_send(0x81);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// print("ps2_mouse_init: send 0x5E: ");
|
|
|
|
|
// rcv = ps2_host_send(0x5E);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
// // default zTc is 0x26
|
|
|
|
|
// print("ps2_mouse_init: send 0x45: ");
|
|
|
|
|
// rcv = ps2_host_send(0x45);
|
|
|
|
|
// phex(rcv); phex(ps2_error); print("\n");
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
// set TrackPoint Press to Select Jenks Curvature (jkcur)
|
|
|
|
|
print("ps2_mouse_init: send 0xE2: "); |
|
|
|
|
rcv = ps2_host_send(0xE2); |
|
|
|
|
phex(rcv); phex(ps2_error); print("\n"); |
|
|
|
|
print("ps2_mouse_init: send 0x81: "); |
|
|
|
|
rcv = ps2_host_send(0x81); |
|
|
|
|
phex(rcv); phex(ps2_error); print("\n"); |
|
|
|
|
print("ps2_mouse_init: send 0x5D: "); |
|
|
|
|
rcv = ps2_host_send(0x5D); |
|
|
|
|
phex(rcv); phex(ps2_error); print("\n"); |
|
|
|
|
// default jkcur is 0x87
|
|
|
|
|
print("ps2_mouse_init: send 0x87: "); |
|
|
|
|
rcv = ps2_host_send(0x87); |
|
|
|
|
phex(rcv); phex(ps2_error); print("\n"); |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
// set TrackPoint Minimum Drag (mindrag)
|
|
|
|
|
print("ps2_mouse_init: send 0xE2: "); |
|
|
|
|
// inquire pts status
|
|
|
|
|
rcv = ps2_host_send(0xE2); |
|
|
|
|
phex(rcv); phex(ps2_error); print("\n"); |
|
|
|
|
print("ps2_mouse_init: send 0x81: "); |
|
|
|
|
rcv = ps2_host_send(0x81); |
|
|
|
|
phex(rcv); phex(ps2_error); print("\n"); |
|
|
|
|
print("ps2_mouse_init: send 0x59: "); |
|
|
|
|
rcv = ps2_host_send(0x59); |
|
|
|
|
phex(rcv); phex(ps2_error); print("\n"); |
|
|
|
|
// default PtS mindrag is 0x14
|
|
|
|
|
print("ps2_mouse_init: send 0x14: "); |
|
|
|
|
rcv = ps2_host_send(0x14); |
|
|
|
|
phex(rcv); phex(ps2_error); print("\n"); |
|
|
|
|
*/ |
|
|
|
|
rcv = ps2_host_send(0x2C); |
|
|
|
|
rcv = ps2_host_recv_response(); |
|
|
|
|
if ((rcv & 1) == 1) { |
|
|
|
|
// if on, disable pts
|
|
|
|
|
rcv = ps2_host_send(0xE2); |
|
|
|
|
rcv = ps2_host_send(0x47); |
|
|
|
|
rcv = ps2_host_send(0x2C); |
|
|
|
|
rcv = ps2_host_send(0x01); |
|
|
|
|
} |
|
|
|
|
} |