Hacker News new | past | comments | ask | show | jobs | submit login
Linux touchpad like a Macbook: goal worth pursuing? (williambharding.com)
433 points by macco on July 17, 2018 | hide | past | favorite | 336 comments

I have been using 12" MacBooks since they came out because I live out of a backpack and travel a lot.

I cannot find anything comparable in terms of size/weight/battery and build quality. Especially the trackpad, nothing is remotely close. Otherwise I'd get that and put Arch on it.

People complain Apple is expensive, not so sure. The TCO may actually be less because of the high resale value. It is also more convenient.

More than once when faced with crossing an annoying border (TSA, sigh) I'd sell the Macbook at my origin and simply pickup a new one at the destination. Thirty minutes in-and-out of the Apple store, they all seem to have exceptionally fast wifi, and setup handled via a curl-to-bash of mine gets me exactly back to where I started, down to the sessions..

Since my points of origin usually have higher Apple prices due to currency/taxes, I end up accidentally eking out a profit after months of use per machine.

If you can't be arsed with the above consider this: Their retail global presence is getting to be quite complete, even coming to Samsung land (Seoul, behold: https://www.youtube.com/watch?v=xt4ldH5vQCQ) and Tel Aviv finally along with some others. Most big airport hub cities will have an Apple store close by.

Stuff gets broken or stolen and yet with this setup I'm generally never 24 hours away from my exact laptop setup...

There is no alternative. I feel trapped.

> There is no alternative. I feel trapped.

This is ironic, considering that you live out of a backpack! Honestly though, there are alternatives, but that's the problem with luxuries: once we have been spoiled, human pyschology makes it difficult to accept "less." We tend to describe things we want as things we "need." It seems that many Apple power users, myself included, tend to be perfectionists when it comes to computers. Unlike the rest of the population — the majority of whom don't live out of a backpack and can not justify the cost of Apple products (with the possible exception of an iPhone) — "good enough" just doesn't cut it.

Depending upon what you're using your computer for, you could have a "good enough" setup with just about anything, though it would probably be less comfortable to you than what you have now. For light use, a Chromebook can be instantly set up, and they can be found all over the world. For heavier use, any Windows 10 laptop can sync settings to the cloud and, coupled with Chocolatey and WSL, it's possible to emulate your current workflow. MacBooks are fantastic machines and I believe they offer immense value but, if you feel trapped, it's because the adventurous spirit that has carried you across the world has yet to extend itself to your computing environment!

I used to use macbooks exclusively, but for the last 2 years or so I have switched mostly to windows 10 because of work, and I hate it more two years later than I did when I started using it.

I am truly trapped. I will buy another macbook, I can't help myself. Even now I can feel myself justifying their flaws in order to propel myself towards the next model. There is no escape.

There is an escape, but you lose some ports and cores with it.

I like how you view this as a luxury and you’re right. But efficiency and near optimization are more virtuous luxuries, to me, than things I frequently think of like sugar or diamonds.

Having an efficient interface with which to work is really important to me. I suppose it’s a luxury to not have to wait 500ms between keystrokes in vim, but I want instantaneous response.

The MacBook touchpad is really useful and using another slows me down both physically as well as mentally since I know there’s a better option.

I had a Thinkpad x200s, and all in all, nothing came/comes close to it (tolerating the slightly thicker build, which is inevitable for highly serviceable machines).

I've been an MBA user as well, for reference. I use the mousepad little to none though. Possibly (but I'm not sure, since I haven't tried) IBM had such capillary distribution to support the quite bizarre use case of selling and repurchasing a new machine every few months.

Sadly, the line is over, and this type of build is obsolete nowadays.

X220i here, and even though modern browsers and applications do tax its CPU (leading to shorter battery life), I still get at least 5 hours out of a new (and inexpensive) 9-cell battery. Build quality is simply second to none, the hinges are still perfectly tight with no slop, even after 7 years.

x1 (gen c5) is amazing as well. After almost a decade as a macbook user, i'm impressed by it & back to linux! :)

I have one of those from work and running NixOS in it, everything works perfectly and I love the machine.

Btw if thinking of a X1C for Linux use, I'd skip the latest for now due to them changing how the sleep works and it having issues even with Windows (losing battery while sleeping). The fifth model is great though, if you're not looking for the 8th gen CPU and HDR screen.

C6 definitely has too many drawbacks, but, I'd love to have the little camera cover. I'll have to 3d print one...

Unfortunately they don't pop up very often as refurbs, and they tend to be overpriced when they do.

x220 user myself, great little machine. Hard to break. I upgraded the disk, 16 GB RAM and new battery. I once dissassembled it completely to replace the CPU thermal paste and was surprised by how easy it was. Now I'm confident that whatever breaks I'll just fix it.

> tolerating the slightly thicker build, which is inevitable for highly serviceable machines

I'm in the same boat, and I actually think the lack of serviceability is a feature. On the x220 you can change the disk, the memory and the keyboard just by unscrewing a few screws. On newer laptops, including the whole Thinkpad line, you'll eventually end up breaking little pieces of plastic involved in holding the bottom of the machines, regardless of how much care you take, using the right tools etc...

Especially considering that the gain is to be thin, which really doesn't add much to laptop. If you're restricted for space, then the width is the key factor (try to use anything bigger than a 13 inch on an airplane!). "Thin" seems to be a pissing contest between laptop manufacturers, which the marketing departments then took care of convincing buyers that it was an important feature.

I upgraded the RAM on my T470P a while back and there wasn't anything to break really, the clips where robust and it was 7 screws to take the back off.

It wasn't noticeably different to my R50 a long time ago.

I think I'm going on 7 years with my x220. It simply refuses to die, and I love it.

I've been using a 13" MBP for years, and am almost astounded by how much I take it, and its trackpad for granted from reading this thread. Also-- Would love it if you could share an example of the bash you execute to restore everything right up to the sessions (redacted where necessary)!

Mid 2014 MBPr here. Got it the day after it came out for about $1000 after winning the Best Buy coupon lottery. I haven’t had a single thought of replacing it since. Its battery still lasts me all day, the laptop hasn’t slowed down on me, and is still completely silent. I’ve dropped it plenty of times and I’m getting a bit suspicious of how much longer it’ll last me. I’ve fallen in love with it though and I really hope I won’t have to replace it anytime soon.

> setup handled via a curl-to-bash of mine gets me exactly back to where I started, down to the sessions..

Wow. I'd love to know more about that.

Can you tell me more about "curl-to-bash"?

Setting up my mac can be a matter of days and I hate it.

Whoa, why? Or, more specifically, why are you not using migration from a prior Mac or from a Time Machine backup? The ease with which a Mac user can be up and running on new hardware is, to me, one of the larger advantages of the platform. I know, this being HN, that you likely have a number of FOSS tools installed; are they somehow not getting picked up properly by migration & backup?

True story: we were robbed in 2012, in a quickie smash-and-grab through a rear patio (glass) door. They were in and out in maybe 1 minute, and took only what they could see from the yard -- which included my Macbook Pro.

We're well insured, so I went and got a new one the next day, plugged it into my Time Machine drive, and went and had lunch. When I came back, my new machine was ready to go -- all my apps, all my data, and even all my app windows were restored.

Shit, I hope your data was encrypted

D00d. I read HN.

I think they mean the classic install process of "curl -s <url> | bash", used to download and then execute a bash script. The real question in my opinion is what kind of tools can fully set up an entire environment, including sessions, from a bash script? Homebrew only gets you so far.

Apologies for the self-plug but this is what I built for GitHub to do exactly this: https://github.com/MikeMcQuaid/strap. Add Homebrew Bundle and a Dotfiles repo into the mix and you get what was described. This is obviously pretty Homebrew and GitHub centric because I work on both.

Just want to thank you for `strap` and your `dotfiles` repo's, Mike! They've been terrifically helpful in setting up my Mac environment.

Thanks for the kind words <3

I haven't played with it on my mac, but I've been headed down the path of setting up my environment with Ansible. I have one script that bootstraps Ansible, and it does the rest. That said, I haven't managed to get everything in there yet. It requires discipline to never set things up without putting them in configuration management (same as if you're configuring servers).

>Homebrew only gets you so far.

Homebrew has an app that can also handle installing Mac App Store apps. It also handles installation of third party fonts.

You then download and activate your dotfiles, copy over your data, and that's it.

For sessions, I guess a download of a recent cloud sync of your last tmux state for iTerm2 would do it (haven't tried).

Some of the old Boxen libraries (Puppet automation for things generally outside of the "run a command to install" area--like complex OS configuration and per-application setting installation) plus a bit of bash and a few Hammerspoon scripts gets me working. It's not pretty, but usually means the only things I have to do manually are install XCode and log into a few accounts (unless I'm changing hardware types or OSX vesions).

Possibly a complete image of the disk. dd'ing from an SSD with trim gets you zeros for the unused sectors, otherwise write a big file with zeros on the remaining space.

This data compresses quite well and gets you all the hidden and extra attributes an rsync might miss. That would be my unix-y approach.

I just rsync my home directory and re-run the nix installer.

Setting up my mac is a matter of letting things run overnight mostly (the rsync primarily).

Then chsh to zsh and log in/out and bam, back in business. I put all my apps in ~/Applications as well or as often as I can. I think screen flow is the only app that I need to install, but that is a bit of a one off and not often used so no big deal.

Agreed. Apple makes the best consumer mobile computer hardware by far, repairability issues aside. The touchpad is originally what sold me on my first MacBook (2013 13" Retina) and it is still the feature I miss the most on other laptops.

Apple makes the best looking consumer computer hardware, but a Thinkpad destroys it in every department except the Trackpad. Keyboard (no contest), upgradability, RAM, ruggedness, even price.

I see people say that Thinkpads are more rugged than Macbooks and have to wonder what that opinion is based on. My own experience is that they're at least on par. (unless we're talking about the specifically-engineered "toughbook" style Thinkpads)

I've dropped my Macbook Air, open, from a standing height onto a tile floor (accidentally, obviously), and the only damage was a slightly bent corner of the lid. That was 3 years ago and I'm still using it every day. And my home beater is a 2008 Macbook Pro that I've dragged all over the world; the only failure so far has been a fan, which I replaced myself.

In my case, my opinion is based on:

- All (newish) thinkpads having spill-resistant keyboards.

- The best-selling ones (X & T series) meeting the Mil-SPEC 810G standard.

I use a Mac though, because I got tired of fighting to get Linux properly running on my thinkpad


I've been impressed with the durability of MacBooks in the past, but sadly the "survives a fall from the top of a refrigerator without a scratch" feature has been superceded by "keyboard exposed to air, several keys stop working". They're way too flaky these days for the nice aluminum unibody to offset.

Good point. I haven't bought a laptop in a while, so my view is probably outdated. I do like the keyboard on my Lenovo work laptop though.

I had kept repairability issue aside until I had to go for flash drive replacement of my 2012 13" MacBook Air recently.

Apple support (which is a 3rd party in my country) said ~$400 and local repair guys quotes like $350 or so. The new MBA (last year's) is available for ~800 here. Apparently I can't get any other brand's flash drive fit in there.

That laptop worked just fine (battery, screen all). I wish I can find a way to give it another year or two. Maybe boot from a memory card or so and leave it plugged all the time?

Here's what you want:


Just replaced the internal SSD on a 2012 MBA myself - works great now :)

Thank you. I will try to find its equivalent available in my country (IN).

You can also boot off a Thunderbolt 2 or USB SSD drive for better performance. I duct-taped one to the back of my screen a few years ago when I didn’t have time to get a repair done.

> I cannot find anything comparable in terms of size/weight/battery and build quality. Especially the trackpad, nothing is remotely close. Otherwise I'd get that and put Arch on it.

Arch on a macbook is a great experience

I tried for a while, and running it natively really hammered the battery, got nowhere close to the same uptime as when running macOS. Running it in a VM was OK on battery, but of course there's CPU/RAM overhead, and the trackpad _feels_ nice, but it still doesn't quite move in the right way.

when using powertop on my MBP 2014 I can get 7-8 hours of battery.

What’s the catch? If powertop is so good why isnt’t it built into distros?

The tweaks don't always work without any issues: speakers make static or USB ports get disabled even with wireless mice, for example. Distros don't want to cause problems like this.

> If powertop is so good why isnt’t it built into distros?

well, it's usually just an `apt install` or `pacman -S` away. I don't think that distros are optimized for laptop use cases.

Some distros don't offer a laptop-optimized build explicitly. But many times this is because the optimization is performed as an automated step during the installation process.

That said, some popular distros do offer laptop modes during install. Off the top of my head, I think Ubuntu and Gentoo do.

Oh that'd be enough for me, I'll give it a go.

What about the trackpad though? Of course the hardware feel is the same and great, but it doesn't move quite right, like it does with macOS, or you would with a mouse.

I think it's funny how your entire comment reads as a love story, then ends with "There is no alternative. I feel trapped".




Looks like you get twice the ssd for the money and similar performance but you get a better screen on the apple. Of course you could of course spend more and get a model with a better screen as well.

1300 vs 700. Even if you get 25% resale value after 3 years and say 20% for the thinkpad you will have paid 975 vs 560 for the thinkpad.

The resale of a MacBook after 3 years is way more than 25%

I can find 2015 retina macbook pros with 1tb of storage that originally sold for 1800 for 600 at this point which is aprox 33% resale value after 3 years. This is only slighter higher than prior estimate. There also may be a transactional cost in moving it ebays cut + shipping OR a time cost/risk in selling it yourself via craigslist for cash. This is not counting the cost of refurbishing to make ready for sale for example replacing the battery. If you spend $30 shipping give ebay 50 and pay 80 for a battery and sell at 600 you may only net 440 or around 25%.

Here is an interesting analysis of why used macs may be worth more. Authors thesis seems to be that because apple lacks a low end and has a smaller pool of buyers there is more demand among cost conscious buyers. It also holds back in 2015 that used apple products are worth twice as much as other vendors products in the same portion of their lifecycle but seems to have hard numbers only for phones and from 2013 so not neccesarily relevant to present laptops.



I further hold that resale value is of negligable value to most uers who will either break a device, pass it on to a family member, lose it, or hold onto it until it is effectively of negligable resale value.

It would be disingenious to take maybe money into account when making a purchase unless you specifically plan to upgrade frequently and use the money from said sale to offset the cost of newer models.

For example one could spend 1800 then sell for half in 2 years and put it towards the next 1800 machine. One could spend not much more than 900 per year after the initial investment. So say over 10 one would have purchased 1 machine at 1800 at year zero one for 900 each at year 2 4 6 8 for an average cost per year 540 per year.

Of course people are vastly more likely to say purchase for 500-900 and use for 3-5 years then rinse repeat for a cost of 100-300 per year.

Wouldn't it be easier to just wipe the drive before TSA?

I think people are really confusing TSA with border control. TSA cares about people bringing knives and bombs on planes. US CBP/ICE or similar is a very different thing from TSA. I've never heard of TSA asking for any more detailed inspection of a laptop than swabbing it for chemical residue, and asking that it be powered on to confirm it's a real working laptop. CBP/ICE on the other hand are a totally different story (as documented extensively by the EFF, etc).

people definitely conflate the two, especially since the TSA has in the past taken great interest in peoples laptops. I don't think they currently have the authority to do any sort of accessing of the data on peoples computing devices.

I would be disinclined to try to tell TSA what their authority is, just as I am disinclined to tell them in person that it's flipping stupid to require me to remove my belt.

Telling the hands of the government that they don't have the authority seems like a very fast ticket to a very inconvenient travel delay. There's almost certainly some rule or administrative thing where they Can Get Away With pretty much what they say you can, and then you're stuck finding a lawyer.

Really depends on their comfort/paranoia level. If the device is taken out of their sight for more than a few minutes, they'd be highly suspicious. More so if you are crossing borders of countries known to be hostile.

> Really depends on their comfort/paranoia level. If the device is taken out of their sight for more than a few minutes, they'd be highly suspicious.

If your expected adversary is a nation-state intelligence agency, what do you expect to do? Take your laptop with you everywhere you go, all the time? Leave in your apartment for a theoretical attacker to execute an evil maid attack on it?

FDE is highly useful against ordinary adversaries. People with the financial/staffing/training resources to run surveillance on you 24x7 and access your equipment while it's unattended, that's an entirely other ball game.

You are considering only the extremes. There's also a ground between ordinary adversaries and nation-state agencies.

Take for example China. There are plenty of rumours about business executives taking throw-away electronics while crossing the border or how China installs some random software on people's devices when crossing a border neighbouring a certain province[1]

FDE can also lead to increased suspicion when crossing a border and refusal to unlock the system can pretty much lead to a denial of entry or, worse, detention. FDE also doesn't help in cases when a random border crossing can require installing a malicious boot-loader or a persistent malware somewhere in the system.

In the China story, they might not be installing a persistent bootloader but there's nothing really stopping them from doing that.

Honestly, in certain cases (and I'd rather say, a lot of cases) it's just easier to have no device than deal with what they did to your device after the fact or just sell the device after entering if you are suspicious of it.

[1] https://motherboard.vice.com/en_us/article/ne94dg/jingwang-a...

A nation-state also has a gap between the most advanced capabilities and what can be used on a routine basis.

For instance a TSA screener is not going to have access to the latest and greatest because information about it gets leaked people will take counter measures.

>Take your laptop with you everywhere you go, all the time?

With a small laptop, this is a very small problem.

>Leave in your apartment for a theoretical attacker to execute an evil maid attack on it?

Security cameras?

With very basic training anyone can maintain good physical opsec, the much harder part is keeping your software secure.

>Leave in your apartment for a theoretical attacker to execute an evil maid attack on it?


This isn't about fancy "infosec" threats, this is about TSA breaking or stealing your laptop, or alternatively ordering you to unlock it or they won't let you (a non-American) into the country.

yeah if you're going through the trouble of selling and buying a new mac it really seems a drive wipe is more than sufficient but I may be missing something. in general traveling without a computer is easier than travelling with one.

I can see how selling a used MacBook(purchased in the USA from a state without state taxes) could just be sold off as a used item in say Europe, before returning back to the US. The difference in cost could actually be a net positive.

Now, if all your files live in the cloud, and you have your setup automated completely, why not?

The keyboard layout is an issue.

For dev work an US keyboard is actually preferable.

While we’re here, let me just add another little form of “geographic advantage” (?) to the mix: you all know cmd-‘ pages through windows of the same application. On a US layout ‘ is right up next to tab, which makes it extremely convenient to remember the mnemonics of cmd-‘ and cmd-tab. In US intl ‘ is shoved down next to lshift, and the premium key top of tab is the useless §.

Why? Apple, why?!

US English keyboards are available in most places alongside the local variants (though I guess you can’t guarantee they’ll always be in stock)

Or a benefit, depending on who you ask. (I prefer ANSI keyboards)

It is ridiculous how hard it is to get ANSI keyboards here (Germany). Laptops are ok (Macs, Lenovo and Dell) but external keyboards (especially mechanical ) and any other laptop brand are a huge hassle.

> More than once when faced with crossing an annoying border (TSA, sigh) I'd sell the Macbook at my origin and simply pickup a new one at the destination.

Wow! I've heard of this as a practice reserved for the ultra-paranoid, but never actually seen somebody who does it. What's your threat model? Do you have some reason to believe that the US three-letter-agencies might target you in particular? Are you famous in security circles?

How frequently are you traveling? And is it usually for extended periods of time? I'm curious for more details, if you can share.

I'd also like to know more about your config restoration process. Is it literally just running your script? What other things does it do?

My process is fairly streamlined as is, with most things except software installs done automatically. But I'm always on the lookout for improvements.

Continuously the last two years, 30+ countries. :)

