Open dal00 opened 4 years ago
I got it with a fr-ca layout. It's very nice.
I'm looking in this repository because Fn and FnLock do not seam to work out of the box. I could post back when I find my way around that
EDIT
As per the readme, I tried to control whether fn_lock is enabled by issuing:
echo 0 > /sys/bus/hid/devices/*17EF\:604*/fn_lock
and no folder matched this pattern. On my laptop, the /sys/bus/hid/devices/
folder contains
And I am out of my confort zone here. any advice?
I think you should probably create another issue for the fn/fnlock thing
But are you able to compare it to the old one in quality and function?
@dal00
I think you should probably create another issue for the fn/fnlock thing
I will do, thanks
But are you able to compare it to the old one in quality and function?
I didn't try the old one, but I can compare it with the P50s, E560, Yoga and T500 I use daily.
The disposition is precise, keys feel less flacky when compared to an internal keyboard. It is thin and feels robust. Even though it is not a proper mecanical keyboard with actual mecanical switches, there is a feel of a "click", even if the sound itself is quieter than a internal keyboard.
I found it was quite easy to pluck out by accident one the the legs that make the angle, which should not be an issue when handled with a least a bit of care.
The three buttons below the space bar are flat and low, not concave like they used to be. The plastic finish looks a bit more textured and silky than it used to be, which is good in my opinion.
All in all, I am pleased with it!
Somewhat important thing to note: You can't register your product for this keyboard online, and must send a proof of purchase to get any warranty manually.
Works great out of the box. Though needs kernel level support for a few things.
It has 2 modes. Android & Windows. Really Windows is full keyboard mode. Where Android mode looks like it disables the FnLock functionality.
FN control through sysfs
Some keys need fixing (through kernel or udev?)
Thinkpad II USB summary: Vendor=0x17ef Product=0x60ee
Thinkpad II Bluetooth summary: Vendor=0x17ef Product=0x60e1
Thinkpad II Keyboard USB
Bus 003 Device 002: ID 17ef:60ee Lenovo TrackPoint Keyboard II Couldn't open device, some information will be missing Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 32 idVendor 0x17ef Lenovo idProduct 0x60ee bcdDevice 1.24 iManufacturer 1 iProduct 2 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0054 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 1 Keyboard iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 59 Report Descriptors: UNAVAILABLE Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 252 Report Descriptors: UNAVAILABLE Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 26 Report Descriptors: UNAVAILABLE Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 bytes bInterval 1
I: Bus=0003 Vendor=17ef Product=60ee Version=0111 N: Name="Lenovo TrackPoint Keyboard II" P: Phys=usb-0000:00:14.0-6/input0 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/0003:17EF:60EE.0001/input/input2 U: Uniq= H: Handlers=sysrq kbd leds event2 B: PROP=0 B: EV=120013 B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe B: MSC=10 B: LED=1f
I: Bus=0003 Vendor=17ef Product=60ee Version=0111 N: Name="Lenovo TrackPoint Keyboard II Mouse" P: Phys=usb-0000:00:14.0-6/input1 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.1/0003:17EF:60EE.0002/input/input3 U: Uniq= H: Handlers=mouse0 event3 B: PROP=0 B: EV=17 B: KEY=70000 0 0 0 0 B: REL=1943 B: MSC=10
I: Bus=0003 Vendor=17ef Product=60ee Version=0111 N: Name="Lenovo TrackPoint Keyboard II" P: Phys=usb-0000:00:14.0-6/input1 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.1/0003:17EF:60EE.0002/input/input4 U: Uniq= H: Handlers=event4 B: PROP=0 B: EV=9 B: ABS=10000000000
I: Bus=0003 Vendor=17ef Product=60ee Version=0111 N: Name="Lenovo TrackPoint Keyboard II Consumer Control" P: Phys=usb-0000:00:14.0-6/input1 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.1/0003:17EF:60EE.0002/input/input5 U: Uniq= H: Handlers=kbd event5 B: PROP=0 B: EV=1f B: KEY=3f000301ff 0 0 483ffff17aff32d bfd4444600000000 1 130ff38b17c000 677bfad9415fed 19ed68000004400 10000002 B: REL=1040 B: ABS=100000000 B: MSC=10
I: Bus=0003 Vendor=17ef Product=60ee Version=0111 N: Name="Lenovo TrackPoint Keyboard II System Control" P: Phys=usb-0000:00:14.0-6/input1 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.1/0003:17EF:60EE.0002/input/input6 U: Uniq= H: Handlers=kbd event6 B: PROP=0 B: EV=13 B: KEY=c000 10000000000000 0 B: MSC=10
I: Bus=0003 Vendor=17ef Product=60ee Version=0111 N: Name="Lenovo TrackPoint Keyboard II" P: Phys=usb-0000:00:14.0-6/input1 S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.1/0003:17EF:60EE.0002/input/input7 U: Uniq= H: Handlers=event7 B: PROP=0 B: EV=13 B: KEY=1 0 0 0 0 B: MSC=10
I: Bus=0003 Vendor=17ef Product=60ee Version=0111 N: Name="Lenovo TrackPoint Keyboard II"
Thinkpad II Keyboard Bluetooth
[root@desktop jerone]# bluetoothctl info D3:0D:A0:D7:D1:8B
Device D3:0D:A0:D7:D1:8B (random)
Name: TrackPoint Keyboard II
Alias: TrackPoint Keyboard II
Appearance: 0x03c1
Icon: input-keyboard
Paired: yes
Trusted: yes Blocked: no
Connected: BrightnesBrightnesyes
WakeAllowed: no
LegacyPairing: no
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Human Interface Device (00001812-0000-1000-8000-00805f9b34fb)
Modalias: usb:v17EFp60E1d0035
ManufacturerData Key: 0x0006
ManufacturerData Value:
03 00 80 ...
RSSI: -67
[CHG] Device 7E:86:29:5E:A3:27 RSSI: -58
[ 796.811220] input: TrackPoint Keyboard II Keyboard as /devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input33 [ 796.811635] input: TrackPoint Keyboard II Mouse as /devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input34 [ 796.811793] input: TrackPoint Keyboard II Consumer Control as /devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input35 [ 796.811880] input: TrackPoint Keyboard II System Control as /devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input36 [ 796.811993] input: TrackPoint Keyboard II as /devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input38
I: Bus=0005 Vendor=17ef Product=60e1 Version=0035 N: Name="TrackPoint Keyboard II Keyboard" P: Phys=8c:c6:81:15:25:d8 S: Sysfs=/devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input33 U: Uniq=d3:0d:a0:d7:d1:8b H: Handlers=sysrq kbd leds event23 B: PROP=0 B: EV=120013 B: KEY=1000000000007 ff800000000007ff febeffdfffefffff fffffffffffffffe B: MSC=10 B: LED=1f
I: Bus=0005 Vendor=17ef Product=60e1 Version=0035 N: Name="TrackPoint Keyboard II Mouse" P: Phys=8c:c6:81:15:25:d8 S: Sysfs=/devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input34 U: Uniq=d3:0d:a0:d7:d1:8b H: Handlers=mouse2 event24 B: PROP=0 B: EV=17 B: KEY=70000 0 0 0 0 B: REL=903 B: MSC=10
I: Bus=0005 Vendor=17ef Product=60e1 Version=0035 N: Name="TrackPoint Keyboard II Consumer Control" P: Phys=8c:c6:81:15:25:d8 S: Sysfs=/devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input35 U: Uniq=d3:0d:a0:d7:d1:8b H: Handlers=kbd event25 B: PROP=0 B: EV=1f B: KEY=3f000301ff 0 0 483ffff17aff32d bfd4444600000000 1 130ff38b17c000 677bfad9415fed 19ed68000004400 10000002 B: REL=1040 B: ABS=100000000 B: MSC=10
I: Bus=0005 Vendor=17ef Product=60e1 Version=0035 N: Name="TrackPoint Keyboard II System Control" P: Phys=8c:c6:81:15:25:d8 S: Sysfs=/devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input36 U: Uniq=d3:0d:a0:d7:d1:8b H: Handlers=kbd event26 B: PROP=0 B: EV=13 B: KEY=c000 10000000000000 0 B: MSC=10
I: Bus=0005 Vendor=17ef Product=60e1 Version=0035 N: Name="TrackPoint Keyboard II" P: Phys=8c:c6:81:15:25:d8 S: Sysfs=/devices/virtual/misc/uhid/0005:17EF:60E1.0008/input/input38 U: Uniq=d3:0d:a0:d7:d1:8b H: Handlers=event27 B: PROP=0 B: EV=9 B: ABS=10000000000
* Some keys need fixing (through kernel or udev?) - Project (sending WINDOWS+P) (F7) - need to fix somehow? - Quote box? (F8) - not sending anything - Settings (F9) - not sending anything - Bluetooth (F10) - not sending anything - Keyboard (F11) - not sending anything - Favorite (F12) - not sending anything
It would be interesting to use hcidump (for bluetooth) or hidraw (cat /dev/hidraw1 | xxd -b -c6
roughly) to see what these keys produce at that level. Although there's a high chance they all produce the same code until some special mode is enabled (this is what all the other keyboards I've tried do).
Pressing F8 & F11 don't produce anything.
[root@desktop jerone]# cat /dev/hidraw1 | xxd -b -c6 00000000: 00000101 11000001 00000101 00000000 00000101 10111100 ...... <-- Quote box / Action Center (F8) 00000006: 00000101 00000000 00000101 10110110 00000101 00000000 ...... <-- Settings (F9) 0000000c: 00000101 10110111 00000101 00000000 00000101 10111000 ...... <-- Favorite (F12)
Also figured I did try updating the lenovo-hid driver in the kernel. That's when I realized this thing is nothing like the previous model under the hood.
So the keyboard has two modes. Android & WIndows. Windows it's a normal keyboard. Android mode does two things:
So in Android mode everything is HID compliant. In Windows Mode it's not.
Really not sure why Lenovo keeps doing this. Just make HID compliant keys and there wouldn't be a problem anywhere.
On Sun, Oct 4, 2020 at 5:18 AM Jamie Lentin notifications@github.com wrote:
- Some keys need fixing (through kernel or udev?)
- Project (sending WINDOWS+P) (F7) - need to fix somehow?
- Quote box? (F8) - not sending anything
- Settings (F9) - not sending anything
- Bluetooth (F10) - not sending anything
- Keyboard (F11) - not sending anything
- Favorite (F12) - not sending anything
It would be interesting to use hcidump (for bluetooth) or hidraw (cat /dev/hidraw1 | xxd -b -c6 roughly) to see what these keys produce at that level. Although there's a high chance they all produce the same code until some special mode is enabled (this is what all the other keyboards I've tried do).
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/lentinj/tp-compact-keyboard/issues/51#issuecomment-703233707, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFR37ASLW2FCQ5YI2OKXELSJBDWJANCNFSM4MWVFNNA .
https://lore.kernel.org/linux-input/20211017083246.977096-1-iam@valdikss.org.ru/T/
This patch enables "native mode", in which middle button works properly (does not emulate press-release before scrolling) and horizontal scrolling is supported. It also handles trackpoint sensitivity and proper button mapping.
@ValdikSS Working horizontal scrolling? That's awesome! Do you need any help with testing?
Tested @ValdikSS patches posted on linux-input mailing list. Not sure what the hold up is. But works really well for both USB & Bluetooth modes of the keyboard.
I came up with udev rules to have fn-lock disabled. The bluetooth one definitely took some work to figure out. But old work actually came in handy and probably needs updating on the side for the original Thinkpad keyboard.
cat <<'EOF' > /etc/udev/rules.d/99-disable-fn-lock-thinkpad-trackpoint-keyboard-II.rules
SUBSYSTEM=="hid", \ DRIVER=="lenovo", \ ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="60ee", \ ATTR{fn_lock}="0"
SUBSYSTEM=="input", \ ATTRS{id/vendor}=="17ef", ATTRS{id/product}=="60e1", \ TEST=="/sys/$devpath/device/fn_lock", \ RUN+="/bin/sh -c 'echo 0 > \"/sys/$devpath/device/fn_lock\"'" EOF
Oh also latest version of the patches (trying) to make their way upstream: https://patchwork.kernel.org/project/linux-input/list/?submitter=188019
Good news. The patches are on their way to the Linux kernel in 5.19
Staging for the patches can be found here: https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/log/?h=for-5.19/lenovo
Hi, I have the Bluetooth keyboard (17ef:60ee) and I'm trying to use the special keys. In my case:
acpi_listen
gives me button/prog1
, and it's mapped to XF86Launch1
, it doesn't do anything by default but I can configure it ✅I'm using Linux 5.18.2 with this patch and udev 247.3.
@bertogg, are you on Xorg? Xorg has 8-bit key codes, while the KEY_NOTIFICATION_CENTER is 444 for example.
I'm with a GNOME Wayland session with Xwayland
Ah yeah, I see them with libinput debug-events
. How can I use them in GNOME?
Hi, I have the Bluetooth keyboard (17ef:60ee) and I'm trying to use the special keys. In my case:
- Manage external display (F7) - works fine out of the box white_check_mark
- Action center (F8) - not sending anything x
- Settings (F9) - works fine out of the box white_check_mark
- Bluetooth (F10) - works fine out of the box white_check_mark
- Keyboard (F11) - not sending anything x
- Favorite (F12) -
acpi_listen
gives mebutton/prog1
, and it's mapped toXF86Launch1
, it doesn't do anything by default but I can configure it white_check_markI'm using Linux 5.18.2 with this patch and udev 247.3.
That's exactly what is happening with my keyboard as well. Also I found that the FnLock
indicator always turns on on startup, even though I disable it before rebooting.
@managervcf
To have FnLock disable you have to use udev to do it. I wrote a udev rule.
Run this command to install the udev rule, then restart udev or the system for it to take affect:
cat <<'EOF' > /etc/udev/rules.d/99-disable-fn-lock-thinkpad-trackpoint-keyboard-II.rules
SUBSYSTEM=="hid", DRIVER=="lenovo", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="60ee", ATTR{fn_lock}="0"
SUBSYSTEM=="input", ATTRS{id/vendor}=="17ef", ATTRS{id/product}=="60e1", TEST=="/sys/$devpath/device/fn_lock", RUN+="/bin/sh -c 'echo 0 > "/sys/$devpath/device/fn_lock"'" EOF
This looks interesting. Is anybody planning on getting it? https://www.lenovo.com/us/en/accessories-and-monitors/new-arrivals/KBD-BO-TrackPoint-KBD-US-Eng/p/4Y40X49493