Keyboard and method for self-defining keys on the keyboard

A keyboard includes a storage unit, a format generating unit, a character recognizing unit and an assigning unit. The storage unit is configured for storing a plurality of codes, each of the codes corresponds to a character assigned to a key on the keyboard. The format generating unit is configured for analyzing a digital picture reflecting a desired layout of keys on the keyboard and generating a location matrix of the desired layout according to the digital picture and the location matrix. The character recognizing unit is configured for recognizing the characters in the desired layout according to the digital picture and the location matrix. The assigning unit is configured for assigning the codes stored in the storage unit corresponding to the recognized characters to the corresponding keys, based upon the location matrix of the desired layout.

BACKGROUND

1. Technical Field

The present disclosure relates to a keyboard and a method for self-defining keys on the keyboard.

2. Description of the Related Art

Keyboards are typically used in electronic devices, such as computers, mobile phones and personal digital assistants. However, most of keyboard layouts are unchangeable. Some layouts are changeable but the changes are limited to a few particular keys. Users cannot discretionarily customize the layout of the keyboard.

Therefore, what is desired is a keyboard and a method for self-defining keys on the keyboard that can overcome the above described limitations.

DETAILED DESCRIPTION

Embodiments of the present keyboard and the method for self-defining keys on the keyboard will be now described in detail with reference to the drawings.

Referring toFIG. 1, a keyboard100includes a number of keys (not shown), an I/O port unit11, a storage unit12, a format generating unit13, a character recognizing unit14, an assigning unit15, an outputting unit16, and a controlling unit17.

The I/O port unit11is electrically coupled to the controlling unit17and the storage unit12. In this embodiment, the controlling unit17is mounted in the keyboard100. It should be mentioned that the location of the controlling unit17is not limited to this embodiment. In other alternative embodiments, the controlling unit17can be mounted in a computer host operated by the keyboard100.

The storage unit12can be a semiconductor memory or a magnetic memory for storing a number of codes. Each of the codes corresponds to a character assigned to a key, and the character represents a feature activated by the key when the key is actuated. For example, the code of character “A” is [00000000000000001], and the code of character “B” is [00000000000000010].

In this embodiment, before self-defining the keyboard100, users obtains and inputs a digital picture reflecting a desired layout of keys into the storage unit12via the I/O port unit11. For example, if a desired layout of keys is to exchange functions of two keys, the users may obtain a digital picture of the desired layout in such a manner: firstly provide two labels, one is labeled with a character, for example “A,” and the other is labeled with a character, for example “B;” secondly stick the label with “A” on a key of a keyboard which is originally provided to input the character “B”, and stick the label with “B” on a key of the keyboard which is originally provided to input the character “A;” and finally utilize a digital camera to take a digital picture for the keyboard with the two labels. The digital picture reflects the desired layout of keys on the keyboard. The format generating unit13is configured for analyzing the digital picture and generating a location matrix of the desired layout, according to the digital picture.

The character recognizing unit14is configure for recognizing the characters on the keys in the digital picture. In this embodiment, the character recognizing unit14is an optical character recognition (OCR) system.

The assigning unit15is configured for assigning the codes stored in the storage unit12corresponding to the recognized character to the corresponding key, based upon the location matrix of the desired layout.

The outputting unit16is configured for outputting the codes assigned by the assigning unit15to the controlling unit17. The controlling unit17is configured for transmitting codes of the self-defined keyboard layout to a computer host20via the I/O port unit11, so that the computer host20is able to recognize the desired layout of keys and carry out tasks, i.e., functions in response to actuate on the keys pursuant to the desired layout.

As compared with ordinary keyboards, the keyboard100is capable of being discretionarily customized for better personalized experience.

Referring toFIG. 2, a flowchart of a method for self-defining the keyboard100is shown. The method includes the following steps: in step S102: storing a plurality of codes, each of the codes corresponding to a character assigned to a key; S104: parsing a digital picture reflecting a desired layout of keys on the keyboard and generating a location matrix of the desired layout according to the parsed digital picture; in step S106: recognizing the characters on the desired layout in the parsed digital picture; in step S108: assigning the codes stored in the storage unit corresponding to the recognized characters to the corresponding key, based upon the location matrix of the desired layout; in step S110: transmitting codes of the keyboard to a computer host, so that the computer host is able to recognize the desired layout of keys and carry out tasks, i.e., functions in response to strokes on the keys pursuant to the desired layout.

It will be understood that the above particular embodiments and methods are shown and described by way of illustration only. The principles and the features of the present invention may be employed in various and numerous embodiments thereof without departing from the scope of the invention as claimed. The above-described embodiments illustrate the scope of the invention but do not restrict the scope of the invention.