Escolar Documentos
Profissional Documentos
Cultura Documentos
KaiserTweak is a little tool that tweaks some of your HTC Kaiser (P4450, TyTN II, Vario
III) registry settings. Making it took several hours of my life, so you better enjoy it. Note
that some tweaks may work on devices other than the Kaiser, but I've looked at the
factory settings from my own Kaiser to get default values and such, so take care with
other devices.
Download
You can download a ZIP below, containing the KaiserTweak EXE and an XML file
containing the actual tweaks. Unzip it somewhere, and copy both the files to the same
folder on your phone. Then run the EXE, and voila :)
KaiserTweak.zip +- 400kb
Note: Most of the tweaks require a soft-reset to become current. I'd advise setting your
values (changes are applied to the registry on value selection) and then always doing a
soft-reset.
Screenshot
By popular request, here's a screenshot
Tweaks Listing
Call
- Fast Sleep
- Sleep
- Show Battery Icon
- HTC or Windows Mobile Dialer
- Volume Change Beeps
- Ringtone
Text Messages
- Sent Notification
Data (GPRS/EDGE/HSDPA/WIFI)
- Disconnect After
- Always On
- Enabled
- HSDPA
- Wifi standby mode
- Wifi Certificate Message
Bluetooth
- BitPool
- SampleRate
- UseJointStereo
TCP/IP
- TCP Connect Resends
- TCP Data Resends
- TCP Window Size
Security
- Not-certified Warning
Keyboard
- Backlight Timeout
- Slide Wake
Camera
- Save Location
- GPS Photo
- Rotate Bug
- 3MP Panorma Shot (ie. 6MP Camera)
GPS
- Assisted GPS
Power Managment
- Memory Card
- AsyncMac1
- PPTP1
- L2TP1
Notifications
- AC Resume from Suspend
- Battery Resume from Suspend
User Interface
- Window Animation
- Menu Animation
- Vertical Scrollbar Width
- Vertical Scrollbar Button Height
- Horizontal Scrollbar Button Width
- Horizontal Scrollbar Height
- Startup Animation
ClearType
- Landscape
- PocketIE
PocketIE
- Max. Connections
- PIE User Agent CustomBase
- D-Pad Scroll Navigation
TouchFLO
- Sensitivity
- Scroller
- Sound
Today Screen
- Title Bar - Battery / Clock
- Title Bar - Clock Settings
- Date Display
- Wireless Today
HTC Application
- Music Tab
- Music Player for HTC Home Plugin
- Unlock HTC Home
- Scroll, Zoom and Rotate in HTC Album
- X Button in HTC Album
- HTC Home e-mail button
Contacts
- SIM Contacts
Call Log
- Log Clean Period
Locations
- PocketIE Downloads
- Saved Audio
- Saved Video
- Saved Images
Cache
- File System Cache
- File System Filter Cache
- GDI/Font Cache
Tools
- Empty Start Menu
- Default QuickGPS Settings
Credits
I just made the tool, credits for the reghacks go to the good people of MoDaCo, xda-
developers and GoT.
<tweak>
...
</tweak>
</category>
<category>
<tweak>
...
</tweak>
<tweak>
...
</tweak>
</category>
</kaisertweak>
Notes on implementation:
Anywhere keys are used, shorthand format is used: Root\Key\Name. Also, the root may
be abbreviated. The following root abbreviations are available:
HKCR: HKEY_CLASSES_ROOT
HKCU: HKEY_CURRENT_USER
HKLM: HKEY_LOCAL_MACHINE
Example:
HKLM\Drivers\BuiltIn\RIL\EnableFastDormantDisplayDuringCall
/kaisertweak/category
Attributes: none
Children: title, tweak
Required: Yes
Defines a category. Categories without any relevant tweaks are not displayed.
/kaisertweak/category/title
Attributes: none
Children: text
Required: Yes
/kaisertweak/category/tweak
Attributes: version
Children: title, each, device, value, key, description
Required: Yes
Defines a tweak.
/kaisertweak/category/tweak[version]
Values: all, wm5, wm6
Required: No
Defines for which Windows Mobile version the tweak shows up.
/kaisertweak/category/tweak/title
Attributes: none
Children: text
Required: Yes
'Repeats' a tweak for multiple registry keys. The displayed tweak title becomes
./tweak/title + ": " + ./tweak/each[display] . The text content of this node is the key
pattern, where the patterning is done with the * (star) character, just as with filenames, for
example:
HKLM\Comm\ConnMgr\Providers\*7C4B7A38-*\Connections\*\AlwaysOn
Ofcourse, when you do this, how do you know the actual key used? You don't, and this is
the only time you are allowed to use the key node without text content. If you do this, the
actual key for this tweak is used. Also note that you cannot have a key end with a star -
there must be a part after it.
/kaisertweak/category/tweak/each[display]
Values: negative integer
Required: Yes
This attribute defines the text to use for the title of tweak. This is done by selecting a part
of the used key, and appending it to the tweak title. -1 defines the rightmost part of the
key, -2 the one left of that, etc.
/kaisertweak/category/tweak/device
Attributes: match
Children: text
Required: No
Allows matching by device name (found in Control Panel --> System --> Device
Information --> Identity --> Model). This is "Kaiser" for all TyTN II based devices. If this
node is ommitted, all devices are matched. You may add as many device nodes as you
need.
/kaisertweak/category/tweak/device[match]
Values: is, isnot
Required: No
Defines the matching mode. Note that you can have multiple device nodes, but you
cannot mix the match mode between them, and this wouldn't make sense. If you use is,
only those devices will get the tweak; if you use isnot, all other devices will get the
tweak.
/kaisertweak/category/tweak/value
Attributes: default, disabled, advised, current, custom, value
Children: text
Required: Yes
Multiple value notes define the list of options a user can select. The text content of the
node is the displayed value.
/kaisertweak/category/tweak/value[default]
Values: default
Required: One value node should have this attribute set
Denotes that this is normally the default setting if no tweaking has been done. If for some
reason the value cannot be gotten from the registry, this value will be the one selected, if
no value is found with disabled set.
/kaisertweak/categroy/tweak/value[disabled]
Values: disabled
Required: One value node should have this attribute set
This attribute is almost the same as the default attribute, and they are usually applied to
the same value node. The differences are that this attribute does not have an indicator in
the user interface, has preference over default for selecting a value when the key could
not be read from registry (or other key matching logic did not work out). You should read
the meaning of this attribute as "the TWEAK is disabled", not "the OPTION is disabled".
For example, if you have a key "HKLM\SomeThing\IsDisabled", the disabled attribute
would be applied to the value which has "Enabled" as description, not the value that
"Disabled" as description. It's confusing sometimes ;)
/kaisertweak/category/tweak/value[advised]
Values: advised
Required: One value node should have this attribute set
/kaisertweak/category/tweak/value[current]
Values: current
Required: If key[type] is folder, one value node should have this attribute set
This attribute should only be used with a key[type] of folder. The value attribute and
text content of this value node will be filled with the current folder value in the registry
/kaisertweak/category/tweak/value[custom]
Values: custom
Required: No
This attribute should only be used with a key[type] of folder. When a user select this
attribute, he will be presented with a folder selection screen.
/kaisertweak/category/tweak/value[value]
Values: any
Required: Yes
The value to be read/written to/from the registry. With a key[type] of folder, you may
use %MyDocuments% and %StorageCard% to refer to the My Documents and Storage
Card folders, as they vary between different devices and languages. Note that these
variables do have a heading "\" but not a trailing one. This way you can concat them
together. For example:
%StorageCard%%MyDocuments%\My Files
may become
\Storage Card\My Documents\My Files
/kaisertweak/category/tweak/key
Attributes: type, mode, match, getvalue, action, setvalue, when, whenvalue
Children: text
Required: Yes
Defines rules for reading and writing registry keys. The text content of this node is the
actual registry key, this may only be ommitted when also using the each node. Use a
number of key nodes with different attributes in a single tweak allows you to do create
fairly sophisticated behaviour (though sometimes what you want to do can be length :))
/kaisertweak/category/tweak/key[type]
Values: dword, string, multistring, folder
Required: No
The type of registry key. Note that folder is a special case of string.
/kaisertweak/category/tweak/key[mode]
Values: both, get, set
Required: No
Defines if this key rule applies to reading (get) the registry, writing (set) the registry, or
both.
/kaisertweak/category/tweak/key[match]
Values: value, exists
Required: No
This attribute is only used when reading from the registry. When set to value, the actual
value is read from the registry, which at least one key node should do (and usually does,
as it's the default attribute value).
exists has a special meaning. When reading the registry, all key nodes that have a match
attribute of exists are first looked for. If not all of them are found, the interface selects the
value that has the disabled attribute set, or if there isn't one, the one with the default
attribute set.
/kaisertweak/category/tweak/key[getvalue]
Values: any
Required: No
This attribute is only used when reading from the registry and key[match] is value. If the
getvalue attribute is set, the registry key must have that value or the value with disabled
or default is set.
/kaisertweak/category/tweak/key[action]
Values: set, empty, delete
Required: No
This attribute is only used when writing to the registry. It defines if we want to write the
user-selected value to the registry, empty the value or delete the key. delete is usually
only used when multiple key nodes are present and have different when attributes set.
empty was added in v0.41, because KaiserTweak ignores an empty value (this is by
design!).
/kaisertweak/category/tweak/key[setvalue]
Values: any
Required: No
This attribute is only used when writing to the registry and key[action] is set to set. This
attribute overrides the user-selected value.
/kaisertweak/category/tweak/key[when]
Values: always, enabled, disabled, value
Required: No
This attribute is used only when writing to the registry. This attribute defines when this
key rule is valid. If this attribute is set to always (the default) the key rule is always used.
When the attribute is set to enabled the key rule is used when any other value node is
selected than the one which has the disabled attribute (value[disabled!=disabled]).
disabled is the opposite, and is only applied when the value node with the disabled
attribute set is selected (value[disabled==disabled]). If the attribute is set to value, the
rule is only applied if the user selected a value that matches with whenvalue attribute
(value[value==key[whenvalue]]).
/kaisertweak/category/tweak/key[whenvalue]
Values: any
Required: No
See key[when].
/kaisertweak/category/tweak/description
Attributes: none
Children: text
Required: Yes
[<each display="-index">
HKLM\Henk\StartsWith*\*EndsWith\*Contains*\ToBeDisplayedIfDispl
ayIs-2\Key
</each>]
[<device match="[IS|isnot]">Kaiser</device>]
<value
[default="default"]
[disabled="disabled"]
[advised="advised"]
[current="current"]
[custom="custom"]
value="Registry Value">
Displayed Value
</value>
[<key
mode="[get|set|BOTH]"
type="[DWORD|string|multistring|folder]"
match="[exists|VALUE]"
[getvalue="somevalue"]
action="[SET|empty|delete]"
[setvalue="somevalue"]
when="[ALWAYS|enabled|disabled|value]"
[whenvalue="somevalue"]>
[[HKLM|HKCU|HKCR]\Path\To\Key]
</key>]
<description>Description</description>
</tweak>
<category>
</kaisertweak>
As you can see, I use [ ] around nodes and text values to denote they are not required, and
[onevalue|othervalue|DEFAULTVALUE] as attribute definition. Note that this doesn't
really correspond to actual required nodes, as the requirements change by using other
nodes. Also, any attribute with a default value is by definition not required. However, you
will still find that the above makes sense in an intuitive way (at least for me :))
Bye bye