Да, я думаю, вам придется добавить собственную клавиатуру.Есть компании, которые продают библиотеки, которые реализуют пользовательские клавиатуры.Перевернуть это проблема;если у вас есть источник в библиотеке клавиатуры, вы можете использовать Affine Transforms, чтобы перевернуть его вверх ногами.
Вы не можете ничего добавить к существующей NSString, поскольку NSString является неизменной.Вы можете использовать NSMutableString или создать совершенно новую строку из существующей строки и строку, содержащую один символ, который вы хотите добавить.