Hacker News new | past | comments | ask | show | jobs | submit login
Initial V: A BMW shifter converted to a Bluetooth keyboard for use with Vim (github.com/tenderlove)
331 points by smcleod on March 3, 2023 | hide | past | favorite | 107 comments



Let’s expand this to include pedals and a steering wheel. We can put WPM on the speedometer and CPU load in the tachometer.

The windshield wiper stick can clear the current buffer.


Wiper spray buttons to squirt coffee into mouth as well.


And the hazard lights to automatically minimize all open windows


or hazard lights for linter warnings.


I did for a moment considered jacking the car up, putting monitor on the bonnet, connecting to OBD and using pedals and steering wheel for simracing controls.

Then discovered steering wheel angle and break/clutch is not available on OBD bus in my car.


I like it. Memory is the highway and you use an indicator to show that you are entering a critical section.


The steering wheel could invoke :earlier xs (when rotated by x to the left) and :later xs (to the right). We'd have a time machine.


Emacs users are sometimes stereotyped as wanting foot pedals to get more of those sweet, sweet control and meta keys.


Quadruple buckies that require actually hitting one of the keys with your nose are fun.


Damn, I'm guilty of that too


And if driving a classic vehicle with a manual choke, engaging the choke tells you about vim commands


I want the blinker lever to manage normal/insert mode.


BMWs don't come with blinkers - never seen one being used.


I had to laugh the other day when I did indeed see a BMW indicating, but they were going round a roundabout and using them incorrectly....


There are persistent rumors in the greater Munich area, that there are actual people being payed by BMW to, gasp, install them. But these are just rumors and horror stories we tell our children if they don't eat their vegetables... I think...


Nah, just boss nephew's cousin needed a job.


Don’t forget to change the blinker fluid every 9999 characters typed.


BMW driver here: what’s a blinker? I’ve never changed the fluid.


No turn signal!


Some small part of me wants to use vim-clutch and make a manual transmission version of this.


I like the idea of pressing the clutch pedal to go to insert mode, and releasing it to go back to normal mode.


As I recall, early mouse prototypes involved foot pedals, but businessmen didn’t want to look like they were using a sewing machine.


That’s the usual vim clutch. I used to use it that way but the pedal I used did not offer enough resistance and so my foot would tire.


If your foot would tire, that's a sign that you were running _in front of_ the car. When you run behind the car, your foot will be exhausted.


In my case, since the foot was too tired, it must have been a bicycle or motorcycle.


That's terrific, thank you! The kids are going to hear this!


Exactly, a keyboard should replace that clumsy driving wheel that protrudes. It would be MUCH easier to pilot if every car function had a vim shortcut.


"How to exit car"


The safety angle is key. I’ve never had vim crash on me.


But if you do crash, next time you get into the car it’ll ask you if you want to restore from backup or delete the car.


I do wonder how it will fit car~ in my current directory^Wgarage.


"Travel K for 20 feet, take the first L and immediately get in the H-most lane"


Ooo use it for the mode!


The github page needs eurobeat blasting on load.


Here's "Deja Vu" if someone would prefer to have some background music:

https://www.youtube.com/watch?v=dv13gl0a-FA


By far my favorite eurobeat song, and objectively one of the best


Here’s Night of Fire for your enjoyment: https://youtu.be/YdHO0R4FeyQ


Yes!!!! My plan is to make a promotional video with Euro Beat music. I also want to feature "multi-line editing!"


Best for tofu delivery: https://www.youtube.com/watch?v=q7iT2mzlVf0

Although it should have been Toyota Corolla AE86 stick-shift then.



Looking at the control manual this looks very ergonomic. You're essentially delegating non-input controls to a joystick with feedback, while the typing is done on the keyboard. This is actually useful.


This needs moving one hand back and forth though. Maybe pedals? When I think about it, perhaps humans need more outputs :)


I actually have this idea where there’s a pedal that shifts your keyboard from qwerty to Dvorak, and some savant can hyper-optimize input by shifting with human look-ahead.


I would love to see that because there has to be at least one person in the world who could pull that off.


There are plenty of muscles that are underutilised in the computer peripheral world. Feet, legs, toes, tongue, anus. Hardware designers are too orthodox and we're all worse off because of it.


The teen in me could not stop thinking what kind of commands would be fitting anus usage? Process kill? rm -rf? The backspace key? Endless!


Clench:

  ulimit -c 0 
Unclench:

  ulimit -c unlimited


Clench to revert changes


A few years ago I had some pretty bad issues with my hands, mostly caused by using my thumb to reach for the Alt key. My employer bought me some foot pedals that I ended up binding to alt and capslock (since I used my capslock key for ctrl + esc). It actually works pretty great :).


You mean something like this?

https://github.com/alevchuk/vim-clutch


Just need a third hand to make it efficient.


Annoying fact about these shifters, when mated to the ZF-8: if your car doesn't start you gotta go under it and screw in some bolt to make it go into neutral.


It's amazing the vast library of very make/model/config specific "put this in neutral" hacks that are basically required knowledge for modern tow truck operators.

