Thursday, March 13, 2008

KEYBOARD ASCII AND SCAN VALUES

Hi Moraji,

This is for you brother :)

 

 

KEY ASCII SHIFT+KEY
DEC HEX DEC HEX
         
F1 59 0X03B 84 0X054
F2 60 0X03C 85 0X055
F3 61 0X03D 86 0X056
F4 62 0X03E 87 0X057
F5 63 0X03F 88 0X058
F6 64 0X040 89 0X059
F7 65 0X041 90 0X05A
F8 66 0X042 91 0X05B
F9 67 0X043 92 0X05C
F10 68 0X044 93 0X05D
F11 -123 0XFF85 -121 0XFF87
F12 -122 0XFF86 -120 0XFF88
ENTER 13 0X00D 13 0X00D
ESCAPE 27 0X01B 27 0X01B
SPACEBAR 32 0X020 32 0X020
TAB 9 0X009 15 0X00F
BACKSPACE 8 0X008 8 0X008
INSERT 82 0X052 82 0X052
HOME 71 0X047 71 0X047
DELETE 83 0X053 83 0X053
END 79 0X04F 79 0X04F
PAGE UP 73 0X049 73 0X049
PAGE DOWN 81 0X051 81 0X051
UP ARROW 72 0X048 72 0X048
DOWN ARROW 80 0X050 80 0X050
LEFT ARROW 75 0X04B 75 0X04B
RIGHT ARROW 77 0X04D 77 0X04D
PRINT SCREEN - - - -
0 48 0X030 41 0X029
1 49 0X031 33 0X021
2 50 0X032 64 0X040
3 51 0X033 35 0X023
4 52 0X034 36 0X024
5 53 0X035 37 0X025
6 54 0X036 94 0X05E
7 55 0X037 38 0X026
8 56 0X038 42 0X02A
9 57 0X039 40 0X028
A 97 0X061 65 0X041
B 98 0X062 66 0X042
C 99 0X063 67 0X043
D 100 0X064 68 0X044
E 101 0X065 69 0X045
F 102 0X066 70 0X046
G 103 0X067 71 0X047
H 104 0X068 72 0X048
I 105 0X069 73 0X049
J 106 0X06A 74 0X04A
K 107 0X06B 75 0X04B
L 108 0X06C 76 0X04C
M 109 0X06D 77 0X04D
N 110 0X06E 78 0X04E
O 111 0X06F 79 0X04F
P 112 0X070 80 0X050
Q 113 0X071 81 0X051
R 114 0X072 82 0X052
S 115 0X073 83 0X053
T 116 0X074 84 0X054
U 117 0X075 85 0X055
V 118 0X076 86 0X056
W 119 0X077 87 0X057
X 120 0X078 88 0X058
Y 121 0X079 89 0X059
Z 122 0X07A 90 0X05A
` 96 0X060 126 0X07E
- 45 0X02D 95 0X05F
= 61 0X03D 43 0X02B
\ 92 0X05C 124 0X07C
[ 91 0X05B 123 0X07B
] 93 0X05D 125 0X07D
; 59 0X03B 58 0X03A
' 39 0X027 34 0X022
, 44 0X02C 60 0X03C
. 46 0X02E 62 0X03E
/ 47 0X02F 63 0X03F
         
KEY ALT+KEY CTRL+KEY
DEC HEX DEC HEX
         
F1 104 0X068 94 0X05E
F2 105 0X069 95 0X05F
F3 106 0X06A 96 0X060
F4 107 0X06B 97 0X061
F5 108 0X06C 98 0X062
F6 109 0X06D 99 0X063
F7 110 0X06E 100 0X064
F8 111 0X06F 101 0X065
F9 112 0X070 102 0X066
F10 113 0X071 103 0X067
F11 -117 0XFF8B -119 0XFF89
F12 -116 0XFF8C -118 0XFF8A
ENTER - - 10 0X00A
ESCAPE - - - -
SPACEBAR - - 32 0X020
TAB - - -108 0XFF94
BACKSPACE 14 0X00F 127 0X07F
INSERT -94 0XFFA2 -110 0XFF92
HOME -105 0XFF97 119 0X077
DELETE -93 0XFFA3 -109 0XFF93
END -97 0XFF9F 117 0X075
PAGE UP -103 0XFF99 -124 0XFF84
PAGE DOWN -95 0XFFA1 118 0X076
UP ARROW -104 0XFF98 -115 0XFF8D
DOWN ARROW -96 0XFFA0 -111 0XFF91
LEFT ARROW -101 0XFF9B 115 0X073
RIGHT ARROW -99 0XFF9D 116 0X074
PRINT SCREEN - - 114 0X072
0 120 0X078 - -
1 121 0X079 - -
2 122 0X07A 3 0X003
3 123 0X07B - -
4 124 0X07C - -
5 125 0X07D - -
6 126 0X07E 30 0X01E
7 127 0X07F - -
8 128 0X080 - -
9 129 0X081 - -
A 30 0X018 1 0X001
B 48 0X030 2 0X002
C 46 0X02E 3 0X003
D 32 0X020 4 0X004
E 18 0X012 5 0X005
F 33 0X021 6 0X006
G 34 0X022 7 0X007
H 35 0X023 8 0X008
I 23 0X017 9 0X009
J 36 0X024 10 0X00A
K 37 0X025 11 0X00B
L 38 0X026 12 0X00C
M 50 0X032 13 0X00D
N 49 0X031 14 0X00E
O 24 0X018 15 0X00F
P 25 0X019 16 0X010
Q 16 0X010 17 0X011
R 19 0X013 18 0X012
S 31 0X01F 19 0X013
T 20 0X014 20 0X014
U 22 0X016 21 0X015
V 47 0X02F 22 0X016
W 17 0X011 23 0X017
X 45 0X02D 24 0X018
Y 21 0X015 25 0X019
Z 44 0X02C 26 0X01A
` 41 0X029 - -
- 130 0X082 31 0X01F
= 131 0X083 - -
\ 43 0X02B 28 0X01C
[ - - 27 0X01B
] 27 0X01B 29 0X01D
; 39 0X027 - -
.' 40 0X028 - -
, 51 0X033 -  
. 52 0X034 - -
/ 53 0X035 - -

