A Chinese keyboard for iOS that helps Chinese language learners remember tones.

Related tags

Keyboard ToneBoard
Overview

ToneBoard

ToneBoard is a Chinese keyboard for iOS that requires you to enter the correct tones while typing simplified Chinese with Pinyin. It is available on the Apple App Store.

Demo Video

Here is a short video showing how ToneBoard works. The video is from the in-app tutorial, but you can use ToneBoard in any application in iOS once enabled in Settings.

ToneBoard Demo Video

Motivation

It can be very difficult for language learners to remember Mandarin Chinese tones, especially when using language learning apps and typing with standard Pinyin keyboards. These keyboards don't require you to input tones, making it very easy to type the correct characters without knowing the correct tones. These keyboards also tend to remember your frequently used words or suggest complete phrases, which is not helpful for language learners.

By requiring you to enter tones along with Pinyin spellings before displaying characters, ToneBoard lets you practice recalling the correct tone for each syllable whenever you type.

Data Sources

ToneBoard gets Pinyin spellings and tones for words and characters from CC-CEDICT. The word frequency data used to show the most common words first comes from the Google Ngram data.

You might also like...
Slidden is an open source, customizable, iOS 8 keyboard, written in Swift
Slidden is an open source, customizable, iOS 8 keyboard, written in Swift

Slidden is an open source, customizable, iOS 8 keyboard, written in Swift. iOS 8 brought us the ability to create fully customizable keyboards, but do

Emoji Keyboard for iOS
Emoji Keyboard for iOS

English | 中文 An easy to use Emoji keyboard for iOS. Has been rewritten with swift, the old Objective-C version on branch oc. Features Written in Swift

IHKeyboardAvoiding is an elegant solution for keeping any UIView visible when the keyboard is being shown - no UIScrollView required!
IHKeyboardAvoiding is an elegant solution for keeping any UIView visible when the keyboard is being shown - no UIScrollView required!

IHKeyboardAvoiding An elegant solution for keeping any UIView visible when the keyboard is being shown Requirements IHKeyboardAvoiding Version Objecti

Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.
Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.

IQKeyboardManager While developing iOS apps, we often run into issues where the iPhone keyboard slides up and covers the UITextField/UITextView. IQKey

⌨️ Add user-customizable global keyboard shortcuts to your macOS app in minutes
⌨️ Add user-customizable global keyboard shortcuts to your macOS app in minutes

This package lets you add support for user-customizable global keyboard shortcuts to your macOS app in minutes. It's fully sandbox and Mac App Store c

Suppress mouse & keyboard events on MacOSX. Baby-proof my Mac!

Suppress mouse & keyboard events on MacOSX Catches all events (mouse, keyboard, everything), and either consumes them (locked state) or passes them th

QMK Agent is a macOS menubar application which sends commands to a QMK enabled keyboard
QMK Agent is a macOS menubar application which sends commands to a QMK enabled keyboard