Edit: If you'd like to see pictures and an explanation of the ZF-8 situation there's some good ones here: https://blog.fcpeuro.com/how-to-put-the-zf-8-speed-in-neutra...

> First start by safely lifting the car in the air. We always advise using a quality floor jack and jack stands to support the vehicle. Once it is in the air, you need to gain access to the transmission. Depending on the car in question, this could be behind belly pans or covers. Once you've gained access to the transmission, locate the hex-head bolt. Use a 5mm hex bit socket on a ratchet to rotate the bolt to the right. Listen for a click as you move the foot up. The click indicates that the transmission is no longer in park, and the car will roll freely.

Yikes! Best to keep a 5mm internal hex in the glovebox.


That's actually dangerous.

The gearbox is going to be shifted out of park WHILE THE MECHANIC IS UNDER THE CAR.

If there is a subtle error in setting up the jack (e.g. if there is a slight gradient and the drive wheels are on the ground, so that the car is "resting" against the parking brake), shifting it into neutral could cause the car to move slightly as the longitudinal force is transferred from the parking brake to the wheel chocks / handbrake / jack / etc. If the situation is marginal, this could cause the car to fall off the jack and crush the mechanic.

It just seems like a recipe for (occasional, statistical) disaster.


I would never go under a jacked up car. Just use the jack to change the tyres that is it. Anything else I take it to the mechanic who will lift it with the proper machinery.


Oh indeed, most people wouldn't. I bet some people do though.

Especially if the car is broken down in the road (which is where cars usually break down), and there is no tow truck but someone has a jack (e.g. the basic jack for changing the tyre) and there is pressure to get the car off the road. It's inevitable that out of all the millions of cars and people, someone will be in a hurry to jack it up using the spare tyre jack and not much else, climb under, put it in neutral without thinking of what will happen next, and get crushed.


2 jack stands + jack is fine, throw a wheel under the car just in case.

But on the shitty jack that is supplied with car? No chance


> That's actually dangerous.

> The gearbox is going to be shifted out of park WHILE THE MECHANIC IS UNDER THE CAR.

Yes the comment refers to “modern tow truck operators,” a field with a higher risk threshold than other occupations.


I think you're overestimating the knowledge of tow truck operators. The other day I saw a Miata towed by the front wheels. Rear wheels on the ground.

That's what I call basic knowledge. I would understand the BMW thing to be in some database.


Probably was in neutral without handbrake, otherwise: Holy shit, they gotta be liable for damage done.


> Probably was in neutral without handbrake, otherwise: Holy shit, they gotta be liable for damage done.

Even in neutral, you'll damage the diff by having the wheels drive it without a load

"Normal" for a diff is to either have the engine drive it with a load (the road) or have the road drive it with a load (then engine). Applying a driving force on it while it freewheels without a load is not good.


> Even in neutral, you'll damage the diff by having the wheels drive it without a load

No, you won't. You do that roughly half the time in normal driving.


This apparently isn't universally true; the manual for my rear wheel drive car says to lift it by the front wheels, put it in neutral, and leave the rear wheels on the ground.

The automatic version does have to be set to a specific gear, and there are speed and towed distance limits.


I wonder where those myths come from...

No, on 2WD with neutral engaged nothing bad will happen.


In theory the driveshaft could have been removed.


You know full well that wasn't the case.


Eh, not full well. I myself have towed a Miata rear wheels down after removing the driveshaft. (In a parallel universe I very well could have been the tow operator that the commenter some levels up saw) My understanding is that re:Miata the diff isn't the problem, (since its always just kinda full of oil/grease that is flung around by the gears) it's that the transmission may only pump oil when operating normally. I think my previous comment replied to the wrong person actually. Things are getting blurry at 3am here...


I’d say it is always safer to fully load a car on a flatbed and tow it with none of the wheels turning. I never understood why it is allowed to tow someone else’s car with their wheels turning.


That does remind me of one time when I was living in Boston and my apartment window was right next to a tiny "golden street" - no resident parking restrictions, no street sweeping, no snow artery, nothing on restrictions. Room for maybe a dozen cars. Very secure because it was well lit with multiple cameras from an adjacent church. (and no one breaks into cars in front of God!) Near a train stop. You could leave a car there for weeks. Such a parking place is exceedingly rare in the Boston city core. Only threat was, after 72 hours, someone might call it in as 'abandoned' per state law.[1] Generally this wasn't done for neighbors and maintained-looking cars as a courtesy.

Anyway, someone who didn't seem to be a neighbor decided to park a big crusty step van there for a month and a neighbor must have took offence to that and called it in, because two non-flatbed Boston city police tow trucks showed up in the middle of the night to take it away. I became aware of this due to a horrible intermittent screeching sound - I opened my blinds and saw the two tow trucks, facing opposite directions and using one side of each of their hydraulic wheel lifts in tandem on the outer wheels of the step-van to pull the parallel-parked vehicle out perpendicularly into the street. Once it was out in the street they didn't bother to put it in neutral or anything, hooked the front on one of the trucks and drove away with the locked up rear tires just screeching all the way away into the night. Parts of the rubber tracks were left behind for years on that street.

The lesson to all who saw those tracks - Boston don't give no fucks about your street parked vehicle if it is deemed abandoned by the community!

[1] https://www.boston.gov/departments/transportation/abandoned-...


The tow truck operators I have seen didn't give a shit. Pulled hard enough the car ends up on the trailer no matter whether it is in gear or not. No apparent concern for the wellbeing of the drivetrain.


I've mostly seen them use these small dolly things to lift the drive-wheels a little bit and then pull it onto the two truck.

That method also works when the parking brake is set, which in cars with an electronic parking brake is quite common.


Yeah, I really should have said good modern tow truck operators. Ah well. Thankfully every tow truck operator I've worked with has been very professional.


See also the Writehander, from 1978. My Dad's old mate had one.

https://www.microsoft.com/buxtoncollection/detail.aspx?id=6


Modern edition: Azeron game controllers.

https://www.azeron.eu/


I remember using razer nostromo n52, this seems like some weird evolution of that

https://www.engadget.com/2010-11-19-razer-nostromo-gaming-ke...


If by weird, you mean awesome. :)

But yes, it's an evolution on those kinds of game pads. Much more comfortable and adjustable, however.


Ouch. That looks like a torture device. There should be some monocled guy petting a cat saying "let's see if you can type your way out of this, Mr. Bond".


Taking the hand off the keyboard is sub optimal - pedal is ideal


Can somebody add a proper ignition lock so that people can quit Vim properly?


Computer culture is sometimes a bit paradoxical - I thought moving hand to the mouse from the home row was a big no-no, but now suddenly it's all OK to move them hand from that row to a gear shift!

In any case, a cool project, and the naming of it is top-notch!


It's the rule of cool. Everything must be as ergonomic as possible, unless of it adds to the cool-factor, which a functioning stick shift for your computer certainly does.


I saw the link and thought from Tenderlove? Is this a reference to Initial D? And he didn’t disappoint :D

I guess we can now listen to Eurobeat while programming in Vim.

Let’s start with Running in the 90s. XD


I feel like ordering some tofu.


If you don't have a spare BMW lying around, you can print an H shifter: https://www.youtube.com/watch?v=r5pWZvCl2iY, https://www.thingiverse.com/thing:3881165



There should be a sport / non sport mode option as well, I'm used to switching between those 2 more often


Ha ha ha, I initially expected this to be the opposite, i.e. vim controls to shift gears on a BMW.

This is much better (and safer).


"How to exit my car (vim edition)"


From the title I thought it was referring to the iDrive knob. The knob was originally designed by 3DConnexion, which was a Logitech subsidiary that made human interface devices for 3D modeling

The use of the shifter though, is something else


As someone who has used both a 3DConnexion space mouse and a BMW iDrive knob I always noted the similarity in design but do you have a source for the BMW iDrive knob originally being developed by 3dCx/Logitech? Because I have never seen a claim that there was actually a partnership or work done by the latter for the BMW. I think it is just a strong influence of single-point UI and a coincidence. 3dConnexion was founded in 2001, and the first BMW iDrive vehicle was the 2001 7-series but they had concept center-knob UI control before that.


> I'm not sure what mode in Vim would map to Reverse on the handle, so there's no way to transition to Reverse at the moment.

Hmm, I would have thought normal mode lowercase U even if caps lock is mistakenly set.


Now you just need the clutch to go with it: https://github.com/alevchuk/vim-clutch


An automatic shifter - I was expecting 6 gears.


I would finally learn vim to use this.


BMW with automatic transmission seems self-contradictory. What's the fun in that.


The ZF-8 auto that BMW uses is honestly pretty great. I’m a diehard manual fan, but I have very few complaints about it in our BMW wagon, despite having hated every other automatic I’ve ever been subjected to.


They sell an option for paddle shifters on the wheel. Even F1 cars have automated gearboxes with paddles on the wheel, so it's not that crazy for a "sports" saloon to have the same?


The automatic transmission used in F1 cars is not at all comparable to the automatic transmission in consumer cars.

While the automatic transmission in F1 cars allows for fine grained control of the individual gears and just automates the gear-switching, consumer cars typically control which particular gear should be used at any moment of driving, and this difference is clearly noticable while operating the vehicle.


The sports automatic we're talking about here goes into manual mode if you use the paddles on the steering wheel. And then it operates the same as an F1 car, you are in manual control of the gears and the "automatic" side of it only steps in when the engine would otherwise stall (F1 calls it anti-stall and does it in a different way, but the effect for the user is the same).

Other than that of course an F1 gearbox is a very different and much more advanced piece of technology. I was talking about the way the user operates it, that's equal for a road car with paddles.


Most have manual mode.

There is also two types, torque converter based one ("classical" auto) and DSG which are closer to "automated manual", the good ones have lightning quick shifts and are overall performance-wise better than automatics on every front. Well the good, ones, bad DSGs also happened.

Just not as fun to drive.


At least use the glass shifter, have some self-respect.


I don't know if I would trust bluetooth with this.


Especially if exiting vim is at stake ;)


This somehow makes me like both vi and BMW less


I love the naming. Eurobeat intensifies


when quitting Vim becomes even harder


You didn't! I love this.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: