45

I constantly keep touching my MacBook Pro's Touch Bar by accident. I have larger hands and my fingers accidentally press buttons on the Touch Bar without me noticing all the time.

I like the Touch Bar and I'd like to use it, but I can't seem to find anywhere that will allow me to enable a lock screen type feature on the Touch Bar.

I'd really like to disable input unless explicitly enabled. How do I do that?

0

9 Answers 9

27

Native solution (no installs required):

You can tinker with the Keyboard Settings to get something close to your desired behavior. Here's one idea:

Set "Touch Bar shows" to "Expanded Control Strip" and remove all buttons on the Control Strip using "Customize Touch Bar...". Then set "Press Fn key to" to "Show App Controls".

Now your Touch Bar will be empty unless you press fn to show the App Controls.

I also outline some ways to use Better Touch Tool to temporarily disable the Touch Bar in my answer on a related question.

1
  • On my MacBook Pro 2019, running macOS 12.6.8, I can set "Touch Bar shows" to "Quick Actions" and uncheck "Show Control Strip". I see nothing on the touch bar and didn't have to fool with customizing the touch bar. Don't have to install BarNone or any other tool either. Works great in my case.
    – Dave Hein
    Commented Jul 29, 2023 at 18:52
11

For my 2019 16" MBP I ended up with this:

$fn = 20;

module RoundRect(w, d, h2, r, scale=1) {
  h = h2/2;
  linear_extrude(height=2*h, scale=scale)
  translate([-w/2+r, -d/2+r, 0])
  minkowski() {
    circle(r=r);
    square([w-2*r, d-2*r]);
  }
}
//RoundRect(10, 11, 1, 2);

module Cover() {
  w = 242;
  d = 11;
  h = 1;
  h1 = 0.5;
  xside = 15;
  holeDist = 5;
  solid = xside + 11 * holeDist;
  holeW = (w - solid)/12;
  x0 = -w/2 + xside/2 + holeW/2;
  xDist = holeW + holeDist;

  mirror([0, 0, 1])
  difference() {
    union() {
      RoundRect(w+2, d+2, h, 3);
      translate([0, 0, h]) RoundRect(w+2, d+2, h1, 3, [w/(w+1), d/(d+1)]);
    }
    translate([0, 0, -1]) RoundRect(w, d, h+1, 2);
    for (x = [0:11]) translate([x0+x*xDist, 0, 0]) RoundRect(holeW, d-6, h+1, 1);
  }
}

Cover();

This is a cover for the touch bar you can create with OpenSCAD.

enter image description here

It fits snugly (at least for the over-extrusion my DIY Prusa creates). For now this thingy converts that nonsense-bar into something more like a "keyboard". You can rest your fingers on the strip and to actually press a key you need some explicit force inside the holes. And if eventually in some future I might have the need for that touch bar I can pull the cover off and store it aside.

For another MBP (elder one or different size) you need to adapt the sizes. The ones I used were measured with a caliper.

2
  • 1
    P.S. I found an (expensive) alternative way: sell the MBP and get the new one where they came to senses and restored a real keyboard. Well, giving them extra money for that does not really make me feel happier, though.
    – qwerty_so
    Commented Oct 22, 2021 at 8:10
  • "giving them extra money" - or you can go linux or windows :) Get more bang for buck
    – domis86
    Commented Mar 2 at 11:22
7

Fully disabling it seems not to be possible, as some vital functions like the Escape key require it.

What I found others doing was to put scotch tape over the touch bar. This makes it less sensitive up to completely unresponsive.

If you configure the touch bar to just show the control or function keys (whichever you prefer), and put some holes in the scotch tape before applying it, you can still press the keys and not do it accidentally.

I also suggest to log a complaint with Apple that the touch bar is too sensitive and gets pressed accidentally, so their engineers get a reason to improve it in future models, so no scotch tape is needed.

4
  • 3
    This is an awful kludge, but I might have to resort to this. I truly hate the Touch Bar on my new MacBook, enough so that I am thinking of ending my 30+ love affair with all things Apple in favor of Linux machinery. Commented Dec 7, 2019 at 13:42
  • @DavidHammen Yeah, too silly that thing? Who dares to let this run free for any Apple customer? I had been skipping that Esc-disater and thought it would be ok now. It isn't. Anyhow, I paid more than 3k and my old MBP really had its best days. The printed cover makes it acceptable. Somehow. At least it doesn't dang all times any more.
    – qwerty_so
    Commented Feb 25, 2020 at 22:53
  • apple's user experience gets worse every day. now we are down to scotch taping their garbage products Commented Feb 26, 2020 at 22:53
  • the very latest macbooks have a physical Esc key... must be from too many complaints about having only a virtual one... i just bought a "refurb" macbook pro but i knew instantly it wasn't a refurb when i opened it.. Apple will call new macbooks refurbs when clearing out defunct models at a lower price... i predicted the return of the physical Esc key because of my own frustration at accidental touches and new macbooks selling at refurb prices... additionally: i use Karabiner to disable the touch bar Esc button and map the tilde/backtick key to Esc
    – aequalsb
    Commented Sep 25, 2020 at 21:19
7

My Touch Bar was going cuckoo, and it would randomly press the buttons in it for no reason. Restarting the computer or killing the process did not solve the problem. While changing the Touch Bar options to "Expanded Control Strip" gave me the option to empty it, the 'esc' button was still there, randomly being pressed and driving me insane.

