Bug 112119 - LibreOffice installer doesn't add appropriate entries to TrackPoint TP4TABLE.DAT file
Summary: LibreOffice installer doesn't add appropriate entries to TrackPoint TP4TABLE....
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
5.0 all versions
Hardware: x86-64 (AMD64) Windows (All)
: low enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Installer-Windows
  Show dependency treegraph
 
Reported: 2017-08-30 22:48 UTC by MartinPC
Modified: 2019-04-15 23:41 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description MartinPC 2017-08-30 22:48:52 UTC
IBM/Lenovo ThinkPads (and some of their standalone keyboards) have TrackPoint-branded pointing sticks for mousing and scrolling. Scrolling settings for individual applications are found in a TP4TABLE.DAT file. If an application does not have an entry in that file, or if it's wrong or incomplete, TrackPoint scrolling may not work at all in that application, or it may work vertically but not horizontally. In my TP4TABLE.DAT file, the only LibreOffice-related entry I found in my original, manufacturer-supplied TP4TABLE.DAT file was for OpenOffice (soffice.bin), and horizontal TrackPoint scrolling didn't work in Calc.

I believe that installers for a number of major applications automatically add appropriate entries for their apps in TP4TABLE.DAT when they are run. This is extremely useful for pointing-stick users, who are able scroll in the new app the same way they do in most of the others.

I have been unable to find comprehensive documentation for TP4TABLE.DAT on the Web, and for a user to edit the file himself requires informed guesswork using the summary at the head of the file and tips from other users. I was able to get horizontal TrackPoint scrolling working in Calc by adding the following entry to the Pass 0 rules:

; LibreOffice Calc
*,*,scalc.exe,*,*,*,WheelStd,0,9

but I don't know whether it's the best solution. I do know that many users won't take the time and effort to find out how to do it themselves but will instead simply blame LibreOffice for offering poor scrolling support.

Presumably, either full documentation is available to software developers or they are better able than users to infer the syntax and options from pre-supplied entries. Either way, I'm certain LibreOffice developers would be better able than users to choose the best settings for the various LibreOffice programs.

NOTE: IBM/Lenovo TrackPoints aren't the only pointing-stick mousing and scrolling devices out there. They are commonly found on higher-end laptops and mobile workstations and, in addition to TrackPoint (IBM/Lenovo), are known variously as PointStick (HP), Track Stick (Dell), AccuPoint (Toshiba), FineTrack (Acer), Pointing Stick (Sony, Samsung), StickPoint (Fujitsu), QuickPoint (Fujitsu), NX Point (NEC), C-Stick (Nintendo), and FlexPoint (Sprintek). I don't know whether these other pointing-stick implementations use a TP4TABLE.DAT file or something similar for configuration, but for the millions who use these machines, automatically adding full pointing-stick scrolling support at installation would make LibreOffice more usable out of the box.

Thanks for considering my input; all the best.
Comment 1 Buovjaga 2017-09-09 16:47:05 UTC
Ok, let's set to NEW.

Did you test rules with all the other LibreOffice applications?

I think your solution is best, if it works for you and then it's a question of someone adding the functionality to apply those settings to TP4TABLE.DAT upon install.

I'll set to low priority due to it being somewhat niche and the workaround (people will find this report with web search).
Comment 2 Mike Kaganski 2019-04-15 11:16:20 UTC
I don't think we can do that.

The tp4table.dat is some proprietary settings file, having its own format. The scrolling device developers decided to use some per-application settings. But LibreOffice cannot edit that file:

1. That file is not a public API - the only mention I found on the official IBM site [1] does not describe the details; both on Lenovo site and on Synaptics', I was unable to find anything related. Should we have additional workload to track possible changes to that file format maybe?
2. The file does not have some standard location. It is reported to appear under C:\Windows\System32\; C:\Windows\System32\DriverStore\FileRepository\tp4track.inf_45c84db5\; C:\Program files\Synaptics\SynTP\; C:\SWTOOLS\APPS\TRACKPT\; C:\Program Files\Lenovo\TrackPoint\. It's obviously dependent on specific vendor using Synaptic solution in its product.
3. The file uses executable name to refer to the application. And guess what, there is at least one other office suite out there, which has those soffice.exe/scalc.exe/... executable names. So trying to write there, we could break that other suite settings. The comment on the line above does not allow driver to discriminate real applications - it's just a comment.
4. Even if there's no other suite on the system - there's no way to tell if user had modified that data already to own liking. So we could also break user-defined settings.
5. There's no way for LibreOffice developers to know if those settings fit any equipment that might be using that file. It might be that it's device-dependent.
6. Last thing: the scrolling device developer decided to make it application-aware - so that developer should keep track of applications out there; to them, testing LibreOffice means downloading a free application; a LibreOffice developer should *buy* some device to be able to test that somehow.

My opinion: WONTFIX.

[1] https://www.ibm.com/support/knowledgecenter/en/SSS9FA_12.0.0/com.ibm.hod.doc/help/mousewheel.html
Comment 3 Buovjaga 2019-04-15 11:31:37 UTC
Thanks, as a whole that is a pretty convincing argument for wontfix, so I will close.
Comment 4 Mike Kaganski 2019-04-15 11:47:21 UTC
But anyway, I suppose OP has done some great work here. It might be best to provide the results to Synaptics - they could be the best people who can include it to their products. MartinPC: Please consider sending that to them. Thank you for your interest making LibreOffice better!
Comment 5 MartinPC 2019-04-15 23:41:27 UTC
(In reply to Mike Kaganski from comment #2)

I don't know what handle will appear with this comment, but I used to be MartinPC. I seem to recall that I stopped being able to log in with my old credentials at some point. I no longer remember the details, except that the reason was technical -- a change in hosting? -- not due to any abuse or impropriety on my part.

> I don't think we can do that.

And this now seems reasonable to me, in light of all the particulars you listed. 

I will say that it strikes me as highly questionable on the part of OEMs to *not* make their pointing-stick APIs fully public and to *not* use standard filenames and file locations for configuration files, within each major OS family. Do they think every application developer in the world is going to get in touch with them (and maybe pay them a little something, or cut them a special wholesale price on bundling?) to get their applications included in the pre-supplied pointing-stick configuration file, or to be given enough information to appropriately edit the configuration file at the time the applications are installed? For the life of me, I can't see a legitimate rationale for keeping this information private.

(As someone with a modest background in antitrust, I *can* imagine an *illegitimate* rationale, namely, a combination in restraint of trade to unfairly promote some applications, e.g., Microsoft Office, and unfairly disadvantage competing applications, e.g., LibreOffice. The Document Foundation should ask the European Commission's Directorate General for Competition what *they* think. I'm a US citizen and antitrust enforcement is all but dead over here, so the ball is in LibreOffice's court on this one.)

I may have already tried to contact Lenovo and Synaptics about this problem around the time I first posted this report. It was too long ago and I don't remember. I can try contacting them again.

At any rate, I REALLY appreciate the effort and thoroughness Mike Kaganski put into investigating this problem and putting it to rest. THANK YOU. The "bug" is not LibreOffice's fault; it's the OEMs'.