PageSourceSearch

https://www.urduword.com/js/keyboard.sv7.js

js urduword.com collected 2026-10-02 07:26:28 UTC 3,264 bytes, 84 lines download raw bytes

1
2    $(document).ready(function(event){
3        urduKeyboardLoaded = true;
4        var urduInput = ".urdutext_edit";
5        $(urduInput).live('keypress',function(event){
6            if (typeof(urduKeyboardLoaded) != 'undefined' && urduKeyboardLoaded){return keyboard(this,event)}
7        });
8        $(urduInput).live('keydown',function(event){
9            if (typeof(urduKeyboardLoaded) != 'undefined' && urduKeyboardLoaded){return keyboard2(this,event)}
10        });
11    });
12    
13    
14function setCursorAtEndKeyboard(oTextbox) {    if (oTextbox .createTextRange) {        var r = (oTextbox.createTextRange());        r.moveStart('character', (oTextbox.value.length));        r.select();    }}
15
16function setCursorAt(oTextbox, index) {    if (oTextbox .createTextRange) {        var r = (oTextbox.createTextRange());        r.moveStart('character', (index));   r.moveEnd('character', (index));       r.collapse();        r.select();    }}
17
18    function formatselection(textbox, formattedText) {
19        var textSelected;
20
21        if (document.selection != undefined) {//IE
22            textbox.focus();
23            var sel = document.selection.createRange();
24            sel.text = formattedText;
25        }
26        else if (textbox.selectionStart != undefined) {//Mozilla
27            var startSelPos = textbox.selectionStart;
28            var endSelPos = textbox.selectionEnd;
29            var oldText = textbox.value;
30            textSelected = textbox.value.substring(startSelPos, endSelPos);
31            textbox.value = oldText.substr(0, startSelPos) + formattedText + oldText.substr(endSelPos);
32        }
33    }
34
35
36	function keyboardFromKeyCode(textbox, keyCode){
37		var returnVal = true;
38		var a='qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLCBN "';
39		var b='طصھدٹپتبجحمورنلہاکیقفےسشغعظضذڈثّۃـچخژزڑںۂءآگيۓؤئ ً';
40		var ins=a.indexOf(String.fromCharCode(keyCode));
41		if (ins!=-1){ // recognized word to be translated
42            var newChar = b.substr(a.indexOf(String.fromCharCode(keyCode)),1);
43            formatselection(textbox, newChar);
44            setCursorAtEndKeyboard(textbox);
45			returnVal = false;
46		}else{
47			
48			if (keyCode == 8 && textbox.value.length > 0){ // handle backspace
49				//textbox.value = textbox.value.substr(0, textbox.value.length-1);
50				//returnVal = false;
51			} // allow enter, return, tab(9), backspace (8)
52			else if(keyCode != 13 && keyCode != 10 && keyCode != 9) {
53				returnVal = false;
54			}
55		}
56
57		return returnVal;
58	}
59	
60	function keyboard(textbox,e){
61        var returnValue = true;
62		var keyCode = window.event ? e.keyCode : e.which;
63        
64        if (e.ctrlKey || e.metaKey || e.altKey){ // allow processing ctrl, alt, and command keys
65            returnValue = true;
66        }else if (e.keyCode >= 37 && e.keyCode <= 40){ // allow arrow keys
67            returnValue = true;
68        }else{ // non-modified and shift-modified keys
69            returnValue = keyboardFromKeyCode(textbox, keyCode);
70        }
71		return returnValue;
72	}
73
74	function keyboard2(textbox,e){
75		var returnVal = true;
76		var key = window.event ? e.keyCode : e.which;
77		//if (key==8) {
78		//	textbox.value=textbox.value.substr(0,textbox.value.length-1);
79		//	returnVal=false;
80		//}
81		return returnVal;
82	}
83	
84

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.