In this paper, we present a new scheme for implementing virtual keyboards, which uses only two to four motion-recognition rings per hand and a two-dimensional keyboard template (e.g., an A4 size paper with printed key positions). It has the benefit of portability, customizability, and low-cost when compared with existing approaches. Essentially, we have shown that wearing two wireless IoT rings on the middle phalanges of two fingers of each hand, users can input the alphabetic characters into a computing device by typing on a flat paper on a desk, and potentially in mid-air. We have demonstrated that two rings are sufficient in capturing the gestures and motions of all fingers in a typing hand for keystrokes recognition. A single wireless IoT ring, which weighs 7.8 grams, consists of a Bluetooth low energy (BLE) unit, a micro inertial measurement unit (mIMU), and a cell battery. The 3-axes attitude angles and the Z-axis acceleration of each ring are adopted as the features for keystroke recognition. The overall keystroke recognition accuracy rate can reach as high as 94.8% when two IoT rings are worn by a user on each hand; this accuracy rate increases to 98.6%, when four rings are worn on each typing hand.