What kind of details are you looking for? I unbox at the Apple store and:

- Temporarily turn off Spotlight & Time Machine (Permanently) because it helpfully tries to index everything and tinker with a handful of system preferences while a memorized curl|bash runs

Mostly appearance related. This can also be automated but doesn't seem worth it as it only takes a minute. I don't use iCloud.

- Selective sync with Dropbox (which was just installed for me), mostly for the 1Password folder, while the rest of the script runs. Read HN or better yet about the new surroundings.

- Manually run software update and reboot into my now familiar machine

- Turn spotlight back on

I do forget to remap the esc key each time I do this, or the name of the thingie that helps you do that, that's about the only noticeable difference between old and new machines.

>I do forget to remap the esc key each time I do this, or the name of the thingie that helps you do that

I don't suppose it's Karabiner[1], is it? This is the one I'm most familiar with, as it's been around under a few names for a very long time.

If so, this is in `brew cask`[2], which I am assuming is somewhere in your script's mix.

1. https://pqrs.org/osx/karabiner/

2. https://github.com/Homebrew/homebrew-cask/blob/master/Casks/...

I'm not sure to which key you want to remap esc to, but if it is to any of Command, Option, Control, fn or Caps Lock, you can do that from the Keyboard Preferences: https://i.imgur.com/whzlIW9.png

OS X by default lets you rebind the capslock key to esc :)

>and setup handled via a curl-to-bash of mine gets me exactly back to where I started, down to the sessions..

could you explain this exactly? i browse hacker news casually and this part is a bit over my head

The buyer of your MacBook may be dangerous.

Entering country: buy Macbook and SSD/RAM.

Leaving country: remove/hammer old SSD/RAM, install new, and sell.

Or rely in Linux proper frigging LUKS drive encryption

I'll volunteer 2 months full-time development for free, with a few conditions.

- I'm looking for a job in New Zealand, Australia, or Canada. Not Seattle (sorry Bill). I'd stop job hunting to work on this, so someone else will have to find me a job.

- I'd develop for the MacBook Pro 2014, because that's my hardware. Only one Linux distro (probably Ubuntu).

- Weekly check-in emails (maybe twice a week). A plan set out at the beginning with the deliverables for each week.

Am I qualified? No idea. Currently I work at OSE, a microSD card manufacturer in Taiwan, where I've bit-banged control systems protocols and done big data analysis. The closest side project I did to this is KeyMouSerial, which logs keyboard & mouse movements on my laptop, sends them to an Arduino, which behaves like a keyboard for a Raspberry Pi.

I'm disillusioned with Apple now, and wanting to hop to Linux. I also want to port iTunes and AppleScript, though I think there's less demand for those two.