QMKagent QMK Agent is a macOS menubar application which sends commands to a QMK enabled keyboard Features System volume indicator using top row (Esc t

Showing / dismissing keyboard animation in simple UIViewController category.
Showing / dismissing keyboard animation in simple UIViewController category.

RSKKeyboardAnimationObserver Easy way to handle iOS keyboard showing/dismissing. Introduction Working with iOS keyboard demands a lot of duplicated co

A simple keyboard to use with numbers and, optionally, a decimal point.
A simple keyboard to use with numbers and, optionally, a decimal point.

MMNumberKeyboard A simple keyboard to use with numbers and, optionally, a decimal point. Installation From CocoaPods CocoaPods is a dependency manager

Comments
  • Chrome Extension

    Chrome Extension

    A few users of the iOS application have asked for a version of ToneBoard available for macOS or as a Chrome extension. I initially thought the native macOS option was preferable, but after exploring both options, I think a Chrome extension is preferable.

    The main reason is that many users use ToneBoard with apps like Duolingo which switch rapidly between e.g. input in Chinese and English. There is no way to tell in an OS input method what kind of web content a user is interacting with. However, in a Chrome extension, it is possible to see whether the currently active input has something like a lang="zh" property (this is the case for Duolingo Chinese input boxes). This makes for a very convenient experience where the input method is automatically selected as in the iOS application.

    The extension is actually mostly implemented now, and available in the repo in "/chrome/extension" for anyone who wants to try it. It can be installed as an unpacked extension. That said, I will keep this issue open until the extension is available in the Chrome Web Store.

    opened by bellkev 1
  • Pronounce characters/words as you type

    Pronounce characters/words as you type

    This is implemented now with Polly audio in main, but the audio DB is too big to simply distribute with the app. I'll need to use on-demand resources or some other mechanism to optionally distribute the data. (Or perhaps wait until iOS text-to-speech improves.)

    opened by bellkev 0
  • Option to randomize character order

    Option to randomize character order

    Some users have expressed interest in displaying candidate characters in random order (instead of the most frequent/likely option first, as it behaves currently) to help practice character recognition.

    opened by bellkev 0
Releases(chrome-v0.2)
  • chrome-v0.2(Jun 24, 2022)

    This release fixes an issue where the Chrome Extension would always append text to the end of an input element instead of inserting at the cursor.

    Source code(tar.gz)
    Source code(zip)
  • chrome-v0.1(May 1, 2022)

  • v1.3(Apr 8, 2022)

  • v1.2(Mar 30, 2022)

    Changes since version 1.1:

    • Improved ranking of several characters for which tone frequency data was incorrect or incomplete
    • Rolled back systemwide keyboard install instructions, as the button to open app settings directly does not always work correctly
    • Added help documentation for the ability to indicate rare tones
    Source code(tar.gz)
    Source code(zip)
  • v1.1(Jan 17, 2022)

    Changes since 1.0:

    • A number of small fixes and changes were made to the tutorial text and order
    • There is now an option to display an asterisk next to candidates which are relatively rare choices for the given reading/tone
    • Heteronyms (e.g. 还 read as huan2 or hai2) are now ordered much more reasonably thanks to data from Unihan
    • The candidate scrollview now resets to the left when the candidates change
    • Better test coverage, particularly for the candidate dictionary
    • Add an entry in Settings.app (a settings bundle), which simplifies enabling the keyboard
    • Make the keyboard UI more consistent with the system keyboard
    • Fixed a bug causing home-row keys to be too large with shift/capslock
    Source code(tar.gz)
    Source code(zip)
  • v1.0(Jan 1, 2022)

Owner
Kevin Bell
Kevin Bell
iOS utility class allows you to access keyboard view and track keyboard animation.

YYKeyboardManager iOS utility class allows you to access keyboard view and track keyboard animation. (It was used by YYText) Compatibility iPhone / iP

null 480 Nov 17, 2022
KeyboardKit is a Swift library that helps you create custom keyboard extensions for iOS and ipadOS.

KeyboardKit is a Swift library that helps you create custom keyboard extensions for iOS and ipadOS.

KeyboardKit 900 Jan 9, 2023
KeyboardMan helps you to make keyboard animation.

KeyboardMan We may need keyboard infomation from keyboard notifications to do animation. However, the approach is complicated and easy to make mistake

null 353 Apr 19, 2022
Codeless manager to hide keyboard by tapping on views for iOS written in Swift

KeyboardHideManager KeyboardHideManager - codeless manager to hide keyboard by tapping on views for iOS written in Swift. Structure Features Requireme

Bondar Yaroslav 55 Oct 19, 2022
Swift UIKit keyboard manager for iOS apps.

Typist Typist is a small, drop-in Swift UIKit keyboard manager for iOS apps. It helps you manage keyboard's screen presence and behavior without notif

Toto Tvalavadze 1.1k Dec 10, 2022
Best way to dismiss Keyboard in a View Controller iOS (Swift)

Best way to dismiss Keyboard in a View Controller iOS (Swift) First way: Implement UITextFieldDelegate’s textFieldShouldReturn method and dismiss curr

null 0 Dec 18, 2021
Objective-C library for tracking keyboard in iOS apps.

NgKeyboardTracker Objective-c library for tracking keyboard in iOS apps. Adding to your project If you are using CocoaPods, add to your Podfile: pod '

Meiwin Fu 808 Nov 17, 2022
A drop-in universal solution for moving text fields out of the way of the keyboard in iOS

TPKeyboardAvoiding A drop-in universal solution for moving text fields out of the way of the keyboard in iOS. Introduction There are a hundred and one

Michael Tyson 5.8k Dec 26, 2022
Emoji Keyboard SDK (iOS)

Makemoji SDK Makemoji is a free emoji keyboard for mobile apps. By installing our keyboard SDK every user of your app will instantly have access to ne

Makemoji 100 Nov 3, 2022
SwiftyKeyboard: a full customized numeric keyboard for iOS

SwiftyKeyboard Overview SwiftyKeyboard is an iOS customized enhanced keyboard. T

SwiftyKit 2 Jun 30, 2022