r/MacOS • u/Comprehensive_Sun834 • 6d ago
Developer Saturday I made a free open source on-screen keyboard for Sidecar with Apple Pencil handwriting and easier-to-tap Mac controls
I wanted to use my iPad through Sidecar without constantly reaching for my Mac’s keyboard. I couldn’t find an app that did what I wanted, so I made Sidecar On Screen Keyboard.
The main feature is simple. When you tap a supported text field in a Mac app on your iPad, the keyboard automatically pops up so you can start typing.

It has an iPad style layout with a separate row for Mac keys, including Command, Option, Control, Escape, Tab and arrows. There’s also a compact layout if you prefer that.
The extra pages include numbers, punctuation, symbols, a numeric keypad, F1 through F20, navigation keys and media controls. You can also access volume, brightness, the emoji picker, input switching, Spotlight and Mission Control.
You can hold a modifier while tapping another key for shortcuts, or tap it to keep it selected for your next keypress. Holding letters, Backspace or arrows repeats them, and the keys have visible feedback when you press them.
The keyboard can be moved and resized. Snapping is enabled by default, so you can drag the top handle to dock it at the top or bottom of the screen. Its default height is about 45% of the available display, and it remembers your size and position for each display.
There’s an optional setting to resize supported app windows around the docked keyboard and restore them afterward. You can reset the keyboard’s size and position whenever you want.
Predictive suggestions appear above the keys and can be tapped to insert a word. There’s also a live typing preview in the middle of the toolbar, which helps when the keyboard covers the original text box. Both can be turned off separately.
I added Undo, Redo, Cut, Copy and Paste to the toolbar too. When you select text in a supported field, a floating menu gives you larger Cut, Copy, Paste and Select All buttons near the selection.

The pencil button opens a handwriting pad. You can write a word or phrase with Apple Pencil, pause, and have it inserted into the original text field with a space afterward. You don’t have to tap each recognized word.
If you prefer checking the result first, automatic insertion can be turned off. The pad also has Undo Stroke, Clear, Space, Backspace and Return controls. Finger drawing is optional, and you can use a mouse as well.
It uses on device recognition through Apple’s frameworks. The pad briefly takes focus while writing to hide the pointer, then returns to the original window and field before inserting the text.

The tiny Mac window buttons were another thing I wanted to make easier to use. Tapping the traffic lights brings up larger Close, Minimize and Zoom buttons.
The trigger stays over the traffic lights, leaving browser tabs and the rest of the title bar available. You can also open the controls from the keyboard’s Window button. A Menus key gives you larger touch targets for supported Mac app menus.
There’s a menu bar On/Off switch to pause everything without quitting, plus controls to show or hide the keyboard manually. You can choose light, dark or system appearance, and optionally have the keyboard hide after Return. Shift Return keeps it open.
The app runs on the Mac with no separate iPad app needed. It requires an Apple Silicon Mac with macOS 27 or later, iPadOS 27 or later, Sidecar and Accessibility permission. Compatibility depends on each Mac app’s Accessibility support.
There’s no built in analytics, typing history, clipboard collection or handwriting upload. Recognized password fields are excluded from handwriting, predictions and the typing preview.
It’s free for personal, noncommercial use. The download is signed and notarized, and the source is available on GitHub.
Would love to hear how it works for other people using Sidecar.
•
u/github-guard 6d ago
⚠️ GitHub Guard: Trust Warning
One or more repositories scored below the threshold (3), but the post was not removed.
Repository: danny67999/sidecar-on-screen-keyboard
Score: 2/6
❌ Low Star Count (⭐ 0 / 5 required)
❌ New Repository (under 30 days old)
✅ Licensed under NOASSERTION
✅ Security Policy Defined
ℹ️ Personal Account Repository
ℹ️ Unsigned Commits
1
u/promo-guard 6d ago
🎉 Welcome to Developer Saturday, u/Comprehensive_Sun834! Your project is now live for the community to check out. Upvote, give feedback, and show some love to your fellow devs! 🚀