I hate to be negative, but what makes you think you can do in two months what Microsoft has failed to do in several years (Microsoft's Precision Touchpad is still a ways away from a Mac touchpad).

I probably can't finish it. But I can start, and document it all.

The 2 month time is because that's how long I spent on summer internships before (I rewrote Pixelgarde in 6 + 8 weeks, and a driver for a Fisher & Paykel Healthcare CPAP in less than 3 months). Second, my ankle's broken so I'm taking time off my normal work. Third, I hope that if I do the alternative (keep applying for jobs), I'd get an offer within 2 months.

> I'd develop for the MacBook Pro 2014, because that's my hardware. Only one Linux distro (probably Ubuntu).

While I haven't used desktop linux as a host os in years, but I agree on the sentiment that the macbook trackpad is easier/probably implemented well already.

Years ago, I spent a bit of time bootstrapping thimblemac.com which involved hacking around and using privateframeworks for the trackpad. Much of the work in that space is seemingly based off of code from back in 2009 - http://blog.sendapatch.se/2009/november/multitouch-on-unibod... , and from searching github just now staring briefly at https://github.com/robotrovsky/Linux-Magic-Trackpad-2-Driver it looks like they've gotten things implemented fairly well.

Between being more interested in surface-like tablets and watching the diy keyboard community's growth, I wonder how hard it would be to create an Open-Source-HardWare typecover that included a touch pad. There have been things like the macdec and express keyboard (https://www.wired.com/2011/02/macdec-tea-tray-holds-keyboard... , https://bullettrain.com/products/express-keyboard-platform?v... ), but given the slimness of the force touch trackpad and info around slim keyboards I bet you could make something small enough to pair with a tablet. You could start by making a slim diy keyboard (think https://keeb.io/collections/frontpage/products/dilly-3x10-or... but slimmer) that had an insert for a bluetooth apple magic trackpad, then optimize the design from there.

Really? Outside of the lack of force touch, I haven't found the Surface touchpads to be any worse than Macbook ones in terms of accuracy.

I haven’t spent much time with the Surface touchpad. On my X1C, which has the Precision touhpad driver, little things are off. E.g. moving the cursor with one finger while others are resting on the touchpad will hiccup a bit.

Who ever accused Microsoft of always doing their best to have the best product on the market at all costs?

The surface book touchpad is every bit as good as anything Apple has to offer. I owned 5 different macbook pro/airs prior to making the switch when the touchbar MBP came out.

Comparing insert other hardware manufacturer and laying it on Microsoft isn't really fair... they have no control over what the hardware mfg's put in their laptops. And they can only fix so much in software when there are literally thousands of combinations on the market at any given time.

The surface book touchpad hardware itself might be as good as the trackpad in Macbook's but the software support in windows is not even close. Almost everything but UWP apps and some other first party windows apps have jittery scrolling even with the best trackpad hardware, which is not the case with mac apps.

Either you've never used a surfacebook, or you've got faulty hardware, because that is 100% false. I spend exactly 0 seconds of my day in UWP apps.

There is absolutely 0 issues with jittery scrolling, and out of the 10 or so people I know with SBPs, not a single one has ever mentioned that as an issue. And given that everyone in my group that is on an SBP was previously on an MBP, those cries would be loud and frequent.

> I'm looking for a job in New Zealand, Australia, or Canada. Not Seattle (sorry Bill). I'd stop job hunting to work on this, so someone else will have to find me a job.

I think letting someone else job hunt for you is unconventional for a reason (it's probably a bad idea).

Recruiters do exist, but that's not my idea.

I'd rather that a project manager in one of those countries use this as a kind of long interview. If I succeed/work well with them, then they'd hire me.

I certainly wish you the best! A lot of people say they support Linux and open source, but are not willing to put significant effort in themselves (that includes me, to be honest).

I would be amazed if someone is going to be willing to find you a job because you decided to work on some OSS. However, having a project like this to talk about is great interview material.

As for actually building this, I'd be very excited to see this being worked on. It's going to need a lot of different hardware to test with, so the more people working on it the better.

Sorry if this is a stupid question, but do we need new Linux drivers for MacBook touch pads? Mine is working fine on my 2015 MackBook with Linux Mint. Am I missing something obvious?

Maybe not new drivers, but the existing ones drive me nuts. For example, I often rest my thumb on the bottom left corner of the trackpad (where I press to click). That interferes with my cursor movement on Linux, but not on macOS, which ignores my resting thumb with 100% accuracy.

I’m not sure but when I tried using my external mac touchpad on Ubuntu it wouldn’t handle scrolling (two fingers).

Sorry for being off-topic, but I can't resist asking why on Earth would you want to port iTunes and AppleScript? Everyone I know (except the HN user actsasbuffoon) loathes iTunes, while AppleScript is just... silly, compared to other scripting languages.

I like iTunes, I don't understand why people hate it.

Applescript is silly in some respects. It was the first scripting language I learned so it has a special place in my heart. I would totally spend the time to port that if someone was wanting help with that. It's quirky and not difficult to pick up. I can't imagine it having much of a market outside of the Mac ecosystem though. I guess I'm also curious why.

I miss the old iTunes 10 interface, which I use as a database manager (I like smart playlists, playlist folders, and Genre > Artist > Album columns).

AppleScript because it has so many APIs. BetterTouchTool makes heavy use of it. I taught myself how to code in it when I was 13, and I still use it now.

> I like smart playlists, playlist folders, and Genre > Artist > Album columns

Doesn't Rhythmbox have that?

>AppleScript because it has so many APIs.

You mean the commands you can use on apps like iTunes, Finder, Photos, etc.? Those are not AppleScript-specific per se (AFAIK there used to be an option to write Automator scripts in JS). You'd need the Linux/Gnome/KDE equivalent of the Open Scripting Architecture ( https://developer.apple.com/library/archive/documentation/Ap... ) with active participation from app developers. Sounds like a huge overtaking.

Yes, it would be a huge undertaking. I've already rewritten my own apps for offline maps, calendar, notes, and I plan to write contacts and iTunes too. When there's a standard API comparable to Apple Events/OSA within those core apps, I'd hope to have enough leverage to persuade other app developers to accept pull requests.

We already have D-Bus to cover sending events to applications, what's really missing is a standard way to enable scripting. I've had a similar idea myself but never got around to implementing it, but I think a standard D-Bus interface applications could implement to expose a scripting dictionary along with a Python/Ruby/Whatever library to implement a more OSA-like interaction would go a long way.

Out of curiosity, what GUI toolkit have you written these apps in/for? Something Mac-like (GNUStep)?

Yes, you can still write Automator scripts with JavaScript!

Unfortunately the documentation is AppleScript only.

So, in 2018, at peak JS, it's practically an easter egg that you can write Automator scripts in JavaScript.

I guess this is indicative of Apple's commitment to macOS automation...

Howdy. You've now met someone who thinks iTunes is decent for his uses.

I like iTunes as a music player. I've never seen another app that tempted me to make the effort to switch.

There are a few warts in its other tasks (which should be spun of into another app), but once I switched to iCloud syncing for my phone I stopped seeing those.

One of the main reasons I stopped using Linux is the touchpad! It is horrible out of the box experience and the insult to injury is the lack of no good user interface to even set anything. You have to screw around with libinput or xinput with zero documentation on both parts and hope you will hit a sweet spot eventually and hope that any future updates won't break it.

I am way past of the tinkerer phase where I would enjoy spending a week on trying to make something work under Linux just so I can feel better. Or the patience where I waited for 1.5 years just to have proper support for the AGP slot on my motherboard.

I want a Linux system that works out of the box and has no problems with standard features like a touchpad.

Under Windows 10 the new precision drivers are fantastic, very close to Mac comfort. Whoever creates something similar under Linux deserves a Nobel Prize and a monument.

> Under Windows 10 the new precision drivers are fantastic

So it would be reasonable to limit that new Linux driver to support only Windows Precision compatible touch-pads. It seems that variety of different touch-pad hardware is causing that problems with creating a good Linux driver.

That is what the article suggests; creating a driver that supports most popular devices within the last 3 years or so.

Personally, I'm on board with this. We shouldn't be as concerned about supporting a ThinkPad circa 1994 if it means poorer performance across the boards. Libinput can be the jack-of-all-trades with "good enough" performance for the outliers.

I've never had to touch libinput or xinput to control the touchpad. I just use synclient, and never had much trouble. Scroll vertically or horizontally with 2 fingers, middle click with 2 finger taps, right click with 3 finger taps. Middle-button drag by tapping with 2 fingers and then dragging with 1 finger. What was so horrible? Maybe things have improved since you tried it last.

No palm detection by default. Horizontal scroll was so sensitive, that even on the slightest movement triggered it. Taps were too sensitive. And vertical scroll was sluggish.

All these things I managed to fix more or less with xinput, by changing some Synaptics properties. And worked fine. Then I jumped versions wit Ubuntu from 16.10 to 18.04 and everything broke. The properties I've used were gone or changed. So I had no chance to use my old settings and I would've started from square one. So I just left. Was tired of the bullsh*t.

If only there would have been a comprehensive application to do this without editing config files and reading forums and scarce documentation. Then I would've stayed probably.

Oh and trying to have 3 and 4 finger swipes and such. No that was another horror story.

So this whole thing is not just about the touchpad for me (but was the final straw in a way), but the overall experience with Linux. The un-userfriendliness of it. The very top layer is nice and you can configure it relatively easily, but as soon as you go one level deep, it's configuration hell if you're not lucky.

And this coming from a guy who loved to compile his own kernels back in the day. Now all I want is a good user experience.

> The very top layer is nice and you can configure it relatively easily, but as soon as you go one level deep, it's configuration hell if you're not lucky.

That was my experience with Ubuntu, too. They add a lot of infrastructure for some misguided sense of convenience, partly because of their Debian heritage. I switched to Arch and found all layers to be much simpler to understand. Arch's documentation explains layer by layer and hardly touches upstream projects when packaging them instead of expecting you to use an interface that works only for their distro.

For example, Arch's installation guides you to setup basic DNS on /etc/resolv.conf which is read directly by libc domain resolving functions. If DNS is not working, I know the most basic mechanism responsible. There's no, "/etc/network/interfaces looks right, but whatever reads it is not reading it!" problem.

Anyway, if Ubuntu's not right for you, then maybe another distro is. A bad experience with Ubuntu doesn't necessarily mean that it would be the same with all distros.

We are all talking about desktop?

Ubuntu desktop is annoying IMO. Server is the only linux worth running. Windows has a superior desktop experience.

Ive made serious attempts to use linux desktops since ubuntu 7 and the annoyance factor of getting things to 'work' and the hostile community is really offputting.

There are more than 2 desktop environments for Linux you've tried if my guess is right (since you've tried Ubuntu). Imo KDE is light years ahead than Windows but requires to set it up for your taste.

Can KDE do something about touchpad support whist the underlying X and kernel support for the hardware is absolute rubbish? It was a while ago I used KDE, but from what I can remember there was no option to fine tune touchpad behaviour.

I like that under Linux you have a freedom of choice when it comes to window managers. KDE, Gnome2-3, XFCE, Cinnamon, you name it. It's awesome to have so many tools for one problem.

Hell, I even liked Unity. I think it was a very clean and easy to use wmanager.

But no matter how fancy-ass the wrapping is, if the problem is underneath it.

KDE does have to configuration in its system settings, but it obviously only relies on the standard X/kernel drivers and is only a convenience GUI for setting these options.

As I found it out the hard way, xinput is pretty bare and does not support the settings required to make the touchpad usable on an XPS 9343, for example. The settings for minimum and maximum acceleration are missing (and so these options are greyed out on the KDE GUI). They are defaulted to MIN and MAX respectively.

Solution: install Synaptics, open KDE panel, set both acceleration settings to a low value, enjoy.

I feel your pain.

Ubuntu Desktop was my preferred go to distro not too long ago. Using 16.10 was nice and I managed to get the touchpad working in a reasonable way with xinput.

Then 18 came along and everything went to hell. All the properties changed and some even disappeared. And of course the ones missing were the ones I actually needed to make my touchpad work in a way that it was comfortable to use.

After that I just jumped ship. I didn't wanted to spend another week to figure out everything again.

I happily choose Linux when it comes to servers and other non-desktop related work, but I am very disappointed how it lacks user friendliness and ease of use. 10-20 years back I would have said, that laptops are a niche platform and that's why it has a hard time supporting hardware. But it's 2018 and laptops are becoming mainstream in everyday use. Not being able to support the primary pointing hardware on a platform so popular is a death sentence.

And don't get me started on discrete GPUs...

Reading this thread makes me wonder if I live in the same universe as HN.

I'm amazed at the level of exquisiteness of the requirements of the HN crowd. I mean, I've been using computers all my life and used almost every Linux, Windows and OS X systems.

I do get that Macbook touchpads are god-tier and unrivaled so far by other hardware manufacturers. That being said, I rather have my old Lenovo x220 with an external mouse. No touchpad is as good as a decent external mouse (decent != expensive, mine is $30).

If you want to see an abysmal differences between touchpads, compare a Macbook one with the Lenovo's X220 touchpad. The X220 is the worst touchpad I've ever used, but it is still my main computer and I love it.

People talk about Mac's build quality, when I think they should be referring to its industrial design, which I get is very appealing to the senses. Now, the X220 has serious build quality. You couln't break it if you wanted to, and if you do break it, almost every part is < $100 on eBay and easy to repair.

My point is the following, and as other commenter said; I think people choose Macs before they like it better, it suits their image and are willing to pay their pricetag. I know people need to justify their choices as if Macs are the only objective solution that fits their use cases, but I find this hard to believe.

I understand that everyone has its valid reasons behinds every choice they make, but what bothers me (I know it shouldn't but who cares) is when that people bash on Linux and other hardware manufacturers just because they don't LIKE that OS/computer. I don't LIKE macOS/Macs and I don't them, that doesn't mean they are not good systems. I just CHOOSE to not use them because MY reasons.

Nowadays most systems offer more than acceptable user experiences out of the box, whether its a Linux/Windows/macOS box on whatever hardware. The thing is that people get really picky and justify their decisions by diminishing other manufacturers/systems. I believe people are afraid to say "I bought a Mac because I like them! f* you!"

First of all, when there is a manufacturer who can create something decent as a macbook touchpad, then others can do the same. Especially when you are at a price point that is identical to a Macbook's. There is no excuse to cut corners on such a simple thing like a stupid touchpad.

Second, nobody here is a Macbook fanboy just because their touchpads, but there is a reason why we praise them. From my part I am not a fanboy. I absolutely hate Apple and what it has become. But credit is due for the small things they get right. And the touchpad is one of them. The last good series of their pro line was the 2015 one, which I use at work. That is the best and you can see that as other manufacturers tried to copy it in every way. Not so much with the new models.

Third, most of the touchpads on Linux are bad not because the hardware itself is bad, but because bad support and drivers that apparently nobody wants to fix. My current laptop has a fantastic touchpad under Windows, but under Linux is absolute shit and there is not much you can do about it.

Can the touchpad be still used? Yes, of course, but I hate it. It makes me work slower and makes me annoyed, just the simple fact that under Windows that touchpad is awesome and I can't use it the same way under Linux. That simple fact kills it.

So to sum it up. It's not about Apple, it's not about what OS you like to use. It's not about peoples choice. It's about Linux being shit with touchpads on laptops whether it's old or new, or from another dimension.

So you are completely missing the point here.

I agree that this is not the core issue in this post, and we shouldn't turn this into the classic Mac vs. non Mac that leads nowhere, more so when there is a guy/girl who actually volunteered to fix the driver issues.

I reacted to the comments bashing Linux and such, because I cannot relate to the level of discomfort that people express with their non-apple touchpad. I mean, I use Linux and I use those same shitty touchpads, but I do my work just fine and don't stress about it. I mean, if you think your touchpad is shitty you should try the Lenovo x220 one, it's terrible lol.

What I wanted to understand is what are the uses cases of users like you, where you get to the point of hating a touchpad and make you work slower. Maybe the way I use the mouse it's pretty basic and I need to up my game with multi-gesture magic. But all I need from a mouse is: interaction with my desktop environment, scrolling, copying and pasting text, some basic image editing, and using the office suites which require a lot of mousing. And I can do that with almost every mouse/touchpad.

Well my grief with the touchpad was really when it came to frontend work. or even just scrolling through lines of code was a pain as it was too sensitive in every way. This kind of behaviour makes any kind of interaction a pain. Not that you can't live with it, but just knowing that the same hardware performs hundred times better on another OS...

The tipping point for me was more about the absolute lack of user friendliness when it comes to setting it up. I've spent days to understand xinput, find the properties that I need to change (with non-existent documentation) and then spend time on finding the best values for them. And then upgrading distribution version negated all the effort I've put into it, by changing a lot of things and was back to square one.

As I wrote in a previous reply on this thread, the touchpad was the final straw in a long uphill battle. A lot of grief came from the lack of user friendly configuration of anything within the system. And when you start editing configuration files and reading forums on a regular basis, that makes one realise that he/she is spending more time on making life easier then actually living it. And this is with one of the most user friendly distributions, or so do they say.

Anyway, I was very disappointed and still am. It's been 18-19 years since I've been introduced to Linux and used it on many occasions, but some things don't seem to change, or take a long period of time to change. I understand it comes from the Open Source-ness of the whole thing, where people take their own time and energy to make something better for free.

For the most part I've been reasonably happy with Linux touchpads (maybe I'm too accepting of less than a perfect experience?) except for one area: Palm rejection.

When you have a giant touchpad it's absolutely necessary to have good working palm rejection, and I've seen far too many laptops completely fail to have palm rejection in Ubuntu. Sometimes you can get it working again by twiddling the mouse driver (enable/disable xinput for example), but sometimes it just plain never works. I've been all over StackExchange and similar places but on some laptops none of the proposed solutions work. I've opened bug reports, but it's hard for developers to fix it when they can't replicate the problem. Sometimes you only get half functionality, like the cursor won't move but it will still click, moving your text cursor to random places when the palm lightly brushes the touchpad and it registers as a click.

On some laptops I just have to pack in a mouse and disable the touchpad entirely. That's not an acceptable solution. I'm really hoping that Ubuntu 18 avoids some of this nonsense.

For me Ubuntu 18 was worse then 16.10. A lot of properties I used to fine tune the touchpad with xinput were gone or changed.

Was very disappointed. So if you haven't made the change yet, then you might want to stay on whatever you're on for the time being.

People choose a Macbook because they can walk into an Apple store and walk out with a quality product. Compared to the average PC a macbook has:

  * Better display
  * Faster hard drive
  * Better battery life
  * God-tier touchpad :)
  * Premium build quality and materials
  * Better sound
  * Better resale value
  * An Apple store nearby where they can get factory support
