Be Virtual Keyboard

download Be Virtual Keyboard

of 36

Transcript of Be Virtual Keyboard

VIRTUAL KEYBOARDFor Multiple Languages

Project By T. Nageshwar Rao MCA Final year H.T.NO: 065-08-097 Guided by SETU Software Systems Pvt. Ltd.http://www.setusoftware.com/

Content

Abstract Introduction Existing system Proposed system System specification Modules Implementation Screen shots Conclusion & future Implementation

AbstractWith the rapid spread of different languages content on the web, there is problem with input to local language search engines(ex:- www.setooz.com) .

By designing multi-language Virtual keyboard we are solving the problem of giving input to such local language search engines.

Introduction

A Virtual Keyboard is small but very

powerful. A virtual keyboard is a software that allows a user to enter characters.

A virtual keyboard can usually be operated with multiple input devices, which may include an actual keyboard,mouse,etc.

Existing System

The problem with the existing system is to work on local language search engine (e.g. www.setooz.com) become difficult. Users find it difficult to use the local language search engine because of difficulty in giving input to the search.

Disadvantages:

Needs his/her own language keyboard. Cost effective to buy every keyboard. Needs add-ons/plug-ins to support different languages. Slow in giving input to search.

Proposed System

The problem with the existing system is solved by developing the Virtual Keyboard. Developing the virtual keyboard provides different language keyboards to the users to give input to local language search engine easily. You can also enable or disable the onscreen virtual keyboard to switch between physical and onscreen keyboards.

Advantages:

It supports multiple languages. Speed of the text entry. Ability to minimize the risk for repetitive strain injuries. Alternative keyboard layouts. No need of any plug-ins and add-ons to the browser. No need of buying different language keyboards.

System specificationHardware requirements: Processor RAM Hard Disk : Pentium-IV or above : 256MB or above : 2GB

Software requirements: OS : Windows/LINUX

Languages : HTML, Javascript, CSS, Ajax, jQuery Web server : Apache Tomcat Browser : Javascript enabled browser.

ModulesThere are 5 modules in this system.

Handling keyboard and mouse events. Handling the text box by preventing the default functionality. Changing virtual keyboard languages/characters. Client/Server communication. Integration.

1. Handling keyboard and mouse events

To handle keyboard and mouse events I assigned ASCII codes as the ID's to the keyboard buttons. When user press any key on the physical keyboard there is some value (ASCII code) of that key is generated. Using that ASCII code I displayed the character on the search box. When user clicks any key(button) on the virtual keyboard I used the key ID of that clicked key and I displayed character on the search box.

Standard output (search box)

Keyboard events Onkey press Onkey down onkeyup

Mouse events Onmouse click Onmouse move Onmouse over Onmouse out etc..

Hard keyboard

Virtual keyboard

Hard keyboard & virtual keyboard takes as single input

2. Handling the text box by preventing the default functionality

This module handles the default functionality of HTML text box. When user enter any character from the keyboard it will display one character from the virtual keyboard and another character from the physical keyboard. This problem is solved by preventing the default functionality the text box.

There are some problems occurred while preventing default functionality. Which are

Insertion of characters. Deletion of characters. Inserting in specified position. Deleting in specified position

3. Changing Virtual Keyboard languages/characters

The aim of the virtual keyboard is to show different language on-screen virtual keyboards to the users. For that I developed the virtual keyboard as the language independent. If user sends any request to change language /characters of the virtual keyboard then it connects to the server and displays the requested language/characters to the user. Every language has universal identity(id), using that ID we change the languages of the keyboard.

Standard output (search box)

No Performs an operation operation Yes

User

Virtual keyboard

File response request

ServerRespond with the request file

Changes virtual keyboard with the response

Client/Server communication In this module we are loading different language character files in to a virtual keyboard using the client/server communication. When user performs any language/character change actions then a request is generated and send to the server. In this I used the Tomcat as the server and AJAX as the middle-ware to connect, request, and response.

The figure below shows the communication between the virtual keyboard and the server using AJAX. AJAX(Asynchronous Javascript and XML )

Virtual keyboard

AJAX file Request Response(file)

Server

Integration Integrating is the first phase involves integrating all the modules developed earlier. The physical keyboard to the text synchronization, and virtual keyboard to the text box synchronization. The next phase of integration involves embedding the current Javascript code of virtual keyboard in a local language search home page (www.setooz.com). If user selects any language from the search engine then it will show a on-screen virtual keyboard to the user in a selected language.

Implementation We discussed little bit about unique id's of languages. Means there is some universal ID's are used to represent languages, for example English(en), Hindi(hi), and Telugu(te). Using that unique id's I generated 4 to 5 files for every language.

Example Table for English Shift 1 (en_1.txt) 1 (en_2.txt) 0 (en_3.txt) 0 (en_4.txt) Caps 1 0 1 0 File to be loaded Lower-case-shift mode All upper-case characters Upper-case alphabets All lower case characters

Ctrl+Alt = 1 If any extra characters are in language then I have taken 5th file(en_5.txt)

Screen shots

Different language keyboards

Telugu Keyboard:

Hindi Keyboard:

Arabic (

) & Bosnian (Bosanski) :

Bulgarian (

) & Czech ( esky) :

Keyboard and mouse event screen shots :

Enabling and disabling of Virtual keyboard :

For help (how to use a Virtual Keyboard) :

Conclusion and Future work Virtual keyboard place a very important role in the local language search engines. I developed the virtual keyboard for 14 languages, there are some other languages whose keyboards are not compatible to the standard English keyboard. Make the virtual keyboard customize to the users.

Thank You