The way I solved the issue was less gentle than some of the options suggested here (but I didn't want to download a new app to deal with the touch bar):

  1. Find the touch app process in the "Activity Monitor", in my case named "Control Strip".
  2. Find its PID number (e.g. pidnum).
  3. Open the terminal and type kill -STOP pidnum. This will suspend the touch bar, which will now become unresponsive. Alternatively, one can also use: killall -STOP "ControlStrip"
  4. Since my 'esc' button is in the damn touch bar, I also changed my keyboard settings to use my 'caps lock' as 'esc' button. That is, System Preferences > Keyboard > Modifier Keys, and change accordingly.

If you need to turn the touch bar on again, you can always type kill -CONT pidnum.

One of the problems (potentially many) of my solution is that whenever you restart your computer, the touch bar will be enabled again. So you will need to kill -STOP the process again. You can always run a little script at the login that finds the PID number and runs the kill -STOP command. I haven't tried doing so, but it should be fairly straightforward.

6
  • 2
    Super use of signals! Great solution
    – bmike
    Commented Oct 20, 2021 at 10:01
  • Great answer. Thankfully my touch doesn't include the ESC key so I can continue to use that. Commented Dec 1, 2021 at 22:28
  • Does it work for you on macOS Monterey? I tried all you said but looks like Apple decided to ignore everything I execute (it doesn't even kill the process with low level commands like kill!!). Doing it from ActivityMonitor will restart the process immediately... Commented Jan 13, 2022 at 14:40
  • This is a great idea and answer, but when I try it on my 2019 MBP, the keypresses seems to buffer, and when I -CONT the process, the buffered keystroke(s) fire anyway. :(
    – Pistos
    Commented Apr 22, 2022 at 18:16
  • Seems to work as desired if I wait for the "screensaver" of the touchbar to kick in (which makes all the buttons go away until activity is detected) before -STOPping the process.
    – Pistos
    Commented Apr 22, 2022 at 18:18
2

Unfortunately I do not have a touchbar Mac to test, but it seems like BetterTouchTool is able to do what you want:

enter image description here

3
  • 1
    With BetterTouchTool, you can also put a bunch of non-interactive widgets in there. I added a clock & calendar, mostly inspired by the post here: vas3k.com/blog/touchbar Super useful.
    – mik01aj
    Commented Jun 29, 2020 at 21:27
  • A limitation is that this does nothing to disable the touch bar on the Mac's lock / login screen. I added an answer to at least disable those keys via Karabiner-Elements, even though they're still visible.
    – user163629
    Commented Nov 7, 2020 at 7:17
  • I bought BetterTouchTool specifically because of that infuriating touch bar. It has a lot of nice features, but ultimately had to stop using it because the system was less stable while it was running. Sometimes sticking with the base OS is best if you have work to do. Commented Jan 9, 2021 at 17:29
2

As part of disabling the Touch Bar as much as possible on the Mac, here is how to prevent the default Touch Bar buttons on your lock screen / login screen from being able to do anything, if you accidentally press them.

My example is the 2019 16-inch MacBook Pro (physical Esc key) so it has 8 default irremovable buttons:

enter image description here

  1. Install Karabiner-Elements. Make sure your Touch Bar device is ticked under Devices tab for what it can modify.

  2. In Simple modifications tab, this is what it looks like to disable all the above 8 keys: enter image description here

  • The last four buttons are listed under Media controls list by default.

  • The first four buttons need to be added manually via key detection by Karabiner-EventViewer (Karabiner-Elements menu bar > EventViewer). For each button, press it in EventViewer then add it to Karabiner-Elements as shown by the arrow. enter image description here

  • Remap each key to VK_none to make them do nothing.

I have not found a way to disable the Touch Bar at the driver level (i.e. the kext files), based on a cursory look.

1

It's possible to completely remove everything from the touchbar by switching it to Expanded Control Stip mode in Keyboart Settings and then using "Customise Control Strip ..." in the same settings dialog to remove all the buttons from it.

Well, it's not physically disabling the device, but there's nothing in it to accidentally touch.

The volume keys can be re-mapped to something like Option <> (with Karabiner Elements for example)

Works on Big Sur 11.2.1

1

After checking this post and not finding a right and free option, I found Bar None It’s also available on GitHub.

It allows you to lock the Touch Bar unless you press the Fn key. Now I have F controls by default, but they do not work, unless I press Fn and then I get the Control Strip.

3
  • 1
    Link is dead :/
    – mix3d
    Commented Jul 27, 2023 at 3:59
  • Yeah, thanks for the comment @mix3d! I have contacted the author and he just restored it, I will edit my answer with the new link Commented Jul 28, 2023 at 14:39
  • Awesome, because accidental touches of this @$%* touchbar are a BEAR.
    – mix3d
    Commented Aug 1, 2023 at 17:21
0

If your Touch Bar is flickering, you can go to Preferences/Keyboard/Personalize Control Strip. From there you can remove all the items from the Touch Bar. It's a great solution if you really never use the Touch Bar.

If you do need the Touch Bar from time to time but want to be able to turn it off at will then I made an app called Hide My Bar. It allows you to turn the Touch Bar on and off with just the press of a shortcut. It has other features to switch easily between the Control Strip and the Fn Keys.

You can find it here: https://hidemybar.clemstation.com/

(Full Disclosure: I'm the developer - reach out to have a coupon)

1
  • @IconDeamon I made it more explicit. Thank you for pointing out. Commented Jun 18 at 18:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .