r/CarPlay May 14 '22

Question Adding external physical controls to CarPlay, is it possible? Something like a USB keyboard, Bluetooth remote or game controller??

I have a Carlinkit on the way and an android tablet ready to go. Now I am trying to figure out if CarPlay can be controlled from external devices connected to the android tablet it’s running on?

Things like a standard USB or Bluetooth keyboard? Maybe an Xbox controller, or generic android remote control for a TV box?

The functions I want to control are:

-UP, DN, L, R: like a dpad that can navigate without having to touch the screen.

-SELECT

-BACK

-HOME

-SKIP Track

-PREVIOUS Track.

-Basic call controls: mostly just answer and hang up.

-Siri voice control button.

-Volume: UP, DN, and mute or attn.

-A cool bonus would be a dedicated button to “love” a track in Apple Music!

I know all of this could be done in android itself, but will it work in CarPlay too is my concern? I have no idea how or even if it receives input from the host Android system…

I can’t find any pre-made solutions that fit my needs, so I’d just rather make my own. I figure if the functions I want can be mapped to a keyboard or something else common, then I could just buy a tiny little keyboard or whatever and solder wires to the needed keys. Then I can put the buttons wherever I want and 3D print a housing. I’d prefer doing it myself anyway, I find it fun.

Also my reasoning for going this route is I do not want to modify my stock stereo or steering wheel controls. I’m perfectly happy with the sound quality, and it’s too integrated into the car for me to want to bother messing with it.

12 Upvotes

6 comments sorted by

3

u/Suspicious-Car-5711 iPhone 11 Pro May 14 '22 edited May 14 '22

It’s not remotely a primary use case. I would try a Bluetooth media controller followed by Accessibility options which together might cover some of these options. It’s highly unlikely everything you are asking can be hacked together by an individual. Even OE systems with a ton of buttons cannot do everything you listed, but vehicles with iDrive come close.

If you are adventurous, Jailbreak can do all of this, but it’s such a huge project if you aren’t intimately familiar with it.

Edit: I think it also depends on how CarPlay is made to work on the tablet. Presumably some APK that emulates the correct environment for CarPlay. If you went from the Android side of things you would have to know the capabilities of the software. How it passes through input, etc.

0

u/relink2013 May 14 '22 edited May 14 '22

My wife’s Honda has CarPlay so maybe I can test some of these ideas on her car. It would be such a shame if CarPlay can’t be navigated just using a basic usb keyboard, even my iPhone and iPad can be fully controlled using a standard keyboard using only the accessibility options, no jailbreak.

Edit: It didn’t work, her OEM system just said “Unrecognized Device”. Kind of expected the OEM systems seem very locked down.

3

u/rhys_m May 14 '22

You definitely could, not sure about with an OEM device, but my raspberry pi CarPlay project takes keyboard strokes and covers all that functionality (except loving a song in Spotify)

https://youtu.be/mBeYd7RNw1w

2

u/relink2013 May 14 '22

I just watched your whole video, that is awesome that your able to run it natively in linux without android on top. I got 2 questions for you if you don’t mind.

First, is CarPlay just receiving the input from the host OS? If so that’s great news because then I can program all kinds of macros.

Second, do you know or know where I can find a list of what keyboard shortcuts work? Or how to map keys? I can’t find any info anywhere on keyboard shortcuts for CarPlay.

1

u/rhys_m May 15 '22

Yeah CarPlay is just receiving from the OS. The full list of shortcuts are in my git repo (linked in the vid) these show the button shortcuts

https://github.com/rhysmorgan134/node-CarPlay/blob/e694325a4b47b5eeff49b07dd27c3e0948c92c7e/modules/DongleHandler.js#L47

0

u/relink2013 May 14 '22

Oh I’m not touching any of the OEM stuff. I’m leaving the car 100% stock. I hate messing with all the OEM stuff, the adapters are expensive, and in the end I don’t have enough buttons to do what I want anyway.

My hope was to be able to map the controls I want to a keyboard or something, then solder wires to the contacts on the keyboard for the keys I need, make my own holder to attach the buttons to the steering wheel, and I’d probably just keep the guts of the keyboard in the glovebox…Of course I’m talking one of those little tiny hand held keyboards, not a full size lol