Tuesday, March 11, 2008

FAJAX

FAJAX or Fake-Ajax is an implementation that forces IE to render page in a different manner. It has the word "AJAX" in it because you get rid of that nasty page load effect that gives you a blank screen until the content is loaded in browser instance.

 

All you have to do is, add a <meta> tag in <head> element of your HTML page. Transition can be applied at 4 stages...

Page Enter

Page Exit

Site Enter

Site Exit

 

Meta tag for same are as following...

meta http-equiv=”Page-Enter“
meta http-equiv=”Page-Exit“
meta http-equiv=”Site-Enter“
meta http-equiv=”Site-Exit“

 

In a simple implementation, you can use the following tags in head element to avoid flicker...

<meta http-equiv="Page-Enter" content="blendTrans(Duration=0)">
<meta http-equiv="Page-Exit" content="blendTrans(Duration=0)">

 

And if you are interested in some more effects, you can use DirectX Transformations and add some flavour to your site.

Example...

<HEAD>

<meta http-equiv=”Page-Exit” content=”progid:DXImageTransform.Microsoft.Fade(duration=.5)” />

</HEAD>

The way I understand this works is that IE sends a request for the new page but does not clear the page you have on your screen right now. When IE has the second page ready in the buffer, it just uses DirectX to transform the image of the previous page into the image of the new page.

 

 

You can try these other effects too :

content=”progid:DXImageTransform.Microsoft.Wheel(duration=0.5,spokes=5)“
content=”progid:DXImageTransform.Microsoft.Barn(duration=0.5,orientation=horizontal)”
content=”progid:DXImageTransform.Microsoft.Blinds(duration=0.5,bands=5)”
content=”progid:DXImageTransform.Microsoft.CheckerBoard(duration=0.5)”
content=”progid:DXImageTransform.Microsoft.Fade(duration=0.5)”
content=”progid:DXImageTransform.Microsoft.GradientWipe(duration=0.5,wipeStyle=0)”
content=”progid:DXImageTransform.Microsoft.Iris(duration=0.5,irisStyle=STAR)”
content=”progid:DXImageTransform.Microsoft.Iris(duration=0.5,irisStyle=CIRCLE)”
content=”progid:DXImageTransform.Microsoft.Pixelate(duration=0.5,maxSquare=40)”
content=”progid:DXImageTransform.Microsoft.Wheel(duration=0.5,spokes=5)”
content=”progid:DXImageTransform.Microsoft.RandomDissolve(duration=0.5)”
content=”progid:DXImageTransform.Microsoft.Spiral(duration=0.5)”
content=”progid:DXImageTransform.Microsoft.Stretch(duration=0.5,stretchStyle=push)”
content=”progid:DXImageTransform.Microsoft.Strips(duration=0.5,motion=rightdown)”

Get rid of Page Transitions

 

Recently I was facing this problem. I used AJAX in .NET and posting was very smooth without any flicker. But the page transitions were painful. So I found this small piece of code over net.

 

This is two line implementation that will reduce page flicker during transition to minimum possible time. The only flicker that will remain intact will be if you are using heavy images on page. For textual stuff, you can never judge the difference.

 

Put following lines in the <HEAD> element of HTML page.

<meta http-equiv="Page-Enter" content="blendTrans(Duration=0)">
<meta http-equiv="Page-Exit" content="blendTrans(Duration=0)">

 

Now I am trying to display a loader during page load. I know that this is very easy as we are just calling a javascript function during Page-Enter and Page-Exit. I can call my own javascript function during these events who will start loader and then call blendTrans function.

I'll do it soon and will post that code over this blog as well.

 

By the way, this technique is called:

FAJAX

or

Fake-Ajax

 

Happy Coding