You are not logged in.
I would like to assign more flexible functions to the 901's two function keys (in windows xp). At the moment the program that is installed to deal with them only lets .exe files run.
Is it possible to assign shortcuts to them (.lnk extension)?
Or perhaps assign hotkeys to them
I would LOVE to be able to assign the ctrl+alt+DOWN hokey to one of the buttons so that when I press it the asus screen rotates - instant book mode!!!
Any ideas on how to add functions to the function buttons?
Offline
Mine is not model 901 by If it work for .exe files, I believe there some keystroke automation software could generate an .exe file for you.
I only know one call "Autoit" that could convert their keystroke batch into an exe file, may be there are some better automation program.
Offline
do u know if there is a way to re-assign the first 2 buttons? i neveruse the screen off and scren resolution change feature.
Offline
I haven't seen it mentioned in the Eee forums before, but it's possible in Windows to assign actions to the two available function keys without using the ASUS Instant Key Utility. That utility simply updates the two Registry keys that are used by the ACPI service, AsAcpiSvr.exe. The same result can be achieved by editing the Registry directly.
Here's one way to assign Windows hotkey combinations to the function keys. In this example, the third function key simulates Ctrl-Alt-Up, and the forth function key simulates Ctrl-Alt-Down. When the Intel graphics service is running - look for igfxsrvc.exe in the Task Manager - the function keys will rotate the screen!
First, use Notepad to create a file called ctrl-alt-up.vbs, and add the following lines. This script simulates the Ctrl-Alt-Up keypress.
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{UP}"Second, create another file called ctrl-alt-down.vbs that looks like this. This script simulate the Ctrl-Alt-Down keypress.
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{DOWN}"Before proceeding, double click on those two scripts to make sure they work as expected. If they don't, check to see if wscript is installed. It can usually be found at C:\WINDOWS\system32\wscript.exe.
Once the scripts are working, create a file called function_keys.reg, and add the following lines. This file assigns the previous scripts to the two available function keys. Note: Change the paths to match the location of your .vbs files. If you don't specify a fully qualified path for the .vbs files, wscript will expect to find them in the %USERPROFILE% directory.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Asus\EeePC\ASUSACPI] "QuickKey3"="C:\\WINDOWS\\system32\\wscript.exe D:\\ctrl-alt-up.vbs" "QuickKey4"="C:\\WINDOWS\\system32\\wscript.exe D:\\ctrl-alt-down.vbs"
Double-click on function_keys.reg to apply these changes to the Registry. Enjoy your new function key settings.
Based on some other things I tried with this Registry tweak, a function key does not have to point to an .exe file. I was able to launch a Windows .bat file without any problems. A .lnk file didn't work directly. But when I wrapped the .lnk file in a .bat file, that worked fine. Given the flexibility of .bat files and .vbs scripts, I imagine the function keys could be configured to do just about anything.
I'm not aware of any way to reassign actions to the first two function keys. Although the names of the Registry keys above suggest that it might be possible to use "QuickKey1" and "QuickKey2", that doesn't work. The actions are probably built directly into AsAcpiSvr.exe.
Last edited by Kai Soto (2008-08-22 1:12:53 am)
Offline
Incredible.... Thanks so much for that. It is the RIGHT function that I wanted, placing the screen on its side. Your advice made it easy Cheers
Now, if there was only a way to have the mousepad invert its functions to the same direction as the screen.... then only then
UPDATE:
I found this old forum topic about rotating the screen and the mouspad at the same time, but the program it links to doesn't appear to work very well (not at all)?
Is there any way to have the registry file rotate the screen AND the mousepad at the same time? This would mean that with one button press the 901 would suddenly be a perfect 90 degree sideways version of itself.
If it is possible to change the direction of the arrow keys according to the rotation of the screen, that would also be amazing
Any ideas?
Last edited by 0bvious (2008-08-23 6:50:06 am)
Offline
It rotates the screen automatically when I press ctrl+alt+arrows ...
I didn't modify any settings, just installed the latest drivers from Intel's website ![]()
Offline
if you're running ubuntu it's quite easy to assign these keys to something
Offline
0bvious wrote:
I found this old forum topic about rotating the screen and the mouspad at the same time, but the program it links to doesn't appear to work very well (not at all)?
Is there any way to have the registry file rotate the screen AND the mousepad at the same time? This would mean that with one button press the 901 would suddenly be a perfect 90 degree sideways version of itself.
There is a program called EeeRotate, which is described in this post, that supposedly rotates the screen and the mouse at the same time. Maybe that's the program you're referring to. I couldn't get it to work on my 901 though.
However, the software that EeeRotate uses behind the scenes to rotate the mouse is a freeware program called SakasaMouse. I found that it works very well on its own. Once you start the program, the rotation settings can be controlled from an icon in the taskbar. The settings are stored in a file called sakasa.ini, which lives in the same folder as sakasa.exe. If you're using Ctrl-Alt-Right to rotate the screen, here are the .ini settings to use.
ReverseX 0 ReverseY 0 Rotate 1 RotateAngle 270
If you absolutely have to have make everything work by pressing a single function key, it probably wouldn't be too difficult to launch sakasa.exe from the same .vbs script that simulates the Ctrl-Alt-Right keypress. I'll leave that as exercise to the reader.
But if you're willing to hit a few more keys, you could just assign sakasa.exe to one of the function keys directly. So when you want to enter "book mode", you could just hit Ctrl-Alt-Right followed by the function key. To restore the default mouse behavior, simply terminate Sakasa from the taskbar icon.
Alternatively, check out the Graphics Scheme technique that is quoted in the same post I mentioned above.
There is also a mouse driver from MAF-Soft that supposedly sits on top of your existing mouse driver and lets you rotate the mouse axis. I haven't tried it though. It's trial software that "automatically deactivates after a random amount of time after each machine restart." No thanks.
Offline
But what about the first two buttons! How can we custom assign those buttons? Someone should be able to figure that one out, it would be very useful.
Offline
to customize the first two buttons, install ubuntu.
Offline
in windows.
Offline
No, u can't install ubuntu in windows. its a hole new operation system.
Offline
assassin76 wrote:
But what about the first two buttons! How can we custom assign those buttons? Someone should be able to figure that one out.
Unfortunately, ASUS makes that difficult to do in Windows XP. The behavior of the first two instant keys is hard-coded into the ASUS ACPI service known as AsAcpiSvr.exe. From what I can tell by analyzing the program, it registers with the ACPI drivers to get notified when one of the instant keys is pressed. What it does from there is mostly a mystery. But it looks like it uses asusacpi.sys and some of the Intel graphics drivers to perform the button actions.
So, in order to customize the first two instant keys in Windows XP, someone would have to write a program that registers with the ACPI driver, detects the button presses, and then performs a custom action. But it would be have to be done in a way that doesn't interfere with AsAcpiSvr.exe. Otherwise, the other Fn key combinations might stop working.
Writing the custom action part of the program probably wouldn't be too bad. Maybe it could be designed to use the "QuickKey1" and "QuickKey2" Registry entries to be consistent with the existing entries for the third and fourth buttons.
I think the ACPI part would be more challenging. I'm not a driver developer though, so maybe it's not too bad for someone with that background.
Are there any experts out there who are familiar with Windows Driver Foundation (WDF), Windows Development Kit (WDK), or ACPI Source Language (ASL) who would be willing to take on the challenge? Is anyone aware of a Windows tool that makes it easy to intercept ACPI events?
Offline
Kai Soto wrote:
If you absolutely have to have make everything work by pressing a single function key, it probably wouldn't be too difficult to launch sakasa.exe from the same .vbs script that simulates the Ctrl-Alt-Right keypress. I'll leave that as exercise to the reader.
But if you're willing to hit a few more keys, you could just assign sakasa.exe to one of the function keys directly. So when you want to enter "book mode", you could just hit Ctrl-Alt-Right followed by the function key. To restore the default mouse behavior, simply terminate Sakasa from the taskbar icon.
Any idea where to start with this? I would love a one button screen/mouse rotate option
Offline
OK, I got my scripts together, (thanks to Kai Soto for original scripts)
I have a script called ctrl-alt-left.vbs which contains this:
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{LEFT}"
WshShell.Run "D:\PUTLOCATIONHERE\sakasa.exe"
(note the 'PUTLOCATIONHERE' section)
I have a script called ctrl-alt-up.vbs which contains this:
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^%{UP}"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("SELECT * FROM Win32_Process WHERE Name = 'sakasa.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
I then have the first script allocate to button 3 and the second script allocated to button 4. Once the mouse settings are saved into the sakasa.exe program (90 or 270 degrees depending on the screen rotation) then all I have to do to rotate my screen AND mouse is press button 3. When I want the options to go back to normal (to rorate the screen back and KILL the sakasa.exe program) I just press the 4th button.
Sweet
Last edited by 0bvious (2008-08-24 8:13:34 am)
Offline
has anyone found that the touch pad sensitivity is really screwed up when using it sideways with saskamouse? I have been fiddling with it, and found it quite difficult to make small movements
Offline
This thread is really helpful!
The only thing that would be nice to get working is rotated multitouch. If that could work that would be awesome.
Offline
FYI
The EeeRotate program works like a charm under Windows 7. Sorry but the multitouch still does not rotate with the touch pad. Oh well the rest works great.
Last edited by JDazell (2009-09-12 4:56:07 pm)
Offline