]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
fine tune trackpoint initialization
authorPriyadi Iman Nurcahyo <priyadi@priyadi.net>
Wed, 14 Dec 2016 00:10:28 +0000 (07:10 +0700)
committerPriyadi Iman Nurcahyo <priyadi@priyadi.net>
Wed, 14 Dec 2016 00:10:28 +0000 (07:10 +0700)
keyboards/handwired/promethium/keymaps/priyadi/keymap.c
keyboards/handwired/promethium/rules.mk

index bf797a7491b563e66400706e287e9ea66d3c2d30..db33b9f6661dcb17e153a3deeef80989f78a77a7 100644 (file)
@@ -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);
+    }
 }
\ No newline at end of file
index f305c07e8ea8d2da97f1e5b543965507acd2bb25..465ef3359a2f96806114498d7913dcacdc1e306d 100644 (file)
@@ -66,6 +66,7 @@ RGBLIGHT_ENABLE ?= no        # Enable WS2812 RGB underlight.  Do not enable this
 PS2_MOUSE_ENABLE ?= yes
 PS2_USE_INT ?= yes
 ADAFRUIT_BLE_ENABLE ?= yes
+API_SYSEX_ENABLE ?= no
 
 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 SLEEP_LED_ENABLE ?= no    # Breathing sleep LED during USB suspend