^ is usually all you need, but if a user has the auto-cap setting disabled, it won’t work.

below is a simple programmatic implementation of the basic goal.