Sure there are laptops which are superior in certain aspects if you are willing to do some research or are very knowledgable in tech. If the average person walks into Best Buy and limits their options just to Lenovo and a device with the word "Yoga" in the name, they may walk out with an X1 Yoga, X380 Yoga, L380 Yoga, Yoga 260, Yoga 11e Chromebook, Yoga 920, Yoga 730, Yoga 720, or Yoga 710. I couldn't tell you the difference between most of these and I spent a long time researching convertible laptops.

Most of the regular (as in non-tech) people I know even though they like Macs (because they are beautiful) don't buy them (even if they have the money) because they don't think they're worth it. The people that do buy them are the ones that already bought into the Mac eco system, mainly because of the iPhone.

About the technical aspects you listed, I think most of them are debatable. But I do believe that none of them are the driving factors that explain why people but these computers.

What I don't understand is why we, technical people, are afraid to admit that we are also vulnerable to the extremely effective marketing campaigns of Apple.

You wanna talk about quality? I spilled a full cup of hot tea TWICE on my lenovo, and nothing happened. It turned off because it has a circuit that closes when it gets wet (to protect itself) but other than letting it dry, the computer is working just fine (I don't put sugar in my tea :) ). I dare you to try that in your new Macbook!

I don't think anyone will deny that Apple has effective marketing. But they also deliver a product that is above average in almost all factors, except for repairability. For PCs you need to research quite a bit and select the right configurations.

It seems you favor repairability over all other factors: display quality, touchpad, HD speed, battery life, weight, a physical store for support, etc. I used to repair laptops over a decade ago and at that time I would also put repairability at the top of my list. That was a time with failure prone mechanical hard drives, CD-drives, and chassis made of cheap plastic. Most laptops even back then survived water or tea spills fine though they didn't fare so well with soda, coffee, and urine. Perhaps that history is what's driving your personal bias. These days machines are more reliable and I personally would prefer a smaller and lighter machine even if the tradeoff is repairability.

It's the same for Android vs iOS as well. With Android you have so many options that it's overwhelming, with an iPhone you'll have a product that is better than most Android phones and you don't have to worry about the chance of choice.

For a lot of people that's comforting.

> No touchpad is as good as a decent external mouse (decent != expensive, mine is $30).

Funny, on both my work and home mac desktops, I use the Magic Touchpad as my primary input device even while sitting at a desk. So I suppose I disagree with this statement.

Yes, I think using one of those instead of an external mouse is a good idea. In my case I find a regular mouse more comfortable than ANY touchpad.

What about precision? do you think that the touchpad is more precise than a good mouse on a good mousepad? I'm not asking you if YOU are more "productive" using a touchpad, I'm asking you if you think that if we compare a proficient regular mouse user vs a proficient Mac touchpad user we'll notice a significant difference that'll make us think that Mac touchpads are the way to go?

I don't think so. I think the factor that weighs more is user preference, heavily influenced by marketing.

In certain ways touchpads can be more precise. With a good mouse with very high DPI, movement will be better, but when it comes to stuff like, pinch zoom, or fine scrolling, then touchpads are much better.

Also with gestures you have way more stuff you can do with a touchpad then just moving a mouse and clicking stuff.

And let's not forget the smaller travel distance of your hand when you go from keyboard to touchpad, as when you go from keyboard to mouse, or back.

I have a Logitech MX Anywhere 2. I love that mouse. It is fantastic and when I'm working on my home laptop I use it every day, if I'm in desktop mode that is. And I prefer it over the touchpad.

But when I work on the 'work' Macbook Pro (2015), then I use the touchpad all the way. It's just so much better and intuitive compared to using a regular mouse.

The touch pad just has more dimensions, 1 finger touch, 2 finger touch, dragging with some fingers touched, pinching, etc. Precision is better than with a mouse, because you don't have to move the mouse, just your finger.

I would never want to use a mouse again! Yes, for me an Apple touchpad is way superior to a mouse. If you don't get that, that's fine. We all have our blindspots.

Good point, the multi-dimension thing is something that I haven't even consider when thinking about this. I'm sure there are some benefits to the workflow if you take advantange of the multi-touch gestures. In that aspect, a regular mouse can't compete (don't care about super sophisticated gamer mouses).

> heavily influenced by marketing.

Whose marketing? Apple doesn't push the Magic Trackpad over the Magic Mouse. If you buy an iMac online, the mouse is their pre-selected input accessory.

Agreed, I have nice "gaming" mice with perfect sensors but nothing can do horizontal scrolling to expand/collapse audio files in Logic.

Same with rotating in Preview and easy smooth zooming on webpages.

Where do you work that you have room to use a mouse?

Coffee shops, planes, trains, passenger seat in a car, literally on my lap in waiting rooms or transit terminals, etc. This is where I use my laptop, and I don't have room for a mouse in these places.

Most of the time in a desk, I do travel a lot though. And when I'm using my laptop on my lap, I use the clitoris-like trackpoint, which I think it's terrible but I can work just fine with it.

I also have a Dell XPS and the touchpad is decent, I can work fine with it.

As I said, I'm not questioning the fact that Macs touchpads are superior, but I'm curious as to what are your use cases that make you think that you really need that superb touchpad? are you a graphic designer?

I need tracking of some sort, and my workflows tend to be mouse-heavy. I don't personally have a hard requirement for the Macbook touchpad, but the pad is a huge part of my interaction with a laptop and I hate using the clitmouse. I will never ever voluntarily run windows so my options are Linux, BSD, or Mac.

BSD is horribly performant on any laptop hardware I've tried, so that's a no-go.

Linux touchpad support is a dumpster fire of bad drivers and missing config options.

Mac is therefore the only real choice.

At some point you just get sick of dist-upgrade breaking palm rejection and no fix being available for months.

I put the mouse on my touchpad. Works well rnough

A desk

One baffling design decision Canonical made for 18 is defaulting some touchpads (ones without separate buttons) to "two finger click for right click", even though so many touchpads have a clicky area and even lines printed on the touchpad for right click.

That's not the baffling part though, the baffling part is that they didn't put an option in the control panel to return the old behavior. You have to spin up dconf and find the right bit to twiddle to get the old behavior back. How is this user friendly?

This is like 14 when they hid menu items by default (and replace them with absolutely nothing at all) causing newbies to be very confused as to how to use their apps. It only took a few times of very confused users being totally lost because they forgot they had to move their mouse up to the top to make the menu items reappear before I tracked down the dconf setting to turn it back on. It wasn't until 16 that they exposed that in the control panel, but even then it defaulted to "uselessly hide".

It's a GNOME change, not a Canonical one: http://who-t.blogspot.com/2018/04/gnome-328-uses-clickfinger...

Canonical had the final word on it. They could have reverted the default to the old behavior if they wanted.

> Server is the only linux worth running


> Linux is the only server worth running


What did you think of Elementary OS?

Yes, please do! I've spent some time researching this as well, and to me it seems like the author has missed one thing; the Mac touchpad hardware is so much better than other touchpad hardware. (As I understand it, the competition is barred from making similar touchpads due to patents)

I have been running Linux on MacBook Pros for many years, and the touchpad is a constant source of disappointment. For the effort to be worthwhile to me, the goal would have to include getting Apple's touchpads working excellently in Linux.

I would definitely participate in crowdfunding this effort. (Kickstarter or otherwise)

I'm not sure it's IP that's kept Wintel makers from doing decent trackpads. I think they just didn't care until recently.

I have both a 2015 13" rMBP and a 2018 Dell XPS15 on my desk. The Dell's hardware is really fantastic. Overall, it's not QUITE the equal of Cupertino, but it's easily the best Windows hardware I've seen since the glory days of the ThinkPad. The trackpad in particular, though, is just as good as the Apple one, I think. First time I've seen a Windows trackpad that was worth a damn, so I was SHOCKED.

the xps are some damn fine machines. we give them to c-levels here and i'm always super excited to work with them and super jealous when i have to give them away.

I really kinda wonder how viable desktop Linux would be for me on this hardware.

I mean, I think the answer FOR ME is probably still "not yet," given the things that I enjoy about doing most of my computing in the Mac ecosystem, but historically the barriers for me have been twofold: hardware AND software. I suspect the Dell solves the hardware problem.

> As I understand it, the competition is barred from making similar touchpads due to patents

I'm unwilling to believe that Apple discovered the one and only way to make good Trackpad hardware.

Have you used an Apple trackpad though? Because they genuinely are light years ahead of the competition. Why wouldn't they patent everything around that?

What do they do that is different? I had a Mac from 2013 with Ubuntu installed. I didn't notice anything different other than a lack of way to emulate a third button.

this whole thread is about getting the MacOS feel in linux when on mac hardeare becsuse it is not as good when hsed on linux.

so what you tried is what this thread is trying to fix

So what is different? You still didn't answer that. Every time I tried a mac the scroll was upside down and it annoyed me. Now windows seems to have adopted that.

I agree, which I why I specifically said "similar" rather than "as good" or "better". I'm not impressed by competing touchpads.

less "one and only", more "holy shit they have good lawyers and will ruin me if they want to and think they can"

Microsoft's Surface Book comes very close actually, so while the MBPs are still ahead, the gap is getting smaller!

I said this in a previous thread, but I'm surprised that Microsoft haven't jumped on the developer bandwagon after the MBP fallout.

I'd put the Surface Book as ahead of current gen MBP's. The trackpad isn't as good, but that's probably because it's a bit smaller and I like the large track pad. In terms of responsiveness, it's just as good.

The only thing missing is native Linux support, which is why a lot of people on here seem to support the WSL on Windows as an option over just installing Linux on the Surface Book. If Microsoft were to come out and say "Here's the new Surface Book, available in Windows 10 and Linux flavours" I could see a huge shift away from the MBP as the de-facto developer device.

Of course, given how fragmented Microsoft are as a company, I can't see their product team coming together to make this a reality, but a developer can dream.

The Dell XPS 13 touchpad hardware isn't too bad either. It should be bigger though.

I have a Dell XPS 15 and it's on par with any Apple product I've used and it does not have the Apple tax nor touch bar.

If you're looking for a large touchpad, you don't have to look any further than the HP Spectre x360, which has a touchpad literally the size of a modestly-sized smartphone.

My precision 5520 touchpad actually feels very good. It's not MacBook grade but it's /very/ close.

I used to care a lot about this kind of things about two years ago when I switched from mac to linux. But to be honest, you just kind of get used to it after a while and its not really that much of a deal breaker anymore. I spend most of my time in terminals, and I use i3wm so most of my workflow doesnt involve using the touchpad at all. The only use case i have for it is when using chrome, but even so theres vimium and similar things to help you navigate around without leaving your keyboard.

I've read the blog post and the comments, nobody says what are the features they're talking about. I've only understood the "cursor nudge".

Same. Maybe it's just my specific track pad (Precision 5520), but libinput works great for me, with really good palm rejection. I never really used the other fancy trackpad features so I got over it pretty quick.

Having said that, before libinput I was ready to return my laptop, because the palm rejection was so horrendous with synaptics.

I relate to this comment. I've been using an old HP 8460p for the past few years, and almost always prefer to use the keyboard. Even without i3 there's things like tmux that make it much easier.

If someone could actually make this, I would gladly pay an annual subscription to access it. Almost the only reason I'm still buying MacBooks is because of the touchpad, and if I could get that on Linux I probably would just switch to a normal PC.

Same here, I would gladly pay a subscription or send a generous donation to the Kickstarter if it happens.

Who is on this website?

I thought these were mostly programmers, but I cannot picture a programmer using a touchpad instead of a mouse.

My 20+ year career has been programming for Linux. You won't find a mouse on my desk, because I bought Thinkpad USB keyboards. I have a full-size one with numeric keypad in my office at work, not because I use the keypad but because it makes the whole thing slightly more stable on my desk.

I don't really use the touchpad part though---I use the "track-point" pointing stick embedded in the center of the keyboard. Without that, I feel like I was transported back in time and placed in front of a VT220 terminal or some dusty old Sun workstation. I am concerned that these seem discontinued, but I also have spare travel-sized units which may last for the rest of my career...

I prefer touchpads because the travel time to them is much lower. They also are always in the same place. I can even use them with my thumb while leaving my fingers on the home row.


Why not?

Why would you use a mouse if you're on a laptop? Especially a macbook, where the trackpad is fantastic to use and offers gestures which give you features you don't get with a mouse.

Gestures are awful... They're nonstandard between boxes, and often flaky as all hell. One of the first things I disable on a new OS install.

Why wouldn't you use a mouse, and get better precision, a standard form-factor, and universally solid drivers? Besides, you can take your mouse and plug it into any machine you need to work on.

Gestures on Macs are not flaky. That's kind of the whole point of this discussion.

> Why wouldn't you use a mouse, and get better precision, a standard form-factor, and universally solid drivers?

Most non-Mac-users do. Mac users don't, because they have a touchpad with better precision, a standard form factor and solid drivers. Hence this post. Why should I need to carry a peripheral everywhere for functionality my laptop purportedly has integrated?

One could counter-argue that touchpad is inherently worse than a mouse, but I think you'll find Apple have roundly disproven that. There's a reason the Magic Trackpad exists (though I've never owned one, demand seems to be there).

A mouse is fine in an environment where you also have an external monitor and maybe an external keyboard too.

Cause I don't want to carry it around, and potentially lose it.

To take that a step further, who would use a touchpad or a mouse over a keyboard?

The downvotes are really telling...

For most use cases pointing devices makes you less productive than using a keyboard. Going forth and back between keyboard and a pointing device is even worse.

Spend the time to optimize your workflow to be pointer-free as much as you can and you'll never go back.

I think it's that attitude that people are downvoting. There is more than one way to be a developer; there are many different workflows that are possible. The fraction of a second that I might lose by using a pointing device is made up for by not having to set up and memorize arcane and sometimes rarely documented key combinations that might not be the same from program to program and system to system.

Original blog poster here (hi!). I'm pleased to find this motherlode of detail-oriented perfectionists here on HN and in my blog comments. This affirms my original question of whether it's a goal worth pursuing. Step one complete.

Step two will be for me to sift through the offers and figure out how they can be pieced together into a plan of action. It seems unrealistic to expect that we could raise more than... $20k?... from detail-oriented perfectionists, so I still need to figure out how best to constrain the scope of the goals enough to get this done with scarce resources (unless someone at Microsoft wants to kick in $1m in exchange for the affection of several thousand developers? :D)

It doesn't help that my day job is running a company in the process of launching two new products -- this has a tendency to gobble up available evenings and weekends and I wouldn't recommend it. But I've added it to my todo list to puzzle out how to combine these dev resources into a plan. It's plausible that the current libinput developer could be swayed by this outpouring to help me build a viable plan to build a modern Linux touchpad driver. I'll start there.

Look for an updated blog post with progress in the next couple months. And who knows, maybe I won't still be using this 10 year old hardware in another year?

I hope you look into updating libinput first. https://gitlab.freedesktop.org/libinput/libinput

Let's not add more not invented here without at least doing some solid good faith effort to join the existing efforts.

I've wanted to do this as well. I came to the conclusion that you'll need to bypass the X windows input system and read the device directly, none of the current solutions (like libinput, mtrack, or synaptics) would work satisfactorily. And integrating it with Gtk or Qt will never work well because of the structure imposed by those frameworks (Cocoa/ObjC is a much more flexible framework)

I was able to write a prototype version of things like a tableview or image viewer that gets input directly from the touchpad device (that draws straight to an OpenGL texture or pixmap). The problem is that you'll never be able to integrate this with Gtk and Qt, it just doesn't fit together. And working within those two frameworks is kind of hell. Generally, gestures are not discrete, you can go halfway through a gesture and change your mind, but you'll still get graphical feedback from the UI. That's part of the joy of using the touchpad. But it's just easier to write it from scratch than to add it to Gtk or Qt.

For me personally, it's not a huge problem because I generally avoid Gtk and Qt apps if at all possible and make my own UI's, but I don't see it gaining widespread adoption so I don't know if it's worth the effort.

Can you show your solution?

The touchpad experience of the Mac is where vertical integration really shines. The touchpad is so good precisely because there are not hundreds of hardware variants to support. Just the one that Apple used in their past X years of MacBooks (so never more than a hand-full). And they make their own OS and drivers.

Doing this for all laptops Linux could possibly run on is almost impossible. It’s a shame that touchpad (or laptop) vendors do not see good drivers as a competitive advantage. Sounds like a lot of people would buy a laptop just for its touchpad (though probably not enough to justify investment from manufacturers, so it seems).

There cannot be THAT many different touch pads or drivers for them out there that this is impossible. I bet there are only three or four types of main brands at most which probably all come from the same factory in China.

It’s not like every time a new pc laptop comes out the dell and HP folks say: “Yee haw! Roll up yer sleeves boys, it’s time to write another touchpad driver!” That’s just insanity.

Not knowing how any of this works, I think best would be having a driver that translates the raw signals into an intermediate, near-native form, i.e. basically provide a standard range X-Y-Z vector (z for Pointer intensity) with good enough (very high) resolution per touch point. Single-Touch devices will only ever get one touch point, those that have no concept of intensity will have a constant or binary Z value. Those measuring pointer-size can set the Z-value accordingly (that‘s how I think intensity is measured anyway).

Then allow per-device configs with (basically) calibration curves. Allow for different kinds of curves (discrete value interpolation, Bezier, you name it). This enables the driver to support a lot of different devices. Bonus points if the driver can tell the firmware about the calibrations (I‘d bet quite a few touchpads have their own logic built-in).

Also the driver must support some curve and noise dampening as well as progressive acceleration (basically inflating calibrated numbers with higher speed of moving touch points and rapid succession of the same gesture) and thus also understand some „higher level“ gesture logic, e.g. to properly support the right feeling for touchpad scrolling as Macs do.

It would be enough to have excellent touchpad support on one model (or chipset). We could just buy that one. At least the old Linux users were once used to buy hardware that matches their OS.

It would be great to know why the Linux drivers aren’t as good as the Mac touchpad drivers. I have little experience with Linux input drivers, but significant experience with the Android touch input stack (including a fair bit of experience hacking the Synaptics touchscreen drivers). Is it a matter of (1) the drivers themselves failing to provide good raw data (finger positions, update rate, positional accuracy, etc.)? (2) A matter of the drivers/userspace stack not decoding motions into useful gestures accurately? (3) Or a lack of support from normal applications or the window server for touch gestures and touch inputs?

In kernel space there’s definitely a lot we could crib from Android to get started quickly - since that’s the low-hanging fruit I wonder if anyone’s already done it. The userspace stuff is a totally different affair...

I've customized Linux for touchpads on a couple laptops now (note: Macbooks are terrible choices for using linux on, using Thinkpad/Dell XPS is 100x easier driver wise). The current drivers support about 90% of what Macbook's can do in my experience. As the OP said in the article, it's "good enough", just not perfect.

The last 10% of any implementation is where the most difficulty lies. I'm happy to see the author not just accepting good enough, as Desktop Linux has really been evolving past that point in recent years to be a legitimate contender for daily/progressional use. Gnome and other desktop software has come a long way.

As someone who's never used a Mac, what's that remaining 10%? What am I missing out on?

OP says he needs to "to click in the bottom right corner to effect a right click" when using synaptics, but I've always just tapped 3 fingers to do right clicks.

"It would be great to know why the Linux drivers aren’t as good as the Mac touchpad drivers."

Apple has people who's full time job is doing that. Linux doesn't. The maintainer of one of the drivers basically comes out and says, "You'd need someone working full time on this."

Am I the only one who prefers the nipples on thinkpads?

No, but you are probably in the minority.

I have one on the Dell laptop I'm using (which also has a touchpad). Once in a while I try to use it, but I find it almost impossible control with any kind of precision. Changing the sensitivity doesn't help much.

I first tried that device on the first Thinkpads that had it, back in the 90's or whenever it was. I have always had the same reaction to it.

How do you use it? Is this just a matter of getting used to it, and if it is, how long does it take?

The Dell ones are vastly inferior to the ThinkPad ones. While I do not know the ones in the 20, the last ten or so years I worked solely with TrackPoint first under Linux now under Windows 10. Under Windows 10, there's a Mouse tab in Control Panel, there's a sensitivity slider and I found it's best to have it just one notch below fastest. The default makes me feel I am wrestling with my laptop.

I see. I haven't tried the Thinkpads since before they were sold to Lenovo, so perhaps they are superior.

I am in the market for a new laptop, so perhaps I should give them a chance. Not really for the pointers, but they do seem to be fine laptops overall.

Yeah. I got a Dell for my day job and unfortunately the nipple is entirely unusable. I miss my ThinkPad :/

Same here. I had big hopes for Dell's nipple, but it's hardly usable and I tend to prefer the touchpad.

On my own Lenovo, I use the nipple exclusively, and touchpad is disabled completely. I had played Quake vs other human players with the nipple and won, and I find it vastly superior to any kind of touchpad.

Can confirm. Dell's nipples are unusable. Nothing like the Thinkpad ones.

I have no idea how not to use it. Right index finger (I'm right handed) moves it round, right thumb presses the keys.

I'm not a classic touch typist, but my fingers tend to be near the home row most of the time, having the pointing device one or two keys away, and the mouse buttons next to space, is a big benefit. Having to shift my left hand to the left, and right hand down 3", just to move the pointer, feels like a lot of effort.

I use point-to-focus (but not raise) a fair bit too, as moving the mouse is almost as easy as alt-tab, I use it a lot to switch between terminal windows.

> I have no idea how not to use it. Right index finger (I'm right handed) moves it round, right thumb presses the keys.

That's completely immaterial to the precision of it, which is why I'm unable to use it: I never managed to aim at something, I take ages to actually reach a button to click on it (either under- or over-shooting it unless I move the cursor extremely slowly) let alone select some characters in the middle of text.

I have that issue on neither trackpad nor mouse, and can use both reliably precisely.

Odd. I find the trackpoint more precise than any touchpad, Macs included. I've owned Macbooks for years yet am instantly happier, and faster, on the keyboard and trackpoint of the wife's T series.

I'd pay significantly more over already inflated Apple prices to have my MBP with a trackpoint and no touchpad.

Yeah odd it's as if different people have different sensibilities and my experience with trackpoints has no influence on yours and the other way around. How surprising.

You were the one expressing in absolutes.


> That's completely immaterial to the precision of it, which is why I'm unable to use it

To me that reads as though you are unable to use it because the device itself is imprecise. That some indeed do find it more precise would seem to exonerate the device. Personal preference, is a different can of worms. :)

No zealotry present at all, here at least.

> To me that reads as though you are unable to use it because the device itself is imprecise.

It is a call back to lokedhs's original issue:

> Once in a while I try to use it, but I find it almost impossible control with any kind of precision. Changing the sensitivity doesn't help much.

which is what they were asking about when they wrote

> How do you use it? Is this just a matter of getting used to it, and if it is, how long does it take?

right afterwards, not "what finger are you using" (the index of the dominant hand would certainly be the obvious choice to just about anyone).

I find it (on my 8 year old t410s) far more precise than any trackpad I've used, and more precise than the old ball-mouse and trackballs. I guess it's what you know.

I actually just used the touchpad on said laptop with my thumb, to move the arrow to the 'reply' button (I have an inbuilt distrust of tab on websites). And now I used the trackpoint to resize the text box to read my reply, again without thinking about it.

I suspect that when I'm in "doing" mode I use the trackpoint, when I'm in "consuming" mode I use the pad.

I agree and I have the same issue as you. I'm on a ThinkPad T480 running Ubuntu and I only use the trackpad. Whenever I use trackpoint (the nipple/stick/whatever) I'm constantly overshooting, so it doesn't matter whether I can get to it quickly or not from the home row, because I waste more time trying to position the cursor over the tab or button I'm trying to click than I do on the trackpad. Also, on the trackpad I don't have to physically click a button with my thumb, I just have to lightly tap.

Now maybe I could get better at the precision piece for trackpoint overtime, but if you use trackpoint you also lose the ability to do multi-touch (two finger) scrolling, which I think is a huge time saver, b/c you can scroll without having to find the scroll bar and/or moving your hand over to the arrow/page keys.

Using a concave rubber top to the TrackPoint helps me greatly.

I used thinkpad nipples for 5+ years.

Macbook took a couple months of adjustment. But there is almost no use of muscle whatsoever when moving the mouse on a macbook. Thinkpads feel incredibly straining in comparison now. And scrolling on a macbook...completely effortless. There is nothing like it.

TrackPoint scrolling feels far more effortless to me. No need to move your fingers back and forth repeatedly to keep swiping.

I'm using a Dell Latitude E7440 for years now with Linux, and scrolling is effortless. I'm really intrigued by what exactly the MBP scroll does better.

I'm on a latitude 7480 at work. Clunky keyboard, clumsy trackpad, dim screen.

I love them when doing programming that requires my fingers to rarely leave the keyboard. It's nice to be able to nudge the mouse here or there occasionally without having the context switch of moving my fingers completely off the keyboard.

To me this was the big benefit of the pressure-sensitive MacBook trackpad —- since clicking is just pressing harder, you can use it with a thumb while your fingers are on the home row.

I've always wondered how these were meant to be used! Of course it makes sense if you're touch typing and your fingers are already there ...

No. I prefer the Thinkpad nipple and sad they added a touchpad as it just gets in the way. I wish it was a BTO option to have the nipple only or touchpad only, or both.

The nipple on every other manufacturer I have tried isn't even usable. The nipple on the Thinkpad is god like. I used to hear of designers prefer it for Photoshop editing back in the days before Lenovo.

That said, I am using a MacBook Pro now with macOS and have been for years because I tend to spend way too much time tinkering to get things perfect.

For years, they were the only things I would use. I could never effectively use trackpads until I got my first MacBook which had the first one I actively liked rather than barely tolerated.

These days, I still have a Lenovo X200 for Linux and still use the pointer there although I'm generally happy with trackpads across the board. (Except on Windows apparently. I had to get a mouse for my 17" Alienware laptop because the trackpad still drove me crazy.)

If it works and you got used to it, it is so great on the integrated display. I got so used to not leaving the home row, I get annoyed when I have to use the arrow keys.

My X220 nipple unfortunately became a little unreliable. Needs calibration often (auto moving cursor) and sometimes one direction works better than others. It's annoying, especially since the touchpad is just unusable.

Any suggestions? Hardware or software issue? Would a new rubber nipple hood thingy help?

Its probably a hardware issue. I worked at IBM and they were very proud of that device that was invented there. They had a little glass display with the hardware broken out and prototypes.

It works with strain gauges[1]. Thats why you can control the speed of the pointer, not just the direction. When you get used to it, its quite effective.

You can pull the rubber nub off and try it, that shouldn't help but it might. If its sticking in a position that isn't "Neutral"


Oddly IBM made a mouse with that nub pointer thing. It worked so much better that any sort of wheel for pointing and scrolling, but I left it when I left IBM many many moons ago.

Thanks. Maybe I get a new keyboard (new nipple) alongside some SSDs for the next 6 years to come.

Same here, I'm much more productive with a track point and three buttons. I feel trapped buying Thinkpad (which have slowly become less and less robuste and well-designed) the same way some people in here say they feel trap buying Mac.

Having said that, this is the beauty of Linux, let people use what they like, being devices or window managers.

I am the same. I don't use touchpad at all on my Thinkpad. Give me a laptop without one but with better keyboard or at least speaker above it any day. Other than being quick to point to things nipple is amazing for scrolling. This is something Mac can't get close to, especially if you need to scroll a lot.

They are great, but the jumbo Macbook trackpads are better (I use both - my macbook's external keyboard is a Lenovo SK-8855). Also, be careful not to strain your fingers too much on the trackpoint. You could easily get carpal tunnel. My fingers start tingling after using the trackpoint for too long.

No, but I can't get the nipple on my t430 to be as precise as it is on Windows. To quick for small movements or too slow for big ones.

I also did before I got used to the Macbook touchpad. Now the trackpoint is a last resort or if I'm just typing mostly.

You are not! It is the main reason why I refuse to attach an external mouse and keyboard to my work laptop!

nope, i am thinking about putting an x1 carbon keyboard into a case so i can use it with my desktop :)

Maybe one day these will hit mass production https://mechanicalkeyboards.com/shop/index.php?l=product_lis...

I have one of these. It's fantastic. The trackpoint is even better (in terms of "dpi") than those on the ThinkPads.

I wish that they made a full size version of it - I miss the extra keys.

yep, but i prefer the newer style keyboards. id also make it smaller, no palm rests - closer to a 60key keyboard size.

From what I've read, those don't have the same feel as the keyboards used in the laptops and are definitely unrelated hardware. Since the keyboards are one of the "switched/repaired in < 5min parts" of (older) thinkpads, I don't get why there isn't just a case with an USB converter available. I would pay way to much for an authentic external Thinkpad keyboard. Nothing I have encountered so far feels comparable.

The older versions (like in the earlier link) differ from the laptop counterparts. The recent ones are supposed to be much closer: https://www.thinkscopes.com/2015/08/10/thinkpad-compact-usb-...

lol where is the fun in that ! but yeah i guess exactly

No. I even have a Lenovo USB keyboard which has the nipple for my workstation. Love them.

nipples are great if you want to not move away from home row.

for casual use a touch pad is better and for gaming a mouse is better.

I have an Apple Magic Trackpad 2 attached to my Linux workstation, and configured using synaptics and a custom kernel driver. The experience is almost good, but not quite there.

The most annoying thing is scroll zoom in some apps (mostly Chrome), that makes hitting ctrl while the trackpad is "coasting", result in zooming to oblivion. I've sort of solved it with a chrome extension that disabled scroll zooming.

But in general it just doesn't feel as smooth and took a lot of time tinkering with to get to reasonable results.

I'll gladly contribute a bit to a kickstarter or something.

I tried a MacBook touchpad in the Apple store and I didn't get what the fuss was about. It has that annoying feature where when you click the cursor freezes for some period of time, which stops you clicking on multiple things in quick succession. It didn't feel any more precise to me in terms of pointing. I realise it has gesture support that works in close harmony with OS features, but just in terms of pointing and clicking it was nothing special.

It's so responsive and smooth, especially double-finger scrolling

HP Chromebooks are exactly the same. It's all down to the driver.

Instead of starting a new project from scratch, why not reanimate synaptics and fix the annoying bugs? Are there licensing issues? Is it not open source? Or is there some underlying technical problem that makes this hard/unfeasible?

Usually when people set me up for high expectations, I end up getting disappointed. In the case of the Macbook touchpad, my expecations were actually exceeded. I use Bootcamp a lot for some of my projects, and the touchpad support in Windows is so bad, I can't wait to go back to Mac Os (other than that, I'm pretty much OS agnostic).

There's now a 3rd party precision touchpad driver that works surprisingly well for MacBooks. Unfortunately it's CPU-bound and high CPU load can cause the touchpad to be unresponsive. Setting CPU affinity to high partially mitigates the problem though


It's been a year now I've switched from mac to linux. Using libinput-gestures[0] was quite nice, but eventually I changed by workflow to use keyboard shortcuts more.

[0] https://github.com/bulletmark/libinput-gestures

I took the work from that project and turned it into a Gnome Extension to allow for some (super basic) tweaking of trackpad gestures through a GUI. https://github.com/mpiannucci/gnome-shell-extended-gestures

Its super basic and doesnt have all the features I want it to yet cuz of time. It works well enough though and doesnt need to do any work on the actual drivers to function.

I've also installed libinput-gestures and I'm using it in a GNOME 3.28.2 Xorg session (with "natural" scrolling disabled) on a MBP 11,1 with the configuration below. I feel this is pretty close to a macOS experience.

# Move to next/prev workspace

gesture swipe down 4 _internal ws_up

gesture swipe up 4 _internal ws_down

# Browser go forward/back

gesture swipe right xdotool key alt+Right

gesture swipe left xdotool key alt+Left

# Toggle Activities overview

gesture swipe up 3 xdotool key super+s

gesture swipe down 3 xdotool key super+s

# Zoom in/out (works in e.g. Firefox, Chromium, Terminal)

gesture pinch in xdotool key ctrl+minus

gesture pinch out xdotool key ctrl+plus

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact