dim mode mode=1 sub FarsiKeyDown() if (window.event.shiftKey and window.event.altKey) then if (mode=0) then mode=1 else mode=0 end if window.event.returnValue=FALSE exit sub end if window.event.returnValue=TRUE end sub ' Keyboard Mapping to Unicode characters sub FarsiKeyPress() dim key key=window.event.keyCode if key>127 then exit sub if (mode=1) then select case chr(key) case "H" : window.event.keyCode = 1570 case "h" : window.event.keyCode = 1575 case "f","F" : window.event.keyCode = 1576 case "`" : window.event.keyCode = 1662 case "j","J" : window.event.keyCode = 1578 case "e","E" : window.event.keyCode = 1579 case "[" : window.event.keyCode = 1580 case "]" : window.event.keyCode = 1670 case "p","P" : window.event.keyCode = 1581 case "o","O" : window.event.keyCode = 1582 case "n","N" : window.event.keyCode = 1583 case "b","B" : window.event.keyCode = 1584 case "v","V" : window.event.keyCode = 1585 case "c","C" : window.event.keyCode = 1586 case "\" : window.event.keyCode = 1688 case "s","S" : window.event.keyCode = 1587 case "a","A" : window.event.keyCode = 1588 case "w","W" : window.event.keyCode = 1589 case "q","Q" : window.event.keyCode = 1590 case "x","X" : window.event.keyCode = 1591 case "z","Z" : window.event.keyCode = 1592 case "u","U" : window.event.keyCode = 1593 case "y","Y" : window.event.keyCode = 1594 case "t","T" : window.event.keyCode = 1601 case "r","R" : window.event.keyCode = 1602 case ";" : window.event.keyCode = 1603 case "'" : window.event.keyCode = 1711 case "g","G" : window.event.keyCode = 1604 case "l","L" : window.event.keyCode = 1605 case "k" : window.event.keyCode = 1606 case "K" : window.event.keyCode = 0161 case "," : window.event.keyCode = 1608 case "i","I" : window.event.keyCode = 1607 case "d" : window.event.keyCode = 1610 case "D" : window.event.keyCode = 1609 case "m","M" : window.event.keyCode = 1574 case "0" : window.event.keyCode = 1776 case "1" : window.event.keyCode = 1777 case "2" : window.event.keyCode = 1778 case "3" : window.event.keyCode = 1779 case "4" : window.event.keyCode = 1780 case "5" : window.event.keyCode = 1781 case "6" : window.event.keyCode = 1782 case "7" : window.event.keyCode = 1783 case "8" : window.event.keyCode = 1784 case "9" : window.event.keyCode = 1785 end select end if window.event.returnValue=TRUE end sub ' Keyboard Mapping to Unicode characters sub EnglishKeyPress() dim key key=window.event.keyCode select case key case 1590,1611 : window.event.keyCode = 113 ' farsi ascii code: 1590,1611 case 1589,1612 : window.event.keyCode = 119 ' farsi ascii code: 1589,1612-ص,ٌ case 1579,1613 : window.event.keyCode = 101 ' farsi ascii code: 1579,1613-ث,ٍ case 1602 : window.event.keyCode = 114 ' farsi ascii code: 1602-ق case 1601,1548 : window.event.keyCode = 116 ' farsi ascii code: 1601,1548-ف,، case 1594,1563 : window.event.keyCode = 121 ' farsi ascii code: 1594,1563 case 1593 : window.event.keyCode = 117 ' farsi ascii code: 1593 case 1607 : window.event.keyCode = 105 ' farsi ascii code: 1607 case 1582 : window.event.keyCode = 111 ' farsi ascii code: 1582 case 1581 : window.event.keyCode = 112 ' farsi ascii code: 1581 case 1580 : window.event.keyCode = 91 ' farsi ascii code: 1580 case 1670 : window.event.keyCode = 93 ' farsi ascii code: 1670 case 1588,1614 : window.event.keyCode = 97 ' farsi ascii code: 1588,1614 case 1587,1615 : window.event.keyCode = 115 ' farsi ascii code: 1587,1615 case 1740,1616 : window.event.keyCode = 100 ' farsi ascii code: 1740,1616 case 1576,1617 : window.event.keyCode = 102 ' farsi ascii code: 1576,1617 case 1604,1728 : window.event.keyCode = 103 ' farsi ascii code: 1604,1728 case 1575,1570 : window.event.keyCode = 104 ' farsi ascii code: 1575,1570 case 1578 : window.event.keyCode = 106 ' farsi ascii code: 1578 case 1606 : window.event.keyCode = 107 ' farsi ascii code: 1606 case 1605 : window.event.keyCode = 108 ' farsi ascii code: 1605 case 1705 : window.event.keyCode = 59 ' farsi ascii code: 1711 case 1711 : window.event.keyCode = 39 ' farsi ascii code: 1592,1577 case 1662 : window.event.keyCode = 92 ' farsi ascii code: 1662-پ case 1592,1577 : window.event.keyCode = 122 ' farsi ascii code: 1591,1610 case 1591,1610 : window.event.keyCode = 120 ' farsi ascii code: 1586,1688 case 1586,1688 : window.event.keyCode = 99 ' farsi ascii code: 1585,1572 case 1585,1572 : window.event.keyCode = 118 ' farsi ascii code: 1584,1573 case 1584,1573 : window.event.keyCode = 98 ' farsi ascii code: 1583,1571 case 1583,1571 : window.event.keyCode = 110 ' farsi ascii code: 1608 case 1574,1569 : window.event.keyCode = 109 ' farsi ascii code: 1567 case 1608 : window.event.keyCode = 44 ' farsi ascii code: 1567 end select window.event.returnValue=TRUE end sub sub FarsiNumKeyPress() dim key key=window.event.keyCode if key>127 then exit sub if (mode=1) then select case chr(key) case "0" : window.event.keyCode = key case "1" : window.event.keyCode = key case "2" : window.event.keyCode = key case "3" : window.event.keyCode = key case "4" : window.event.keyCode = key case "5" : window.event.keyCode = key case "6" : window.event.keyCode = key case "7" : window.event.keyCode = key case "8" : window.event.keyCode = key case "9" : window.event.keyCode = key ' case "." : window.event.keyCode = 46 case else : window.event.keyCode = 0 end select end if window.event.returnValue=TRUE end sub sub FarsiTelKeyPress() dim key key=window.event.keyCode if key>127 then exit sub if (mode=1) then select case chr(key) case "0" : window.event.keyCode = key case "1" : window.event.keyCode = key case "2" : window.event.keyCode = key case "3" : window.event.keyCode = key case "4" : window.event.keyCode = key case "5" : window.event.keyCode = key case "6" : window.event.keyCode = key case "7" : window.event.keyCode = key case "8" : window.event.keyCode = key case "9" : window.event.keyCode = key case "-" : window.event.keyCode = key case else : window.event.keyCode = 0 end select end if window.event.returnValue=TRUE end sub