![]() |
#136 |
Junior Member
![]() Posts: 4
Karma: 10
Join Date: Dec 2023
Device: Kobo Libra 2
|
Ok, here it is
|
![]() |
![]() |
![]() |
#137 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,863
Karma: 12000011
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Sorry, I got confused when I tried to unzip on top of a attrib +r file.
This thing thinks it's a digitizer. That's wacky. Code:
05 0c Usage page (Consumer) 09 01 Usage (Consumer control) a1 01 Collection (Application) 85 03 Report id (3) 15 00 Logical minimum (0) 25 01 Logical maximum (1) 75 01 Report size (1) 95 0b Report count (11) 09 ea Usage (Volume decrement) 09 e9 Usage (Volume increment) 09 30 Usage (Power) 0a ae 01 Usage (AL Keyboard layout) 0a 23 02 Usage (AC Home) 81 02 Input (Variable, Absolute) 95 01 Report count (1) 75 0d Report size (13) 81 03 Input (Constant, Variable) c0 End collection 05 0d Usage page (Digitizer) 09 01 Usage (Digitizer) a1 01 Collection (Application) 85 02 Report id (2) 09 20 Usage (Stylus) a1 02 Collection (Logical) 09 42 Usage (Tip switch) 15 00 Logical minimum (0) 25 01 Logical maximum (1) 75 01 Report size (1) 95 01 Report count (1) 81 02 Input (Variable, Absolute) 09 32 Usage (In range) 81 02 Input (Variable, Absolute) 95 06 Report count (6) 81 03 Input (Constant, Variable) 75 08 Report size (8) 09 51 Usage (Contact identifier) 95 01 Report count (1) 81 02 Input (Variable, Absolute) 05 01 Usage page (Desktop) 26 ff 0f Logical maximum (4095) 75 10 Report size (16) 55 0e Unit exponent (-2) 65 33 Unit (in³) 09 30 Usage (X) 35 00 Physical minimum (0) 46 b5 04 Physical maximum (1205) 81 02 Input (Variable, Absolute) 46 8a 03 Physical maximum (906) 09 31 Usage (Y) 81 02 Input (Variable, Absolute) c0 End collection 05 0d Usage page (Digitizer) 09 54 Usage (Contact count) 95 01 Report count (1) 75 08 Report size (8) 81 02 Input (Variable, Absolute) 85 08 Report id (8) 09 55 Usage (Contact count maximum) 25 05 Logical maximum (5) b1 02 Feature (Variable, Absolute) c0 End collection Last edited by Renate; 01-14-2024 at 07:45 AM. |
![]() |
![]() |
Advert | |
|
![]() |
#138 |
Junior Member
![]() Posts: 9
Karma: 10
Join Date: May 2023
Device: Kobo Clara 2E
|
Is there any reason one kobo would recognize a device in evtest, but another wouldn't? both are Clara 2Es. Tried factory resetting but that is not working. I tried the device (a bluetooth camera remote control) on my own kobo and it works just fine. Logs aren't really telling anything. Should I try a new kobo?
|
![]() |
![]() |
![]() |
#139 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,863
Karma: 12000011
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Well, there is so much wackiness going on with this descriptor I wouldn't be surprised if something kicked it out.
On the consumer controls, there are 13 bits (+3 bits padding) defined for 5 controls. The X and Y coordinates are 12 bit but they each translate to 12.05 cubic inches. And then there is the question of where they are even poking. If you don't set Physical Minimum/Maximum then an X of 4095 means the right edge independent of screen size. With it set as it is it means 12.05 cubic inches which you might interpret (wrongly) as 12.05 (linear) inches. Depending on interpretation this might mean off the screen or clipped to the right edge. But we don't know where it's poking anyway. Finally, the Logical Collection on the Digitizer report seems odd. Also, this is set up for multi-touch. Last edited by Renate; 01-14-2024 at 06:32 AM. |
![]() |
![]() |
![]() |
#140 |
Junior Member
![]() Posts: 2
Karma: 10
Join Date: Mar 2024
Device: LIBRA 2
|
New here, hoping someone can lend a hand.
Bought the Libra especially for the BLE page turning capability. BLE ring bought (cheap 'tik tok' one). BTPT installed. Config built and placed onto Kobo. No working..Patched it with the uuhid module...still no working. ![]() ![]() --- evtest log ----- Code:
Input device name: "S18" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 114 (KEY_VOLUMEDOWN) Event code 115 (KEY_VOLUMEUP) Event code 116 (KEY_POWER) Event code 172 (KEY_HOMEPAGE) Event code 320 (BTN_TOOL_PEN) Event code 330 (BTN_TOUCH) Event code 374 (KEY_KEYBOARD) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min 0 Max 4095 Event code 1 (ABS_Y) Value 0 Min 0 Max 4095 Event code 40 (ABS_MISC) Value 0 Min 0 Max 1 Event type 4 (EV_MSC) Event code 4 (MSC_SCAN) Properties: Property type 0 (INPUT_PROP_POINTER) Code:
Event: time 1711828815.033800, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042 Event: time 1711828815.033800, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 1711828815.033800, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1 Event: time 1711828815.033800, type 3 (EV_ABS), code 40 (ABS_MISC), value 1 Event: time 1711828815.033800, type 3 (EV_ABS), code 0 (ABS_X), value 1904 Event: time 1711828815.033800, type 3 (EV_ABS), code 1 (ABS_Y), value 3200 Event: time 1711828815.033800, -------------- SYN_REPORT ------------ Event: time 1711828815.033844, type 3 (EV_ABS), code 1 (ABS_Y), value 2600 Event: time 1711828815.033844, -------------- SYN_REPORT ------------ Event: time 1711828815.033866, type 3 (EV_ABS), code 1 (ABS_Y), value 2300 Event: time 1711828815.033866, -------------- SYN_REPORT ------------ Event: time 1711828815.033886, type 3 (EV_ABS), code 1 (ABS_Y), value 2000 Event: time 1711828815.033886, -------------- SYN_REPORT ------------ Event: time 1711828815.033907, type 3 (EV_ABS), code 1 (ABS_Y), value 1700 Event: time 1711828815.033907, -------------- SYN_REPORT ------------ Event: time 1711828815.069881, type 3 (EV_ABS), code 1 (ABS_Y), value 1400 Event: time 1711828815.069881, -------------- SYN_REPORT ------------ Event: time 1711828815.097783, type 3 (EV_ABS), code 1 (ABS_Y), value 1100 Event: time 1711828815.097783, -------------- SYN_REPORT ------------ Event: time 1711828815.129836, type 3 (EV_ABS), code 1 (ABS_Y), value 800 Event: time 1711828815.129836, -------------- SYN_REPORT ------------ Event: time 1711828815.161892, type 3 (EV_ABS), code 1 (ABS_Y), value 500 Event: time 1711828815.161892, -------------- SYN_REPORT ------------ Event: time 1711828815.189831, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042 Event: time 1711828815.189831, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0 Event: time 1711828815.189831, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 0 Event: time 1711828815.189831, -------------- SYN_REPORT ------------ Event: time 1711828815.189839, type 3 (EV_ABS), code 1 (ABS_Y), value 200 Event: time 1711828815.189839, -------------- SYN_REPORT ------------ Code:
Event: time 1711828839.065778, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042 Event: time 1711828839.065778, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 1711828839.065778, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1 Event: time 1711828839.065778, type 3 (EV_ABS), code 1 (ABS_Y), value 1012 Event: time 1711828839.065778, -------------- SYN_REPORT ------------ Event: time 1711828839.065837, type 3 (EV_ABS), code 1 (ABS_Y), value 1100 Event: time 1711828839.065837, -------------- SYN_REPORT ------------ Event: time 1711828839.065869, type 3 (EV_ABS), code 1 (ABS_Y), value 1400 Event: time 1711828839.065869, -------------- SYN_REPORT ------------ Event: time 1711828839.065901, type 3 (EV_ABS), code 1 (ABS_Y), value 1700 Event: time 1711828839.065901, -------------- SYN_REPORT ------------ Event: time 1711828839.065933, type 3 (EV_ABS), code 1 (ABS_Y), value 2000 Event: time 1711828839.065933, -------------- SYN_REPORT ------------ Event: time 1711828839.101798, type 3 (EV_ABS), code 1 (ABS_Y), value 2300 Event: time 1711828839.101798, -------------- SYN_REPORT ------------ Event: time 1711828839.129760, type 3 (EV_ABS), code 1 (ABS_Y), value 2600 Event: time 1711828839.129760, -------------- SYN_REPORT ------------ Event: time 1711828839.161728, type 3 (EV_ABS), code 1 (ABS_Y), value 2900 Event: time 1711828839.161728, -------------- SYN_REPORT ------------ Event: time 1711828839.189745, type 3 (EV_ABS), code 1 (ABS_Y), value 3200 Event: time 1711828839.189745, -------------- SYN_REPORT ------------ Event: time 1711828839.225873, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042 Event: time 1711828839.225873, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0 Event: time 1711828839.225873, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 0 Event: time 1711828839.225873, -------------- SYN_REPORT ------------ Event: time 1711828839.225882, type 3 (EV_ABS), code 1 (ABS_Y), value 3500 Event: time 1711828839.225882, -------------- SYN_REPORT ------------ Code:
Event: time 1711828871.653896, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042 Event: time 1711828871.653896, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 1711828871.653896, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1 Event: time 1711828871.653896, type 3 (EV_ABS), code 0 (ABS_X), value 2500 Event: time 1711828871.653896, type 3 (EV_ABS), code 1 (ABS_Y), value 1136 Event: time 1711828871.653896, -------------- SYN_REPORT ------------ Event: time 1711828871.653951, type 3 (EV_ABS), code 0 (ABS_X), value 2200 Event: time 1711828871.653951, -------------- SYN_REPORT ------------ Event: time 1711828871.653983, type 3 (EV_ABS), code 0 (ABS_X), value 1900 Event: time 1711828871.653983, -------------- SYN_REPORT ------------ Event: time 1711828871.654014, type 3 (EV_ABS), code 0 (ABS_X), value 1600 Event: time 1711828871.654014, -------------- SYN_REPORT ------------ Event: time 1711828871.677795, type 3 (EV_ABS), code 0 (ABS_X), value 1300 Event: time 1711828871.677795, -------------- SYN_REPORT ------------ Event: time 1711828871.705887, type 3 (EV_ABS), code 0 (ABS_X), value 1000 Event: time 1711828871.705887, -------------- SYN_REPORT ------------ Event: time 1711828871.737808, type 3 (EV_ABS), code 0 (ABS_X), value 700 Event: time 1711828871.737808, -------------- SYN_REPORT ------------ Event: time 1711828871.765754, type 3 (EV_ABS), code 0 (ABS_X), value 400 Event: time 1711828871.765754, -------------- SYN_REPORT ------------ Event: time 1711828871.797877, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042 Event: time 1711828871.797877, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0 Event: time 1711828871.797877, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 0 Event: time 1711828871.797877, -------------- SYN_REPORT ------------ Event: time 1711828871.797886, type 3 (EV_ABS), code 0 (ABS_X), value 100 Event: time 1711828871.797886, -------------- SYN_REPORT ------------ -------------- right button pressed ----------------- Code:
Event: time 1711828900.089871, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042 Event: time 1711828900.089871, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 1711828900.089871, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1 Event: time 1711828900.089871, type 3 (EV_ABS), code 0 (ABS_X), value 512 Event: time 1711828900.089871, -------------- SYN_REPORT ------------ Event: time 1711828900.089913, type 3 (EV_ABS), code 0 (ABS_X), value 650 Event: time 1711828900.089913, -------------- SYN_REPORT ------------ Event: time 1711828900.089937, type 3 (EV_ABS), code 0 (ABS_X), value 948 Event: time 1711828900.089937, -------------- SYN_REPORT ------------ Event: time 1711828900.089958, type 3 (EV_ABS), code 0 (ABS_X), value 1250 Event: time 1711828900.089958, -------------- SYN_REPORT ------------ Event: time 1711828900.109805, type 3 (EV_ABS), code 0 (ABS_X), value 1550 Event: time 1711828900.109805, -------------- SYN_REPORT ------------ Event: time 1711828900.141858, type 3 (EV_ABS), code 0 (ABS_X), value 1850 Event: time 1711828900.141858, -------------- SYN_REPORT ------------ Event: time 1711828900.169895, type 3 (EV_ABS), code 0 (ABS_X), value 2150 Event: time 1711828900.169895, -------------- SYN_REPORT ------------ Event: time 1711828900.201838, type 3 (EV_ABS), code 0 (ABS_X), value 2450 Event: time 1711828900.201838, -------------- SYN_REPORT ------------ Event: time 1711828900.229714, type 3 (EV_ABS), code 0 (ABS_X), value 2750 Event: time 1711828900.229714, -------------- SYN_REPORT ------------ Event: time 1711828900.265716, type 3 (EV_ABS), code 0 (ABS_X), value 3050 Event: time 1711828900.265716, -------------- SYN_REPORT ------------ Event: time 1711828900.289684, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042 Event: time 1711828900.289684, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0 Event: time 1711828900.289684, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 0 Event: time 1711828900.289684, -------------- SYN_REPORT ------------ Event: time 1711828900.289692, type 3 (EV_ABS), code 0 (ABS_X), value 3350 Event: time 1711828900.289692, -------------- SYN_REPORT ------------ The config file named S18 in .btpt nextPage EV_ABS ABS_Y 1012
prevPage EV_ABS ABS_Y 3200 |
![]() |
![]() |
Advert | |
|
![]() |
#141 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,863
Karma: 12000011
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
The basic problem is that it's trying to be a mouse, not a "D pad" or cursor keys.
|
![]() |
![]() |
![]() |
#142 |
Junior Member
![]() Posts: 2
Karma: 10
Join Date: Mar 2024
Device: LIBRA 2
|
It does function as a mouse on all connected devices, but I thought that was quite common and not an issue.
Are you suggesting it needs reprogramming to be a D Pad style ring outputting 0/1 instead of outputting X/Y integer values? The japanese blog post referenced in this thread using absX and absY with success. |
![]() |
![]() |
![]() |
#143 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,863
Karma: 12000011
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
The very cheapest devices ($1 selfie clickers) are completely mask programmed and nothing can be changed.
Better devices (BT keyboards) have the bulk of code in mask program and an I2C EEPROM for configuration. It's quite easy to change the display name for the device to anything (with the same or less characters) as those strings are conspicuous. The HID report descriptor is easy to find too. If the Usage for the button is not an array it's easy to change button assignments. If it is an array you'll have to find the values elsewhere and they could be in instructions instead of raw. If you want to change other thing (like sleep timeout) it can get complicated. If you end up doing all this work, buy a case of these devices. When you try to re-order everything will be different. Of course you'll need an I2C master running at ~3V. |
![]() |
![]() |
![]() |
#144 |
Junior Member
![]() Posts: 3
Karma: 10
Join Date: Apr 2024
Device: Kobo Libra 2
|
Hi, I have the same controller. What did you put in the config file in regards to assigning which buttons to turn the page back and forth?
|
![]() |
![]() |
![]() |
#145 |
Member
![]() Posts: 14
Karma: 10
Join Date: Jun 2020
Device: Kobo Aura One
|
It works very well on my Libra Colour. I use 8BitDo zero 2.
Thank you @tsowell Now I'm looking for the way to turn on Bluetooth from NickelMenu. |
![]() |
![]() |
![]() |
#146 |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,863
Karma: 12000011
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Game controllers weird me out because they're not symmetrical.
The 8BitDo zero 2 is cute as heck and comes in yellow! OTOH, for a page turner you really want something with less buttons that you can orient in your hand and find the right button without looking. |
![]() |
![]() |
![]() |
#147 | ||
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 86
Karma: 81981
Join Date: Oct 2023
Location: Ontario, Canada
Device: Kobo Aura Edition 2, Kobo Clara 2E
|
Quote:
Quote:
Also, with 8BitDo's the bluetooth connection to the device for some reason isn't automatic. Unfortunately you still need to go into settings and engage the connection manually. I've tried many devices, and the only device I found that engages the minute you turn on bluetooth is the selfie clicker that looks like this for me: https://imgur.com/a/X5VkFgm ![]() |
||
![]() |
![]() |
![]() |
#148 |
Connoisseur
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 86
Karma: 81981
Join Date: Oct 2023
Location: Ontario, Canada
Device: Kobo Aura Edition 2, Kobo Clara 2E
|
I'm thinking of making a fork of the repository to help @twowell, and I think we can add a few functions to this addon (which I use heavily).
8bitdo's are great but there are only 4 functions that I was able to get working. next and previous chapter, and next and previous pages. The use case I was looking into is to adjust the distance between the reader and myself so I would need to implement things like: Increase, Decrease font size Increase Decrease line height Bookmark, Unbookmark, Go to next/prev Bookmark Turn the screen 90, 180, 270 degrees generic NickelMenu commands/Shell scripts Dark Mode/Light mode Background light (no sure how stable this is) |
![]() |
![]() |
![]() |
#149 | |
Member
![]() Posts: 14
Karma: 10
Join Date: Jun 2020
Device: Kobo Aura One
|
Quote:
|
|
![]() |
![]() |
![]() |
#150 | |
Wizard
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 2,863
Karma: 12000011
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5
|
Quote:
I have foot pedals, keyboards and clickers and I never touch a power switch. I just hit some key and within two seconds it connects. Ok, I'm on Android, I have my own popup that shows BT appearing and disappearing. Does the Kobo give you any indication that something connected? |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Accessories New hand stick Bluetooth for turning page! | guitu | Amazon Kindle | 16 | 07-23-2021 12:20 AM |
Kobo Clara HD - Quick page turning | Rarronno | Kobo Reader | 7 | 09-06-2019 01:26 AM |
Bluetooth Page Turning | hismaimai8888 | General Discussions | 2 | 11-25-2018 11:37 AM |
Bluetooth Page Turning | copaw | General Discussions | 14 | 11-17-2015 02:09 PM |
Kobo app page turning animation?? | morgan freeman | Android Devices | 0 | 03-23-2013 11:15 PM |