Hi All,
I need found keys addresses of front numeric keyboard, joystick and softkeys.
please help.
I found some values when I was fooling around with the hotkeys function of SmartToolkit.
So you could try that too.
I will make iGO8 mod for Smartphones and i need addresses like this :
x25=Joystick Left
x27=Joystick Right
x26=Joystick Up
x28=Joystick Down
x0D=Joystick fire
but for Smartphones like Vox, Libra, Rose...
HEEEELP :'(
I found these values in SmartToolkit Hotkey Menu.
I don't know if it realy means something, but here they are......
Joystick Left = 37
Up = 38
Right = 39
Down = 40
Center = 13
Home = 91
End = 115
Volume Up = 117
Down = 118
Camera = 233
CommManager = 233
0 = 48
1 = 49
2 = 50
3 = 51
4 = 52
5 = 53
6 = 54
7 = 55
8 = 56
9 = 57
ok ... i test it
thx
i truly do apologize if this has been posted elesewhere, but i simply could not find anything like it. heres a partial list of keycodes to use in the genesis plus config file, if you want to reconfigure the keys...
a 97
b 98
c 99
d 100
e 101
f 102
g 103
h 104
i 105
j 106
k 107
l 108
m 109
n 110
o 111
p 112
q 113
r 114
s 115
t 116
u 117
v 118
w 119
x 120
y 121
z 122
backspace 8
tab 9
space 32
period 46
up 273
down 274
right 275
left 276
the codes used for the control pad and the arrow keys are the same, but the control pad codes actually rotate if the screen is deployed/slid up, so that when the screen is closed so the keyboard is hidden, the codes are as follows:
up 273
down 274
right 275
left 276
but when the screen is slid out to reveal the keyboard, and you hold it with the keyboard facing you in the typing position, the codes actually change to:
up 276
down 275
right 273
left 274
if you changes these in the genpp config file, it will change the arrow keys as well.
there is a way to see what keys are being pressed, with itty bitty numbers showing up on the screen as the keys are pressed, but i am too blind to see them...
Hello everyone!
Here is a little script I wrote for setting frequencies, voltages, governor and I/O scheduler in your phone running Nova ROM. Largely inspired by knzo's own script I decided to write my own for two reasons: understand the black magic behind it and teach myself the basics of shell scripting. To achieve this I got rid of the overhead and rewrote the remaining as shortly as possible. Since I've been the only one to test it so far I'd be really glad if anyone else gives it a try as well.
However, if you decide to go forward and give it a try, I'm going to assume that you're already advanced enough to know what you're doing. It doesn't hurt to backup your /data partition first and only then start experimenting. It's not unheard of to make a mesh of your data because services and applications crashed due to too much over-clocking or under-volting. If you're already familiar with knzo's and Huexxx's work then it's not going to kill you (or your phone). Anyway, be careful!
With that out of the way I'll say few words about the script itself. Here is how the main menu looks like:
Code:
MAIN MENU
1. Set frequency and voltage
[1100/54(54),800/44(44),600/34(35),300/20(24)]
2. Set governor [SmartassV2]
3. Set I/O scheduler [vr]
4. Set current values at boot
5. Reboot
0. Quit
The menu items speak mostly for themselves. Current values are fetched from corresponding system files and are shown in square brackets (with calibrated voltages in parentheses). The current values are there for you and visible inside sub-menus as well. After changing the values you have an option to set these values to be loaded at boot time and tell the phone to reboot as well to see if your choices are bootable.
Keep in mind that the choices you have made here may look stable while running the script and doing parallel stress testing perhaps but they may not be bootable! I've added a watchdog to guard you and if it so happens that your phone hangs while booting then the script will not apply your settings next time. Take out your battery and try again. If you're lucky then your /data partition is unaffected and you can go on unharmed. If you push it too hard then it is very likely you'll have to lean on your backups.
Back to introducing the script. What I did differently from knzo was the method how the settings are applied. No matter where and what you change, all the values are dynamically written to a separate script and then this script gets executed. The same script is used inside init.d and I had to add a condition there which checks if we are running from init.d or not. This has to do with the "stubborn" governor which gets overwritten by some process at boot. Therefore I added 15 second sleep there to set it just a little bit later.
Also different from knzo's script is the way how governor and scheduler choices are shown. Namely, these lists are created dynamically from available values.
The script also checks if you are root or not and tells you a friendly message if you need to su first.
About installing it. I haven't yet learned anything about how to install this script with as few hassles as possible and you'll have to get this script into your phone manually for now. Just copy this on your sdcard over the USB or bluetooth or any way you like, move it to /system/xbin for example, set execute permissions and run it. I'll definitely teach myself the ways of APK next. And will write a standalone application afterwards
And now for something technical. As this is my very first shell script ever then there are couple of things that might not be done most elegantly.
1) Boot detection relies solely on the existence of ANDROID_SOCKET_zygote environment variable which is empty now at boot and gets initialized sometimes later. Things will not work as intended any more if the Zygote decides to do something differently in the future. What would be better indicator here?
2) User detection uses stderr output from whoami which seems to be 'unknown uid 0' for root now and 'unknown uid 10008' for ordinary user. Is it OK to rely on that or is there a change that it'll say something else on other phones?
Well, that's it. The script itself is attached here and I tried to write some comments there as well to help you read it better.
I hope this is of some use to anybody besides me and thanks for reading so far. All your comments are very welcome!
Regards,
Aprold
Hi,
I'm not going to use it at least for now because I'm doing a battery marathon... and I dont' want to reboot my phone.
I'll take a look at the script to extract some useful knowledges for sure.
In order to make a flashable zip, it's so easy! Download my Huexxx's Nova v8 Stuff, decompress the zip and look inside. The most important thing is the update script, but is very easy.
You only have to modify the script, add or remove things to the folder structure and compress it with you favorite compressor into a zip. Thats all.
Regards and good work!
Another theme... Do you manually set your voltajes from the script?
Take a depp look at my UV posts (disasembling the Myth, UV script, Nova v8 Stuff) and you will learn some useful info regarding the fact that impose certain voltage values it useles taking into account that Smartreflex subsystem will set the values it wants!
Regards.
Setting voltages is manual job right now because there is really not much you can do automatically. This Smartreflex behaviour is quite limiting indeed. If you use higher voltages then calibrated voltages will be higher as well. If you try to go lower then you'll hit the wall somewhere where SR thinks it can't go lower any more. It would be possible to detect this "wall" automatically by decrementing vsel values and staying with values where calibrated voltages don't want to go any lower and I might just add this as a menu option to my script this evening and test if it is reliable with different voltages. I also tried to go outside the SR "window" and ended up hanging my phone every time. It seems to hold on to entered voltages only so far and if the difference grows too big it lets go. My "wall" values are around 54, 44, 34, and 24 (Huexxx's values were a little bit lower) and I fly out of the "window" with ~15 % lower values and the phone hangs.
EDIT:As Huexxx has corrected me below there is no way one can affect calibrated voltages when SR is active. Therefore I'm not going to modify my script, too.
aprold said:
If you use higher voltages then calibrated voltages will be higher as well.
Click to expand...
Click to collapse
I am in disagree with you... In my case, using different voltage values (from very high to ultra low according to the frevolt table supplied with nova) ended in the same calibrated values.
Regards.
I stand corrected. It is indeed so and then there is really nothing one can do to affect current voltages
aprold said:
I stand corrected. It is indeed so and then there is really nothing one can do to affect current voltages
Click to expand...
Click to collapse
This isn't entirely true... you can affect to current voltages in order to UV a little bit. If suggested voltaje by SR is 34, wou can push 33 or 32 without problems and SR effectively takes the value. This is what I've implemented with my Nova v8 Stuff, UV and AUV to set it on boot.
Regards.
Sadly this is not the case with my phone. The "wall" that I mentioned is around 54, 44, 34, 24 for me and I even if I try to lower the calibrated values are still the same ±1 depending on how the calibration went.
aprold said:
Sadly this is not the case with my phone. The "wall" that I mentioned is around 54, 44, 34, 24 for me and I even if I try to lower the calibrated values are still the same ±1 depending on how the calibration went.
Click to expand...
Click to collapse
Are 54, 44, 34 and 24 the calibrated values when you push stock voltages?
Then, if you try 53, 43, 33 and 23, it should take 53, 43, 33 and 23 with calibrated at least with some value... In my case sometimes one of the values stucks on stock calibrated one, but the rest do the job.
Regards.
Huexxx said:
Then, if you try 53, 43, 33 and 23, it should take 53, 43, 33 and 23 with calibrated at least with some value
Click to expand...
Click to collapse
Nope. I did a few measurements today and this is how it looks on my phone:
Code:
1100 800 600 300
1 [COLOR="Red"]66[/COLOR] [COLOR="Green"]55[/COLOR] [COLOR="Red"]56[/COLOR] [COLOR="Green"]45[/COLOR] [COLOR="Red"]46[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]36[/COLOR] [COLOR="Green"]25[/COLOR]
2 [COLOR="Red"]65[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]55[/COLOR] [COLOR="Green"]45[/COLOR] [COLOR="Red"]45[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]35[/COLOR] [COLOR="Green"]25[/COLOR]
3 [COLOR="Red"]64[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]54[/COLOR] [COLOR="Green"]45[/COLOR] [COLOR="Red"]44[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]34[/COLOR] [COLOR="Green"]25[/COLOR]
4 [COLOR="Red"]63[/COLOR] [COLOR="Green"]55[/COLOR] [COLOR="Red"]53[/COLOR] [COLOR="Green"]45[/COLOR] [COLOR="Red"]43[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]33[/COLOR] [COLOR="Green"]25[/COLOR]
5 [COLOR="Red"]62[/COLOR] [COLOR="Green"]55[/COLOR] [COLOR="Red"]52[/COLOR] [COLOR="Green"]45[/COLOR] [COLOR="Red"]42[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]32[/COLOR] [COLOR="Green"]25[/COLOR]
6 [COLOR="Red"]61[/COLOR] [COLOR="Green"]55[/COLOR] [COLOR="Red"]51[/COLOR] [COLOR="Green"]45[/COLOR] [COLOR="Red"]41[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]31[/COLOR] [COLOR="Green"]25[/COLOR]
7 [COLOR="Red"]60[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]50[/COLOR] [COLOR="Green"]45[/COLOR] [COLOR="Red"]40[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]30[/COLOR] [COLOR="Green"]25[/COLOR]
8 [COLOR="Red"]59[/COLOR] [COLOR="Green"]55[/COLOR] [COLOR="Red"]49[/COLOR] [COLOR="Green"]45[/COLOR] [COLOR="Red"]39[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]29[/COLOR] [COLOR="Green"]25[/COLOR]
9 [COLOR="Red"]58[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]48[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]38[/COLOR] [COLOR="Green"]34[/COLOR] [COLOR="Red"]28[/COLOR] [COLOR="Green"]25[/COLOR]
10 [COLOR="Red"]57[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]47[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]37[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]27[/COLOR] [COLOR="Green"]24[/COLOR]
11 [COLOR="Red"]56[/COLOR] [COLOR="Green"]53[/COLOR] [COLOR="Red"]46[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]36[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]26[/COLOR] [COLOR="Green"]24[/COLOR]
12 [COLOR="Red"]55[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]45[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]35[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]25[/COLOR] [COLOR="Green"]25[/COLOR]
13 [COLOR="Red"]54[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]44[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]34[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]24[/COLOR] [COLOR="Green"]25[/COLOR]
14 [COLOR="Red"]53[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]43[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]33[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]23[/COLOR] [COLOR="Green"]24[/COLOR]
15 [COLOR="Red"]52[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]42[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]32[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]22[/COLOR] [COLOR="Green"]24[/COLOR]
16 [COLOR="Red"]51[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]41[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]31[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]21[/COLOR] [COLOR="Green"]24[/COLOR]
17 [COLOR="Red"]50[/COLOR] [COLOR="Green"]54[/COLOR] [COLOR="Red"]40[/COLOR] [COLOR="Green"]44[/COLOR] [COLOR="Red"]30[/COLOR] [COLOR="Green"]35[/COLOR] [COLOR="Red"]20[/COLOR] [COLOR="Green"]24[/COLOR]
Reds are entered and greens are calibrated voltages.
And here is a small visual aid too:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
aprold said:
Click to expand...
Click to collapse
You guys have too much free time!
Anyway, I do enjoy these statistics so keep them coming.
Seems that after all UV doesn't even work?
Look at this:
This is the result of my script into oscarbg13's OB from HtcMania. (Spanish forum). It seems to be working flawlessly.
Look at the data:
- In Current Calibrated Values you can see the calibrated Nova v8 voltages; the calibrateed voltages before my script. Look at the 4th value... it seems to be bad calibrated because 32 is the nominal value.
- In Current Recalibrated Values you can see the values after a recalibration. At this specific case, 1st and 2nd value are higher than previous, while 4th value has reached the correct value.
- With the last version of my script, I take the min walues between both calibrations for each frequency: 1st and 2nd from initial calibration, and 4th from recalibration.
- In New Calibrated Values we have the final values, and as you can see all of them are a unit lower than the minimal value for that frequency.
I'm going to do the last modification to my script in order to add a 'UV depth' and then get a custom UV. Then, setting the 'UV depth' to 0, what we gain is a syste to ensure:
- All the values are well calibrated.
- All the values use the minimal value suggested by smartreflex system without any UV.
Aprold, to say that in my case, when the phone is not recently booted, recalibration seems to don't properly work. The best time to recalibrate is at boot time.
Regards.
Huexxx, yes I have read your script and I understand what you're doing there. You simply take two sets of calibrated values and then try to set new voltages which are 1 less than minimum of these two. Perhaps this has some effect on some devices but as you can see from the graph above it doesn't really matter which values you set - the outcome is generally the same for me. The values I took for the graph were all from boot-time calibration. And I should say that drawing this graph in Excel 2010 brought up a lot of @%$%#'s and (%#&(^%'s because the last time I was using Excel 2003 for that kind of a job. Who came up with an idea of ribbon menu anyway?!?
aprold said:
Huexxx, yes I have read your script and I understand what you're doing there. You simply take two sets of calibrated values and then try to set new voltages which are 1 less than minimum of these two. Perhaps this has some effect on some devices but as you can see from the graph above it doesn't really matter which values you set - the outcome is generally the same for me. The values I took for the graph were all from boot-time calibration. And I should say that drawing this graph in Excel 2010 brought up a lot of @%$%#'s and (%#&(^%'s because the last time I was using Excel 2003 for that kind of a job. Who came up with an idea of ribbon menu anyway?!?
Click to expand...
Click to collapse
Once used to 2010 style, I like it so much!
Your case seems to be a aislated case, because I've probed my script on some OBs.
Can you try my script, with depth equal to 1 and post /data/nova/auto/avdlog here?
Regards!
Huexxx said:
Can you try my script, with depth equal to 1 and post /data/nova/auto/avdlog here?
Click to expand...
Click to collapse
Kind of dull result:
Code:
Current frequency values: 1100 800 500 300
Current calibrated values: 54 44 34 24
Current recalibrated values: 54 44 34 24
New calibrated values: 54 44 34 24
Tried it several times, once I saw 23 instead of 24 and once 43 instead of 44 there, but it really seems to be the limit for my phone
I'm sorry, your phone seems effectively to have a wall.
All I can say is that the situation is not the same for everybody, and your phone is the first I've seen with this behaviour.
Maybe the best feature of my script apart from apply or not a certain ammount of UV is the possibility to ensure that the four voltages are well calibrated.
I've seen some OBs (including mine) that at certain startup leave some uncalibrated voltages, and this can be the reason why some people report a excesive waste of battery in standby; maybe at the latest boot the voltage for min freq. was bad calibrated.
I'll enjoy a lot with Gingerbread, I think!
my /data/nova/auto/avdlog
Code:
Current frequency values: 1100 800 500 300
Current calibrated values: 53 43 32 23
Current recalibrated values: 53 43 32 23
Auto UV Depth: 1
New calibrated values: 53 42 31 22
And what does it mean?
redy2006 said:
my /data/nova/auto/avdlog
Code:
Current frequency values: 1100 800 500 300
Current calibrated values: 53 43 32 23
Current recalibrated values: 53 43 32 23
Auto UV Depth: 1
New calibrated values: 53 42 31 22
And what does it mean?
Click to expand...
Click to collapse
This mean:
- Your values seems to be well calibrated at startup, before my script, because the calibrated and recalibrated values are the same.
- When applying the UV, all goes well, because your 1100 max freq disables the UV over it (remains at 53) while the other values decrease one unit.
If all goes well and you don't experience any problems, you will be saving a bit at standby and at intermediate freqs too if your governor uses them. Of course don't expect so much, but everything help.
Look at my last boot:
Code:
Current frequency values: 900 700 500 300
Current calibrated values: 50 41 32 22
Current recalibrated values: 50 41 32 21
Auto UV Depth: 1
New calibrated values: 49 41 31 20
In my case look at min freq voltage, recalibrating it I've obtained 21, then the UV applied decrements it one unit to 20. In my case UV is applied to max freq too because is lower than 1 GHz.
Regards.
---------- Post added at 03:57 PM ---------- Previous post was at 03:56 PM ----------
Maybe this discussion would be moved to my thread... We are flooding aprold's thread!
As I'd like to use my tablet as a "thin-client" i.e. desktop terminal to my server, I need keys like "return" to act as "escape" and "lock" as "delete" etc. So I changed the mappings in "/system/usr/keylayout/asuspec.kl".
In the case someone else would be interested in remapping their keyboard, I have compiled a list of scan-codes associated with each physical key.
This though with the exception of the "Fn" key, which I suspect function on a purely hardware based level to alter key scan-codes.
This list is based on a "nordic" layout (not sure if physical layout differs?), but I refer to each key as R#C#, row number and column number, starting from 0.
Code:
Scan Row/ Description Suggested mapping
Code Col
*********************** ROW: 0 ***********************
158 R0C0 Back ESCAPE WAKE
238 R0C1 Wireless F1
237 R0C2 Bluetooth F2
60 R0C3 Touchpad F3
224 R0C4 Brightness-down F4
225 R0C5 Brightness-up F5
61 R0C6 Brightness-auto F6
212 R0C7 Screenshot F7
150 R0C8 Browser F8
62 R0C9 Settings F9
165 R0C10 Media-previous F10
164 R0C11 Media-play/pause F11
163 R0C12 Media-next F12
113 R0C13 Mute INSERT
114 R0C14 Volume-down MOVE_HOME
115 R0C15 Volume-up MOVE_END
142 R0C16 Lock FORWARD_DEL WAKE
*********************** ROW: 1 ***********************
41 R1C0 ½§
2 R1C1 1
3 R1C2 2
4 R1C3 3
5 R1C4 4
6 R1C5 5
7 R1C6 6
8 R1C7 7
9 R1C8 8
10 R1C9 9
11 R1C10 0
12 R1C11 +
13 R1C12 ´
14 R1C13 Backspace
*********************** ROW: 2 ***********************
15 R2C0 Tab
16 R2C1 Q
17 R2C2 W
18 R2C3 E
19 R2C4 R
20 R2C5 T
21 R2C6 Y
22 R2C7 U
23 R2C8 I
24 R2C9 O
25 R2C10 P
26 R2C11 Å
27 R2C12 ¨
28 R2C13 Enter
*********************** ROW: 3 ***********************
58 R3C0 Caps-lock
30 R3C1 A
31 R3C2 S
32 R3C3 D
33 R3C4 F
34 R3C5 G
35 R3C6 H
36 R3C7 J
37 R3C8 K
38 R3C9 L
39 R3C10 Æ
40 R3C11 Ø
43 R3C12 '
28 R3C13 Enter
*********************** ROW: 4 ***********************
42 R4C0 Shift (left)
86 R4C1 <
44 R4C2 Z
45 R4C3 X
46 R4C4 C
47 R4C5 V
48 R4C6 B
49 R4C7 N
50 R4C8 M
51 R4C9 ,
52 R4C10 .
53 R4C11 -
54 R4C12 Shift (Right)
103 R4C13 Arrow (Up)
104 R4C13Fn Page up
? R4C14 Fn (Right)
*********************** ROW: 5 ***********************
29 R5C0 Ctrl (Left)
? R5C1 Fn (left)
172 R5C2 Home META_LEFT
217 R5C3 Search ALT_LEFT
57 R5C4 Space
100 R5C5 AltGr
139 R5C6 Menu
97 R5C7 Ctrl (Right)
105 R5C8 Arrow (Left)
102 R5C8Fn Home
108 R5C9 Arrow (Down)
109 R5C9Fn Page down
106 R5C10 Arrow (Right)
107 R5C10Fn End
Hope this is going to save someone some time
So I have been having some trouble getting exactly the experience I wanted.
Turns out that either the VNC client apps didn't support my nordic keyboard layout properly, or it did not support meta keys, or it did not support the altGr key.
I've been through 20+ clients testing this, until I finally decided to try out Jump Desktop, it is a paid app, but everything just works.
This post is written from my fedora20 KVM vm accessed through Jump Desktop VNC.
I can write æøå, @ with AltGr+2 etc. so far everything just works.
Slight latency compared to desktop VNC, but for coding/compiling and browsing it is no problem at all.
Now I just have to get my hands on a micro hdmi adapter so I can try an external monitor, but so far I am very pleased with my TF701T :good:
Solid substitute for my old laptop for my needs, AND I can just pop the screen off and I have a brilliant android tablet
One of the things that realy troubles me is that all the functionality of the first raw (wifi, bt etc) works without using the FN keys so you can mistakenly turn off the wifi or BT accidently while working or typing fast, happend to me quite a lot of times.
Is there a way to force these keys to be only working when the FN keys is being used? (something like the Shift key functionality)
Also, could you post please your ki file please?