LapTopHack Manual

written by

Paul Nevai

Paul Nevai

[still under construction - and so is the manual since LapTopHack keeps evolving constantly]

NOTE. You can find a plain text version of this manual here and you can download it from here.

NOTE. This very same manual can be found online here (HTML) and here (text). You can also download them from here (HTML) and here (text).

WARNING

Since pedit, LapTopHack, and pToolSet share components, if you use more than one of them, then they all must be of the same version, preferably the latest one.

Table of Contents

Present and Future - a Wish List

PRESENT. palm + pedit + [optional] external keyboard = full LapTop power in text editing

PRESENT. palm + pedit + LapTopHack + [optional] external keyboard = practically full LapTop power

FUTURE. palm + all applications + [optional] external keyboard = full LapTop power

FUTURE. palm + all applications + [optional] external keyboard = full DeskTop power

Please Read This Note

Some users of LapTopHack 1.xx have voiced concerns that LapTopHack slowed down their otherwise speedy Palm OS. I must admit that their complaints were fully justified. Amazingly, this slow down effected only a few users. It took me along time to figure out how to alleviate the problem.

LapTopHack 2.00 was rewritten from the ground up. I tested it very thoroughly on all my Palms and I found no performance degradation whatsoever.

In addition, LapTopHack 2.00+ added [almost literally] a myriad new features to the feature list of 1.xx. LapTopHack 2.00+ is destined to be a winner.

As demonstrated by thousands and thousands of its users, LapTopHack 7.00+ is already a winner.

Abstract

LapTopHack is a killer HackMaster extension which greatly enhances the power and usefulness of your beloved Palm Powered Handheld device whether or not you have an external keyboard attached to it.

LapTopHack picks up where Palm left off and turns your Palm into an even more powerful computer.

About LapTopHack...

Major Features

Introduction

The primary goal of LapTopHack is to fill a void which exists between LapTops and Palm Powered Handheld computing devices.

On one hand the Palm was designed to be as a simple handheld organizer whose [primary] input device is the stylus.

On the other hand, all current versions of the Palm are, in fact, powerful computers which in many respects are as good, if not better, than LapTop computers are.

LapTopHack greatly enhances the power and usefulness of your Palm Powered Handheld device whether or not you have an external keyboard attached to it.

Unfortunately, both the current Palm operating system and all third party applications largely ignore the fact that, with proper software support, attaching an external keyboard to a Palm Powered device will turn the package into a miniature powerhouse.

If you regularly use an external keyboard with your Palm, then you will quickly end up wondering how you could have existed without LapTopHack.

As of August 17, 2000, I am not aware of any single program written for the Palm platform which would exploit this tremendous potential. The only exception is my beloved pedit family of text editors.

Although there are a number of keyboards available for Palm Powered Handhelds such as the Palm Portable KeyBoard [aka PPK or Stowaway or Targus] and GoType!, and so forth, as of August 17, 2000, their software drivers are somewhat buggy and definitely less than perfect in terms of the sophistication needed the turn a Palm Powered Handheld into a "lapheld" powerhouse.

I want to state it clear and loud that I think both GoType! and PPK are absolutely first rate in terms of hardware, and I consider each an engineering marvel.

LapTopHack is going to be an ongoing project to create the correct interface between Palm Powered handhelds, keyboards, and the user who wants to be able to exploit the available opportunities to the largest extent.

QUESTION. Why would I want to use LapTopHack in conjunction with Graffiti, when a direct tap in the appropriate location on my Palm's screen in most cases would be easier and faster.

ANSWER. If your vision is 20/20, then you are absolutely right. You should always tap. Otherwise, you will soon realize that it may be much simpler and much faster to use Graffiti for certain operations than trying to tap on the screen. In fact, even if you are lucky to have a 20/20 vision, try the following.

EXPERIMENT. After you installed LapTopHack, go to DateBook (or DateBk3 or DateBk4) and tap on the "Go to" button. You end up in the Date Selector form. Now please enter SPACE via Graffiti. Did you see that the year moved? Isn't that easier than clicking the little arrow?

Compatibility Issues

LapTopHack is a HackMaster extension. Therefore, just like any other HackMaster extension, it may or may not work on your Palm Powered Handheld device.

NOTE. Show me a HackMaster extension, and I bet I can make it crash your Palm.

NOTE. As a matter of fact, as of versions 0.90 and 0.91, HackMaster itself is defective. If you launch HackMaster approximately 15 times and you have at least one active HackMaster extension, then it will crash your Palm with a "chunk over locked" message. Amazingly, very few people are aware of this, not even most of the top HackMaster extension developers. I read about this defect on comp.sys.palmtops.pilot, and then my experiments on all of my Palms confirmed this. I recommend that you try it out.

Having scared you off, let me assure you that most properly written HackMaster extensions, including LapTopHack, will work fine most of the time.

Nevertheless, please keep in mind that each and every HackMaster extension violates the fundamental programming rule which is endorsed by Palm. Namely, use the publicly available SDK [Software Developers' Kit], and, even if you are smart enough to figure out the inner workings of the Palm operating system, pretend that you do not know the nitty-gritty details. Rely on nothing but the SDK.

TealMaster is my favorite HackMaster replacement, especially on Palm OS 4.0+ where HackMaster is seriously handicapped. I have used LapTopHack with TealMaster and Palm OS 3.5.x since approximately March, 2001, and I absolutely love it. I found TealMaster's user interface almost perfect. I just wish that TealMaster allowed the user to view the active HackMaster extensions only. I know TealMaster's author who runs much of TealPoint. He is a truly nice person who listens to users and I am sure that he will do his best to keep improving TealMaster.

Several LaptopHackers reported that LapTopHack works well with X-Master. Although I have not tested it, I added X-Master support to LapTopHack on May 28, 2001. Since I am currently very happy with TealMaster, I plan no X-Master tests. However, if I hear from our Laptophackers any bad news, I will note it in this manual.

I have tried out at least one other HackMaster extension installer application, and I found problems with it despite its fancy features and interface when compared with HackMaster.

Therefore, I recommend, endorse, and provide built-in LapTopHack support for HackMaster [despite the above mentioned defect], for TealMaster, and for X-Master [despite my lack of familiarity with it] only, and not for any other HackMaster extension manager application.

NOTE. Just in case I did not sound sufficiently loud and clear, I want to state it as explicitly as possible that if you run EVPlugBase, then please do not contact me asking for help if you notice that your LapTopHack either misbehaves or acts slower than what you would expect from it. Although, as of April 16, 2002, I received no crash reports from any LapTopHacker which could be traced back to EVPlugBase, I am familiar with several well-documented instances when LapTopHack works more than 10 times slower if used with EVPlugBase as opposed to HackMaster or TealMaster.

LapTopHack was tested in the regular RAM using the regular Palm Operating Systems 3.3 and 3.5.2, and the TRGPro version of Palm OS 3.5.1. In addition, it was also tested on POSE with non-debug versions of various Palm OSs.

Since HackMaster doesn't run on POSE with debug ROMs, I could not test LapTopHack with the latter.

NOTE. In case you did not know, "POSE" means "Palm Operating System Emulator".

LapTopHack was also field tested by thousands of Laptophackers, and, although they did find some bugs in it, the latest release of LapTopHack always incorporates fixes for all reported and reproducible bugs.

Tables sometimes represent a problem although I am not aware of any of them which are not mentioned in this manual. However, I spent an extraordinary amount of time and effort to resolve and/or to smooth out all the issues which arose in conjunction with trying to activate controls via LapTopHack in forms with tables.

NOTE. Do you know what tables are? For instance, if you open up Palm's built-in DateBook, then all the appointments you see is nothing but one table. In a sense, tables are similar to spreadsheets.

If you use one of those third party Palm OS performance enhancement tools such as over-clocking utilities or equivalents, and if you experience some LapTopHack incompatibilities with them, then please contact the makers of those tools, and ask them to make their product compatible with LapTopHack. Please tell them that I will be happy to assist them to find out why their product is incompatible with LapTopHack.

NOTE. If your Palm Handheld device has the Palm Portable KeyBoard [aka PPK or Stowaway or Targus] keyboard driver installed, whether it is activated or not, and if you do anything with your Palm while it is sitting in the regular cradle connected to your "real" computer, then all bets are off. Whether or not you have LapTopHack, you may experience mysterious events. This includes HotSyncing. For instance, if you assign an application different from HotSync to your "Cradle" button via the "HotSync..." button in the "Buttons" preference panel [this is a normal and legitimate procedure], then be ready for disaster every time you attempt to HotSync. It is my understanding that this is a consequence of the PPK driver implementation design [the Palm wakes up when you hit a key on the PPK]. I spent countless hours trying to find bugs in LapTopHack which turned out to be PPK features and not related to LapTopHack at all.

NOTE. HandEra and LapTopHack are mostly but not 100% compatible. This should not be shocking news since both do a variety of tricks to accomplish their tasks, and some of these tricks may conflict each other. Nevertheless, a number of HandEra owners are more than happy LapTopHacker, and I am not aware of any major problems.

NOTE. BackupBuddyVFS exhibited some odd behavior when LapTopHack was installed. PeterW and I spent countless hours trying to figure out what was going on. I came to the conclusion that, although I couldn't prove that LapTopHack was innocent, there was no way I could see how LapTopHack was involved in this BackupBuddyVFS problem. As it turns out, BackupBuddyVFS 1.1 no longer show this odd behavior. I guess this means that LapTopHack was not guilty after all. I very much appreciate PeterW's help in resolving this issue, and his courageous and strong public defense of LapTopHack which, in retrospect, turned out to be fully justified. Although initially Blue Nomad's FAQ mentioned LapTopHack as a potential cause of the problem, eventually they realized that this was not the case, and when I checked on September 10, 2001, the reference to LapTopHack was already removed. I also appreciate that the makers of BackupBuddyVFS [Blue Nomad] offered me to test a pre-release version of BackupBuddyVFS.

NOTE. One user, DirkS, reported that Clipper disables LapTopHack. Since Clipper is an OS patcher application which is not regulated by HackMaster, and since I heard about a few other Clipper related problems independently of LapTopHack, I recommend that if you have such a problem, then please report it to the Clipper people at Stand Alone. I know them, and I can assure you that they are good guys, and that they will do their best to help you.

NOTE. DALauncher's developer and I discovered the same trick. Namely, one can kidnap [monopolize] portions of the Graffiti area without affecting the operation of the SilkSCreen buttons. Alas, since we both use the same trick, DALauncher and LapTopHack have a slight conflict. I resolved this problem by allowing DALauncher to use the "Left of Home icon" [sic, although "i" should be upper cased] tap point [see DALauncher's preference-type panel], and the rest of the digitizer's left and right borders are used by LapTopHack.

NOTE. LapTopHack was found to misbehave in DateBk3 [up-to version 3.0u] but I built a kludge into LapTopHack which alleviated the problem. As soon as DateBk3 is updated, I may remove this kludge from LapTopHack. LapTopHack works perfectly with DateBk4.

NOTE. pInfoTool's RAM/ROM info was found to misbehave on some but not all Palms using JackFlash and Palm OS 3.5. My advice is that, if you use JackFlash, then please do not tap on RAM/ROM display since it may [or may not] hang your Palm. Thanks, Tammy, Nick, and Fred, [in chronological order], for reporting the problem.

NOTE. Monika reported exactly the same problem even though she uses FlashPro and not JackFlash. However, she was using some kind of a hacked ROM [she likes to test dangerous waters and is one of my best bug finders].

NOTE. If you happen to use Textware Solutions' FitalyStamp [or Fitaly], then I recommend that you activate LapTopHack first, and then FitalyStamp [Fitaly] in HackMaster, that is, the checked FitalyStamp should be listed above the checked LapTopHack. This way some of the Graffiti area hot spots and undocumented features of LapTopHack will not be preempted by FitalyStamp [Fitaly]. Needless to say, that you need to do this re-ordering after every soft reset of your Palm since the current version of HackMaster [0.90 and 0.91] does not keep track of the order of HackMaster extensions and it randomly re-orders them after each soft reset.

NOTE. If you use TealMaster, then please set LapTopHack's priority to 2 [two], and FitalyStamp [Fitaly] to priority 1 [one]. Then set every other HackMaster extension's priority to a higher number. Yes, this is the correct procedure despite what you may have read about TealMaster's priorities in the TealMaster manual or in the TealMaster FAQ such as this.

EXPLANATION. Activating LapTopHack first and then FitalyStamp [Fitaly] in HackMaster or giving a higher priority number to LapTopHack than to FitalyStamp [Fitaly] means that FitalyStamp [Fitaly] gets a higher preferential treatment by the HackMaster extension manager application and LapTopHack gets a lower preference. However, both FitalyStamp [Fitaly] and LapTopHack were coded in such a way that, in a very counter-intuitive manner, the higher priority HackMaster extension voluntarily gives up the priority to the lower priority HackMaster extension [a chaining effect]. Hence, despite FitalyStamp [Fitaly] enjoying a higher priority, LapTopHack gets processed first. If you think that this is confusing, don't despair. It took me days to understand this, and I am grateful to the makers of TealMaster who explained this to me.

NOTE. As Henk pointed out, Fitaly and FitalyStamp have a "slide" mode which may result in some unexpected behavior, since instead of entering a letter, say, "A", sliding enters "a" first, then deletes it, and then enters "A". Hence, please read the following advice, contributed by JohnH, on using these "slides" with LapTopHack and pedit.

In addition to the regular "slides", Fitaly and FitalyStamp users can also assign text strings of up to 25 characters to each letter of the alphabet through a "Custom Left Slide" feature. This is perfect for starting pScripts or doing other actions in LapTopHack and pedit, if the first character of the assigned string is the appropriate "ESC" character.

Note however that by default, the lower case letter character itself is immediately sent to the current application at the pen-down motion. If that pen-down motion is turned into a slide (even a slide to simply capitalize the letter), then the lower case letter is quickly erased and replaced by the "correct" one(s). Unfortunately, if the current application can respond to a single character (like LapTopHack and pedit do in certain cases), Fitaly cannot always retract it by deleting. The result is unexpected behavior.

The solution is to use Fitaly or FitalyStamp's Key Options menu to "Set letters at pen up". That way, nothing is sent to the application until the slide is done, at which time the correct character(s) are sent. According to the Fitaly manual, the "Set letters at pen up" option may slow Fitaly or FitalyStamp down. However, this has not been observed in actual usage.

NOTE. JohnH and TonyA suggested that if you use FitalyStamp in conjunction with LapTopHack, then make sure (no pun intended) not to set the "sure mode" (accessible via FitalyStamp's "i" => "Key options..." => "Set sure mode | set normal mode" toggle). When the "sure mode" is on, it seems to interfere with LapTopHack's control activation mechanism.

NOTE. Franklin Reader was found to cause a crash if LapTopHack is active. Please blame Franklin Reader and blame it loud and clear. In fact, you should contact the makers of FranklinReader and tell them to check out this which clearly explains that resource IDs 10000 through 32767 are reserved for system use. Thanks, JohnL, for reporting the problem.

NOTE. Franklin Covey's "Daily Record Of Events" also crashed while using LapTopHack's pToDoTool feature with current text selection. Please see my note above. It was frustrating and sad to watch "Daily Record Of Events" crash POSE [the PalmOS Emulator] five times every time it was started up. However, the "ToDo" crash itself was entirely my fault, and it was fixed as of version 5.70. Thanks, LarryC, for reporting the problem.

NOTE. LapTopHack's our ctrl activator and objectRotator were found to misbehave in HanDBase's EditRecord form, and, therefore, I disabled them in that particular form of HanDBase. However, starting with of version 5.70, I completely rewrote our ctrl activator, and the new version works fine with HanDBase. Thanks, Henk-Jan, for reporting the problem, and for your dedicated bug hunting and beta testing.

NOTE. LapTopHack was found to misbehave in IntelligentFind, and, therefore, I disabled it in IntelligentFind. Thanks, Jeffrey, for reporting the problem.

NOTE. Jeffrey told me on January 11, 2001, that IntelligentFind 2.1b3 no longer causes problems for LapTopHack so that, starting with version 2.70b, I re-enabled LapTopHack again in IntelligentFind.

NOTE. As of version 5.998, both LapTopHack and listNavigatorHack work with McPhling as long as you don't try to navigate in McPhling's popup list. If you do, and if your McPhling's version number is 3.01 or less, then you will end up with a crash. Prior to version 5.998 you could have experienced crashes even if you just tapped one of the SilkScreen buttons while McPhling was in action. I did a temporary fix which eliminates the crash in the latter case. However, the bug was in McPhling which I communicated to Mike McCollister, and I am happy to report that Mike did fix the problem in McPhling 3.02. It was a pleasure for me to work with Mike.

NOTE. MyBible's primary form does not fully co-operate with our ctrl activator since MyBible uses gadgets instead of triggers to pop lists up. There is nothing illegitimate about it, and MyBible doesn't violate any Palm user-interface rules. Nevertheless, if they changed their interface a little, say by epsilon, then this problem would be eliminated. Thanks, Michael, for reporting the problem.

NOTE. If you use peditHack, [p]editPad, magiPad, or scriptPad in text fields which have a dynamic size [that is, the height of the field expands as characters are entered into the field and contracts as characters are deleted from the field], then you may end up with some display problems after returning to your original text field. Alas, this is related to a Palm OS bug which appears even in Palm's built-in applications whether or not you have LapTopHack installed. My verdict is that Palm is to blame and LapTopHack is innocent.

EXAMPLE. Whether or not you have LapTopHack installed, go to Palm's built-in DateBook, and click on an blank time slot to start an appointment. Enter the number "1" into the text field. Then bring up the built-in virtual keyboard and continue entering

ENTER
2
ENTER
3

Now select all text and quit the virtual keyboard by tapping the "Done" button. Isn't it weird that you see a blinking cursor and some text selected at the same time?

EXAMPLE. If you use, for instance, KeyBoardHack, then you will see that it suffers from the same problem.

NOTE. LapTopHack's FIND was found to crash in Secret!, and, therefore, I disabled LapTopHack in Secret!. If I may say so, examining the insides of Secret! made me sick. I never seen such a sloppily constructed piece of software. If you don't believe me, use RsrcEdit to analyze the "tFRMs" Secret!. Hopefully, by the time you read this, the Secret! guys will have cleaned up their act, since they were told of of this conflict and of my opinion way back in the second millennium. Thanks, Chris, for reporting the problem.

WARNING. As the most recent POSE reveals, RsrcEdit 1.017b is full of memory leaks [bugs] which may cause serious problems. Hence, it is prudent to use utmost care when playing with RsrcEdit.

NOTE. One user, Mark, reported a slight conflict between LapTopHack and Swipe! since they both use similar pen strokes. However, you can eliminate this conflict by setting the proper preferences in LapTopHack.

NOTE. One user, Michael, reported some screen redraw problems when using TealEcho. However, neither he nor I was able to connect the problem to LapTopHack. In fact, I was even unable to reproduce the problem, and subsequent attempts by Michael also failed to exhibit the problem.

NOTE. The "U" [Undo] button may not always work in peditHack, [p]editPad, magiPad, and scriptPad. Please don't blame LapTopHack for it. MagicText exhibits the same problem. It seems that it works on certain Palms and it doesn't on others. It appears that this may be related to your OS and not to your hardware. My conjecture is that, starting with OS 3.5, Palm took a different approach to implementing "undo" and it only works now if it is performed right after the text editorial operation.

NOTE. If both LapTopHack and VirtualKB are installed and you bring up Palm's built-in virtual KeyBoard, then you may end up with a crash. My advice is that you complain as loud and as clear to the VirtualKB guys as you can. VirtualKB violated a basic rule of the Palm programming guidelines, and now you ended up paying the dear consequences. There is an excellent chance that by the time you read this, the VirtualKB guys have fixed the problem since it was conveyed to them before the end of the second millennium. Thanks, Monika and Bill, for reporting the problem. As Chad told me on April 6, 2001, the problem still persists in version 2.0b. Since LapTopHack 6.00+ eliminated certain features, it is possible that this problem is no longer relevant.

Homework. What is a "kludge"?

The Palm Operating System Emulator [POSE] vs. LapTopHack and pedit

It is my understanding that the latest versions of POSE, effective with perhaps version 3.2, limit the size of the ClipBoard to a maximum of 1000 characters. This limit is hardcoded into POSE and cannot be changed. Therefore, you should never ever use POSE for serious work with either LapTopHack or pedit since POSE may truncate your text without any warning.

It is perfectly all right to test LapTopHack and pedit with POSE but please do not perform text related tasks with your essential data.

NOTE. As of version 5.73, I introduced a number of changes in LapTopHack in order to fix this problem, or at least to minimize its effects.

For instance, if LapTopHack sees that it is running on POSE, then it tries to keep the size of the ClipBoard to 1000 no matter how you set that value in LapTopHack's preferences.

In addition, a number of operations which used to be done via the ClipBoard have been replaced by other techniques. These operations include the various copying and pasting jobs when switching from one peditHack, [p]editPad, magiPad, or scriptPad to another one, or if quitting one of them back to your original text.

If you find any other conflicts between POSE and LapTopHack or pedit, or if you think that I may have introduced new bugs while trying to fix the above problems, then please let me know.

Downloading LapTopHack

You can download LapTopHack here.

Although this manual is included in the LapTopHack.zip package, you can also access LapTopHack_man.html directly.

Terminology

A LapTopHacker is a person who uses a legitimate copy of LapTopHack. A peditor is defined analogously.

In what follows, a "Palm" or a "Palm handheld device" refers to a PDA using the Palm Operating System [Palm OS]. This includes [but is not limited to] PDAs made by Palm itself, by HandEra [aka TRG], by HandSpring, and by Sony.

A Palmer is a person who uses a Palm handheld device.

NOTE. I was asked many times for advice on buying Palms. My pet response is "buy early and buy often". I refuse to endorse any Palm over any other Palm since I know thousands of happy [and unhappy] Palmers with all kinds of Palms. In addition, I am a down-to-earth guy who prefers functionality as opposed to cuteness. In particular, this explains why none of my Palms have a color display [as of August 23, 2001] and why I have several times more TRGPro's than Palm Vx's [my two favorites]. Yes, I do own quite a few Palms.

NOTE. However, Please keep in mind that all Palms break sooner or later. Hence the quality and speed of technical support may be the most important issue to consider when purchasing a Palm.

I hesitate to tell you the meaning of the abbreviation "PDA", since if I told you that it stands for "Personal Digital Assistant", then, as most Palmers and LapTopHackers will heartily agree with me, I would have grossly understated the facts. A Palm PDA "Practically Duplicates the Almighty".

In case you didn't know, this picture represents a form. Some people prefer to call it "dialog" or "window". If something like this is visible on the screen of your Palm, or was visible just prior to invoking some LapTopHack form, then I refer to it as the current form.

Terminology

It illustrates what a button, push button, check box, selector trigger, popup trigger, popup list, and list is.

LapTopHack uses the concept of default controls which is a somewhat vaguely defined but still very useful notion.

QUESTION. Why to have default controls?

ANSWER. Because LapTopHack provides a number of direct mechanisms to activate default controls.

Basically, if your current form contains only one of the above control structures, then they are, by definition, the default.

For instance, if your form has one single button, then it is the default button by definition.

On the other hand, if your form has more than one of a given type of control structure, then the default one is the one which has the smaller "objIndex". The word "objIndex" means nothing to regular folks, but every Palm programmer knows what it refers to. It is the maker of your Palm application or HackMaster extension who decides the order of control structures, and, therefore, is responsible for picking the default control.

NOTE. There are some exceptions to these rules such as default controls need to have textual labels [with the exception of check boxes].

In particular, if you find that your application or HackMaster extension does not order the control structures in a logical order, then it is your job to complain loud and clear to the maker of your application or HackMaster extension. Please explain the significance of the correct ordering. If you are lucky, she may redesign the form in a more natural way.

EXAMPLE. If it turns out that your form has a "Done" and a "What's up doc?" button, then it seems logical, at least to me, that the former should be the default button.

A default button is usually, but not always, surrounded by a bold frame.

Default popup triggers and a default selector triggers can be recognized by their bold faced labels.

I decided not to give visual marks to default check boxes and default push buttons. Nevertheless, they do exist, and you can easily find out which ones are the default ones by using one of the default control activation mechanisms such as "ESC 1", "ESC 2", ... , "ESC 5".

NOTE. If you choose not to mark default buttons and/or default triggers visually, then they still exist except that you won't see [and know] which ones they are.

When I talk about controls or control structures, I am referring to buttons, push buttons, check boxes, selector triggers, and popup triggers.

The difference between a popup list and a regular list is that the former goes away once you click anywhere on the screen of your Palm.

An example of a selector trigger can be found in the "General" panel of Palm's built-in "Prefs" application.

Do you see the lower cased "i" in the top right of this picture below?

About LapTopHack

This "i" is called the "i tips" button associated with the above form. Tapping the "i Tips" button usually brings up some kind of help regarding your current form.

When I tell you to type ENTER or CARRIAGE-RETURN, then I am referring to the RETURN key on your keyboard. You can also enter ENTER [sorry] by doing a swiper job in the Graffiti area across the diagonal from NE to SW [just like "/" starting from the top].

In what follows, I use the word modal differently than the official Palm lingo. According to Palm, modal forms ignore pen events outside their boundaries. In this sense, LapTopHack "de-modals" almost all forms, since it makes almost all forms react to such events.

When I say that a form is modal, then I mean that it needs to kill itself before it can perform the action it was instructed to do, and then it needs to be invoked again if further action is required. For instance, in this sense, Palm's built-in virtual keyboard is non-modal since you can edit the text while the keyboard is on the screen, whereas almost all warning dialogs are modal.

In what follows, the expression Graffiti area refers to everything what you see under the screen, including the four SilkScreen buttons on the two sides and the large rectangle used for Graffiti input.

In what follows, the expression Graffiti pad below refers to the large rectangle used for Graffiti input.

In what follows, the expression digitizer refers to everything what is sensitive to the stylus touch, including the screen and the Graffiti area.

buttonSlides

The venerable peditorial buttonShifts received a new interface in LapTopHack via buttonSlides.

I wish I could say that I am the inventor of this powerful idea, but, alas, I am not. In fact, I stole it from Jean Ichbiah of the ADA programming language fame [with his kind permission] who uses a similar but not identical concept in his Fitaly family of virtual keyboards.

buttonSlides are nothing but pen strokes generating a ctlExitEvent which is a rather rarely used event in the Palm universe.

In laymans terms, you create a buttonSlide by

EXAMPLE. The "S" button in peditHack, [p]editPad, magiPad, and scriptPad is slidable.

Once you mastered the concept of buttonSlides, the next step is to learn about directional buttonSlides, such as leftButtonSlides, rightButtonSlides, upButtonSlides, and downButtonSlides.

For instance, you create a leftButtonSlide by

EXAMPLE. The "&" button in the LapTopHack ESC form is up-slidable and down-slidable.

Installation

LapTopHack is meant to be used with Palm OS 4.xx or older, and it will not run on Palm OS 5.xx or newer.

NOTE. LapTopHack 7.00+ comes with some additional optional pModules such as pDateTool_LTH.prc, pInfoTool_LTH.prc, pSearchTool_LTH.prc, pTextEngine1_LTH.prc, and pToDoTool_LTH.prc which provide advanced features, and which can be installed via regular HotSyncing. These pModules do not require any special activation, they work transparently.

NOTE. If you have pToolSet installed, then you should not install these additional pModules, since they are already part of pToolSet. Just make sure that you always use the latest version of both LapTopHack and pToolSet.

WARNING. Some of the pModules such as pSearchTool_LTH and pToDoTool_LTH will not work well with pToolSet if your pToolSet is registered. In the latter case, you should always stick with the original pToolSet modules instead of LapTopHack's pModules.

NOTE. Use pToolSetZapper_LTH to delete unwanted pModules.

NOTE. Prior to version 7.00, some of LapTopHack's functions required that pedit be installed. As of version 7.00, this is no longer the case.

LapTopHack is a HackMaster extension. If you don't have it yet, then please get HackMaster or another Hack Manager first. I was told that both PalmGear and Handango keep a large number of Hack Managers in their current stock.

Then install both the Hack Manager and LapTopHack the usual way via a HotSync job. If you are not sure how to install Palm applications, please study the manual which came with your Palm.

NOTE. If you already have a Hack Manager and another LapTopHack on your Palm, then please go to your Hack Manager and disable your current LapTopHack by unchecking the box next to it prior to installing the newest version.

NOTE. If you forget to follow the above advice then upon installing LapTopHack, you will experience a innocent but guaranteed crash of your Palm.

NOTE. If you have LapTopHack 1.00 on your Palm, then please delete it from your Palm after you unchecked the box next to it in your Hack Manager prior to installing the current version of LapTopHack. If your old LapTopHack is at least 1.02, then there is no need to delete it since installing the current version will automatically delete the old one.

NOTE. Prior to version 7.00, LapTopHack had to be installed in the regular RAM since certain functions keept changing LapTopHack itself so that it had to remain writable all the time.

WARNING. If you use version 7.xx or newer of any of the pedits, LapTopHack, or pToolSet, then all your pedits, LapTopHack, and pToolSet must be 7.xx or newer since they are not compatible with version 6.xx or older.

In addition, since pedit, LapTopHack, and pToolSet constantly exchange information, it may be necessary that they be of the same version number.

NOTE. I suggest that you keep a backup copy of your peditDB.pdb which is somewhere in your HotSync backup directory on your desktop computer since you may need it in the highly unlikely event that you decide go back to versions 6.xx of pedit, pToolSet, and LapTopHack.

HackMaster

After you installed LapTopHack, don't forget to check the box next to LapTopHack in your Hack Manager. This will enable LapTopHack.

Next, tap on the "?" mark to the right from LapTopHack. This will bring up the About LapTopHack form. Now click on the "i" symbol which brings up the Help form.

About LapTopHack

Please read carefully these tips. They provide a short onboard introduction to LapTopHack. Among others, you will find out how to obtain contextual help in LapTopHack no matter what you are doing with your Palm Powered Handheld device.

While in your Hack Manager, please set LapTopHack's preferences by tapping on the "+" sign next to the "?" mark to the right from LapTopHack.



LapTopHack Preferences1 separator LapTopHack Preferences2

If you have already registered LapTopHack, then you should enter the registration information in the appropriate places. Then hit the "OK" button. This will free you from the inevitable nag screens which will eventually remind all currently unregistered users to become legitimate LapTopHackers.

NOTE. A very few users reported to me that although they entered the registration information, LapTopHack still kept insisting that they were unregistered LapTopHackers. As it turns out, the primary reason for this was that either the entered text was incorrect or else they forgot to hit the "OK" button. However, in a very small number of cases neither the user nor I were able to determine the cause of this misbehavior. In the latter instance I told the unfortunate LapTopHackers (i) to install RsrcEdit, (ii) to open up the Saved Preferences database, (iii) to delete all the records named pnLT which are LapTopHacker's preferences, and then (iv) to re-enter the registration information. This advice always worked. An alternate solution is to delete LapTopHack and to reinstall it. The latter action automatically deletes the preferences.

WARNING. As the most recent POSE reveals, RsrcEdit 1.017b is full of memory leaks [bugs] which may cause serious problems. Hence, it is prudent to use utmost care when playing with RsrcEdit.

In case you need help in deciding how to set the preferences in LapTopHack, just click on the "i" symbol which brings up the Help form which contains this information.

In fact, I should perhaps be more direct and tell you that you must read this when deciding the appropriate preference settings.

NOTE. If you are in a hurry and you install a pre-2.81b version of LapTopHack but you don't set or verify the preferences, then LapTopHack may end up nagging you prematurely to register it. The solution is simple. Just install the latest LapTopHack.

In particular, ...

Palm's built-in text-copy and text-cut to the ClipBoard can contain no more than 1,000 characters.

LapTopHack allows you to extend these limits by using the popup list next to the The ClipBoard size... label.

In most cases, unless you have very little free RAM, it is all right to pick the largest number which is equal to 32,768 [32K].

NOTE.

NOTE. If your application circumvents Palm's built-in text-copying and text-cutting functions, then please do not expect an extended ClipBoard from LapTopHack. Please contact the maker of your application and ask them if they use "FldCut ()" and "FldCopy ()". I heard that examples of such applications may include Eudora Internet Suite and WordSmith although I have no hard proof of this.

NOTE. The website for WordSmith has a page which notes why ClipBoard extenders may not work with WordSmith. Alas, their explanation is incorrect in case of LapTopHack although it may be still valid in all other cases. I pointed this out to the makers of WordSmith some time ago. Very unfortunately several LapTopHackers and peditors received the above explanation from the technical support department of WordSmith even though it is completely irrelevant.

TIP. If you want to use the contents of the ClipBoard which has WordSmith text pasted to it via peditHack, [p]editPad, magiPad, and scriptPad, then first quit WordSmith before you invoke them. It seems that the ClipBoard is non-standard while your are in WordSmith, but upon quitting it, the ClipBoard reverts to normal text. This is probably a WordSmith feature.

NOTE. Please keep in mind that in DOC editors and/or viewers, the current text field holds only a portion of the entire DOC file so that you will be unable to copy as much as you expect to copy. Please don't blame LapTopHack for this.

NOTE. For 7 bucks, ClipHack will also extend the ClipBoard of your Palm. However, it will also crash it on a regular basis if the OS is newer than 3.0 [this is a well documented fact].

In the original Palm environment, most text fields include a dotted underline [ruler] under each line of the text. If you check the no dotted rulers in text fields box, then LapTopHack removes those annoying rulers in multi-lined text fields. Unlike ClearHack which costs 5 bucks and is known to be defective, LapTopHack does this the right way.

NOTE. When I was a novice Palm programmer [that is, even more novice than right now], and I was working on pedit, some of the early peditors noticed that pedit had a slight conflict with ClearHack. It took me hard work to eliminate the conflict. Therefore, it gives me much pleasure that I was able to incorporate a non-defective version of ClearHack into LapTopHack, and that it took me only a few hours of work to figure out how to do it.

If dialogs such as this

Undo Alert

bother you, then just check the no confirmation of can't undo box.

NOTE. If you are a LapTopHacker or peditor who is addicted to pScripting LapTopHack, pToolSet, and pedit, then you may want to activate this option.

NOTE. Please be aware that if you go for the no confirmation of can't undo option, then you will not be able to know which Palm text editing operations are undoable so that you need to be extra careful when editing text. It may be a good idea to use either LapTopHack's peditorial functions or pedit, since they both allow you to recover gracefully from unintended editorial fiascos.

If you check the no keyboard via Graffiti tap box, then you will not be able to activate Palm's built-in virtual KeyBoard by tapping on either of the alphabetic or numeric keyboard SilkScreen buttons, although you can still invoke the KeyBoard via the LapTopHack ESC form.

QUESTION. Why would I want to deactivate the SilkScreen alphabetic or numeric keyboard buttons?

ANSWER. Many Graffiti users, especially those working in dark, complained to me that they keep accidentally hitting those SilkScreen buttons, and, thereby, they keep unintentionally bringing up the virtual KeyBoard which can be a major distraction.

If you check the use Graffiti area hot spots box, then you activate the Graffiti area hot spots.

NOTE. If you choose not to mark default buttons and/or default triggers visually, then they still exist except that you won't see [and know] which ones are they.

Registering LapTopHack

You can try out LapTopHack for 45 days w/o any limitations. Once you reach the 45 day limit, LapTopHack will start to nag you to remind you of your duty to register it. The frequency of these naggings will increase as time goes on. However, LapTopHack remains fully functional despite the persistent nagging. At one point these naggings become quite a pain in the you-know-what. Hopefully, by then you will have registered LapTopHack so that the nags are history.

NOTE. If you are under the impression that LapTopHack nags you prematurely, then please read this.

I am told by an army of beta testers that this is a very generous policy, and not a single person decided against becoming a registered LapTopHacker [yet].

The current version of LapTopHack can be registered for US$14.00.

Occasionally you may get a discount if you register it via PaulComputing's website.

As I add more features to it, the registration fee may [will] increase. Once you registered LapTopHack, then most, but not necessarily all, future versions will be available to you free of charge. For practical purposes and for legal reasons, I reserve the right to change this policy [the latter happened when version 6.00 was released].

If you honestly cannot afford the registration fee but you must have my Palm products anyway, then please contact me for discount rates.

PayPal is the strongly preferred, easiest, and fastest way to register LapTopHack. Please register

at PayPal right now.

A working alternative is to mail a check for US$14.00 to Paul Nevai, 3346 Mansion Way, Columbus OH 43221-1573, USA. Please include your e-mail or your mailing address if you have no e-mail.

You can also register LapTophack at eSellerate: browse all, LapTopHack.

Technical Support

First, please read the section about troubleshooting.

Second, if the advice given in the section on troubleshooting did not solve your problem, then please contact me.

Please state clearly the version number and compilation time'n'date of your LapTopHack, the exact name of your Palm hardware, the version number of you Palm operating system, and please describe the problem you have experienced.

NOTE. If you are in the LapTopHack ESC form, then either entering "V" [upper case "V"] or using the Version Info..." command in the Util" menu gives you the version number and the compilation time'n'date of LapTopHack [see here for details].

If you live in North America, please provide your phone number, your time zone, and the times which are convenient for you.

Please note that you can also obtain help by contacting the peditors Forum. In fact, as it turns out, the collective mind of all peditors works better than mine alone. Therefore, in most if not all cases, it makes sense to write to the peditors Forum prior to contacting me.

On the advice of JohnH, I recommend that you use the following template when contacting me.

DO: Your Name (yourname@yourisp.com) year/month/day [such as 2001/09/11]
Short description of the problem such as "I start up peditPro and my Palm crashes."
Application: [LapTopHack | peditPro | pedit | pedit32 | peditLight]
Version: [such as 5.73]
Compilation time'n'date: [11:01:43 EST on Jan 19 2002]
Handheld hardware: [such as TRGPro]
PalmOS version: [such as 3.5.1]
Other hardware (keyboard, expansion memory, etc.):
Free memory: [such as 2Mb]
Other HackMaster extensions active: [such as FitalyStamp]
Other OS patching applications: [such as QuickBits]
Steps to reproduce:
Other comments: [such as "I love your stuff"]

Troubleshooting

First, please read the section about compatibility issues.

Second, turn off all your other HackMaster extensions and see if the problem goes away. If it did, then turn on your HackMaster extensions one by one and isolate the problem. Once you have identified the guilty party, please contact their technical support and explain the problem. I know from personal experience that most Palm developers provide superior support.

However, there are some exceptions. If you happen to experience the latter, then please be persistent. It may help your case if you send a copy of your correspondence to the peditors Forum and to some of the Palm related newsgroups such as comp.sys.palmtops.pilot and alt.comp.sys.palmtops.pilot.

You may also try Calvin's PGHQ FAQ. Much of my Palm knowledge comes from studying this FAQ database.

Next, check out the peditors Forum or write to peditors Forum since, as I mentioned it already, the collective mind of all peditors works better than mine alone.

If the problem still persists then contact LapTopHack's Technical Support.

Spelling LapTopHack

LapTopHack

The Escape Key Mechanism

The escape character ESC [its default value is the backquote character "`"] allows you to initiate certain actions such as activating buttons, push buttons, and check boxes and selecting certain items on the screen from external keyboards and/or via Graffiti input.

The default ESC key can be changed in the LapTopHack Preferences form.

It is very important to understand that in LapTopHack's terminology ESC is NOT a hard key on your keyboard such as one labelled with Ctrl, or Alt, or Cmd, or whatever, but it is an ordinary key playing the role of ESC.

The way it works is as follows. First you hit ESC and then the required letter. Do it consecutively and not simultaneously . Of course, this is a very familiar concept to pedit, emacs, vi, and joe users, and to others as well.

EXAMPLE. "ESC C" ["`." if you have not defined your own ESC key] activates the "Cancel" button if you are in superFinderHack.

EXAMPLE. "ESC d" ["`d" if you have not defined your own ESC key] invokes date & info [aka pInfoTool, see here].

You will notice that there is a visual confirmation when you use ESC to activate a button, push button, or checkbox. Isn't that cool?

To use ESC ["`" if you have not defined your own ESC key] itself as a regular character in a text field, just enter ESC twice as in ESC ESC ["``"].

Please keep in mind that LapTopHack's commands are, at least in principle, case sensitive. Hence, generally speaking, "ESC a" and "ESC A" are different commands. However, as you will see there are very many exceptions to this rule.

NOTE. You can enter "`" via Graffiti by first tapping, and then by swiping from the bottom-right to the top-left and back to the bottom-right in the left side of the Graffiti input area.

NOTE. I like to use \ [back-slash] as the ESC key.

NOTE. On GoType! and on almost every other standard keyboard, "`" is an ideal choice for ESC. On the Palm Portable KeyBoard I recommend picking "\" [back-slash] as the ESC key.

NOTE. As BruceM correctly pointed it out, if you ever intend to use pScripting, then stay away from the forward slash "/" as an ESC key candidate.

LapTopHack and pedit

Since pedit is also using the same escape key mechanism as LapTopHack, you can either redefine "ESC" in pedit or LapTopHack from "`" to something else, or just follow this advice and use "ESC ESC" ["``"] instead of "ESC" ["`"] whenever an escape key is called for.

EXAMPLE. If LapTopHack is installed, then "ESC ESC j" ["``j"] does a jumper job in pedit's EditView.

LapTopHack's Manual

NOTE. LapTopHack does no more and no less than what is described in this section. In particular, LapTopHack does not have any effect on buttons and other controls unless it is explicitly described here.

As you will see, there will be rather few instances when LapTopHack fails. As of version 2.00, an example of LapTopHack's failure to help is related to [non popped-up] lists and tables and to selecting items from a such lists and tables. Of course, future versions of LapTopHack may address such issues.

NOTE. If you want to use LapTopHack with an external keyboard, then you need to have the driver for that particular keyboard installed and activated on your Palm Powered device since LapTopHack is a supplement to and not a substitute for the keyboard drivers.

NOTE. LapTopHack also works perfectly in conjunction with Graffiti and with many of the 3rd party virtual keyboard substitutes such as Fitaly and FitalyStamp.

LapTopHack provides so many features that even singling out a few of them is a highly non-trivial job. Please see the Abstract for an attempt to highlight some of these features.

When you enter the "ESC" key "`" or "back-quote" if you have not defined your own ESC key], LapTopHack takes you to the LapTopHack ESC form.



LapTopHack ESC1 separator LapTopHack ESC2 separator LapTopHack ESC App menu

NOTE. As of version 5.6x, the LapTopHack ESC form is undergoing a major upgrade job so that the documentation below may not be 100% accurate. Please bear with me. I promise that you will love the final product [well, "final" in the well-known LapTopHackorial sense only].

You can think of this form as the cockpit of your LapTopHack. Most but not all LapTopHack operations originate from this form.

If you feel somewhat overwhelmed by the sight of this form, just hit the "i" symbol in the upper rigth corner of the screen or enter "h" which brings up the Help form which tells you this.

In particular, you will find out that a pen stroke from the very bottom right corner of the ENTIRE glass or plastic screen area to the very top left corner of the screen also brings up this very same LapTopHack ESC form.

You can also use Graffiti area hot spots to bring up the LapTopHack ESC form.

NOTE. Even though I use rectangularly framed buttons in LapTopHack ESC, none of them are push buttons. As all peditors know, I am a rectangular button aficionado who loves not only their esthetic appeal, but also recognizes that they allow better utilization of the valuable Palm screen real-estate.

The second generation LapTopHack ESC form has panels [pages] and menus. The former can be brought up using the following rules.

NOTE. If you change modes [see normalMode, advancedMode, and expertMode], then you will always restart with the default panel which is #0 [zero].

NOTE. The button labels may seem to start with odd letters. They are there for keyboard support. Each and every button can be activated by entering the first case-significant letter of its label.

NOTE. Some buttons have also buttonSlided actions associated with them.

The top four buttons in the LapTopHack ESC form's panel #0 activate the corresponding SilkScreen buttons.

NOTE. Yes, you guessed it right, j menu stands for "menu" but it is activated by entering "j" [lower case "j"].

NOTE. Use "J" [upper case "J"] to activate the LapTopHack ESC form's own menus.

LapTopHack ESC App menu

NOTE. The menus are pretty much self-explanatory. Please note that some of the commands in the "App" menu try to find the best possible program. For instance, pressing "5: Edit" or typing "5" and "ENTER" brings up your particular pedit if it is installed, and MemoPad otherwise. These menus are fully supported by the Menu Activation Mechanism. This feature is still under construction.

If you switch to panel #1, then the apps button is replaced by the DBs button which which gives you information about the currently open databases on your Palm. This information is useful for experts but is pretty much useless for ordinary mortals.

If you switch to panel #1, then the menu button is replaced by the mem button which gives you information on your Palm's memory.

If you switch to panel #1, then the find button is replaced by the ftr # button which gives you information on the currently used feature numbers in your Palm. This information is useful for experts but is pretty much useless for ordinary mortals.

If you switch to panel #1, then the calc button is replaced by the coord button which activates the pInfoTool's coordinator.

NOTE. A cousin of the coordinator is the "C" command in the pPointer [the Palm mouse].

NOTE. You will find the coordinator and its pPointer cousin especially useful when designing pScripts.

HINT. Use the coordinator to diagnose dead spots on the screen and Graffiti area of your Palm. If you tap and the coordinates do not show up, then it is time for you to call your particular Palm's technical support and to ask for a fixer upper job [hopefully, under warranty].

In the next row the left and right buttons activate the built-in virtual keyboard in alphabetic and numerical mode, respectively.

Of course, these two buttons are context sensitive so that you can only activate them when it is appropriate. For instance, if there is no editable text field in your current form, then you can't bring up the built-in virtual keyboard.

The light button tuggles the "BackLight" on and off as long as your particular Palm supports this feature.

The print button brings up printHack as long as you have it installed on your Palm. You can use printHack to print either the current text, or the current text selection, or the current textual contents of the ClipBoard.

NOTE. printHack requires that you have either Stevens Creek Software's PalmPrint, or TealPoint's TealPrint installed in your Palm.

If you switch to panel #1, then the four buttons labeled kScript, lScript [lower case "ell"], tScript, and nScript perform the pScripts whose pScriptNameIdentifiers are "kScript", "lScript" [ell], "tScript", and "nScript", respectively.

The date & info button activates pInfoTool.

The calendar button allows you to view Palm's built-in calendar. As an extra bonus, if you pick a date then that date will be copied to the ClipBoard and/or pasted into your currently active editable text field in the form of

YYYY/MM/DD [such as "1976/07/04"]

If you use the "Today" button in the calendar, then not only today's date will be recorded but a complete date'n'time stamp is copied and/or pasted in form of

YYYY/MM/DD HH:MM:SS [such as "1976/07/04 10:09:30"]

NOTE. The actual formatting of the date'n'time stamp uses the preferences set in the "Formats" Preference Panel.

NOTE. While you are in the calendar, the title of the dialog tells you whether the date'n'time stamp is going to end up copied to the ClipBoard or pasted into your currently active editable text field.

The DateTool button or "D" [upper case "D"], brings up pDateTool.

The Phone button or "P" [upper case "P"], brings up the phone number lookup command as long as you have a currently focused and editable text field.

The ToDoTool button or "T" [upper case "T"], brings up pToDoTool.

The btnsCust button brings up the customizable pScriptButtons.

On panel #1 btnsCust turns into BtnsCust with upper case "B" which allows you to jump to any page in the customizable pScriptButtons. Namely, use

Here "x" [0 < x < 1000] is a number you enter into the text field at the bottom right corner of the screen.

The dual duty power button turns your Palm off when your Palm is on, and turns it on otherwise.

NOTE. The power button may not work on all Palm Powered Handheld devices. I was told that one such example is the Visor.

In panel #1, the reset button soft-resets your Palm which is the same as if you reset your Palm using a paper clip or equivalent. This is considered a safe procedure which should not harm your data at all [as opposed to a hard-reset which wipes out the contents of all your RAM].

The three buttons between the btnsCust button and the power buttona manage the sound level of your Palm Powered Handheld device.

NOTE. If you happen to be in the "General" panel of Palm's built-in "Prefs" [Preferences] application, then it may not be a good idea to use LapTopHack to set the sound level since it may not work as you would expect it. I hope you won't mind if I don't go into a lengthy technical discussion why it may not work. If you are a Palm expert, then I am sure the explanation is obvious to you.

The copy txt [copy text] button is a double duty button in a sense. If you switch to panel #1, then the qopy txt button becomes the copy all button.

If you tap it or activate it with a lower case "q", and if you have a currently focused text field in your form, then it copies the currently selected text, if any, to the ClipBoard. This works even if the text field is not editable such as in DOC files.

If activate it by buttonSliding it or with an upper case "Q", or you tap it when it is called copy all, and if you have a currently focused text field in your form, then it copies the entire text, if any, to the ClipBoard. Again, this works even if the text field is not editable such as in DOC files.

NOTE. Please keep in mind that in DOC editors and/or viewers, the current text field holds only a portion of the entire DOC file.

If your current form has an "i-Tips" button, then the i-Tips button activates it. This usually brings up some kind of help regarding your current form.

On the other hand, if you want help in this LapTopHack ESC form, then either hit the "i-Tips" button in the upper right corner of the screen, or enter "h" to bring up this onboard help.

If your Palm OS is at least 3.3, then the paste [paste text] button is a double duty button too. If you switch to panel #1, then the paste button becomes the append button.

If you tap it or activate it with a lower case "x", and if you have a currently focused editable text field in your form, then it pastes the contents of the ClipBoard into your current text in the usual way, that is, it either replaces the current text selection or inserts it at the current cursor location.

If your Palm OS is at least 3.3, and if you activate it by upButtonSliding it, or with an upper case "X", or you tap it when it is called append, and if you have a currently focused text field in your form, then it appends the currently selected text, if any, to the text ClipBoard. This works even if the text field is not editable such as in DOC files.

NOTE. Of course, you can perform the above pasting job in a myriad ways, and you don't need the power of LapTopHack to do it. On the other hand, on many occasions you may not be able to copy from your current text in any other way but the LapTopHack way.

NOTE. If your Palm OS is at most 3.2, then you cannot append to the ClipBoard.

NOTE. Of course, appending to the text ClipBoard is just that. Nothing more and nothing less. Do not expect the old text and the new text to be separated in any meaningful way.

The peditHack button activates peditHack, whereas the editPad and magiPad buttons activates [p]editPad, and magiPad, respectively. If you are a peditor, then these three features are certainly going to be some of the most popular components of your LapTopHack.

Typing "M" [upper case "M"] or upButtonSliding the magiPad button brings up a shrunken version of magiPad whose position can be controlled by tapping outside magiPad on your Palm's screen.

downButtonSliding the peditHack button brings up pToolSet's pTextTool, if installed [it does not need to be turned on via pToolOn].

downButtonSliding the editPad button brings up pToolSet's pEditTool, if installed [it does not need to be turned on via pToolOn].

downButtonSliding the magiPad button brings up pToolSet's pMagiPad, if installed, which is a more sophisticated version of LapTopHack's magiPad.

Typing "s" [lower case "s"] or using the scriptPad button in panel #1, takes you to scriptPad.

Typing "S" [upper case "S"] or upButtonSliding the scriptPad button brings up a shrunken version of scriptPad whose position can be controlled by tapping outside scriptPad on your Palm's screen.

downButtonSliding the scriptPad button brings up pToolSet's pScriptPad, if installed, which is a more sophisticated version of LapTopHack's scriptPad.

The six buttons in a row are some of the most essential components of LapTopHack.

Please see here for all the subtle details of the control activation mechanism which can be accessed with the our ctrl activator, "R", "1", "2", and "3" buttons, and by the keys "4", "5", "!", "@", "#", "$", and "%".

Typing SPACE", or entering any "arrow" [left, right, up, or down], or upButtonSliding the our ctrl activator button, or tapping the Our pointer button [panel #1] brings up the pPointer [the Palm mouse].

Typing "G" or downButtonSliding the our ctrl activator button brings up the Graffiti area pPointer [the Palm mouse].

The "r" button plays a triple duty role.

If the "r" button is invoked either by upButtonSliding it or by entering "R" [upper case "R"], and if you current form has a table in it which has editable text fields, then this command allows you to walk through the text fields one by one and allows you to place the cursor in each of them. In other words, this is the "tableRotator".

If the "r" button is invoked either by downButtonSliding it or by entering "F" [upper case "F"], and if you current form has non-table style text fields, then this command allows you to walk through the text fields one by one and allows you to place the cursor in each of them. In other words, this is the "fieldRotator".

NOTE. There are many examples of application where these commands are useful. Palm's built-in DateBook is probably the best known among them.

Please see here regarding the "&" button which is the gateway to pScripting your Palm by bringing up the pScript entry dialog.

NOTE. If you type "Z" [upper case "Z"] instead of "&", then first it turns on the pScriptorial globalMacroMode, and then it brings up a silent version of the pScript entry dialog.

The "ESC = \" button allows you to use your ESC character as a regular character. For instance, if you defined "\" as the ESC character, then this button places "\" into the currently focused text field in your current form [if such an object exists].

NOTE. Did you notice that the "ESC = \" button is surrounded by a bold frame? The bold frame means that it is the default button in the LapTopHack ESC form so that it can be activated by ENTER.

NOTE. If you brought up the LapTopHack ESC form with a tap or a stylus stroke instead of typing the ESC character, then the "ESC = \" button acts as the .Cancel button.

NOTE. Sometimes you will see that hitting the "ESC = \" button brings up the LapTopHack ESC form one more time. There is a technical explanation for that which boils down to the fact the given application reposts certain events and the Palm OS has no way of determining what your true intentions were. If this happens, just use the "ESC = \" button one more time. Please view this as a "feature" and not as a bug. This happens, for instance, if you are in MemoPad's "ListView" [table of contents].

upButtonSliding the "ESC = \" button brings up pToolSet's pMasterTool as long as your Palm's OS is at least 3.1. However, pToolSet itself will be operational via pMasterTool only if your Palm's OS is at least 3.5 and you have turned it on via pToolOn.

Use the .Cancel button to quit the LapTopHack ESC form without taking any further action.

The "U" button sets the "auto power off" timer to the number of seconds in the field next to the "U" button as long as the field and its contents satisfy the following conditions.

NOTE. Similarly to setting the sound level, if you happen to be in the "General" panel of Palm's built-in "Prefs" [Preferences] application, then it may not be a good idea to use LapTopHack to set the "auto power off" timer since it may not work as you would expect it.

NOTE. If you set the "auto power off" timer to a time which cannot be displayed in the "Auto-off after" popup trigger of the "General" panel of Palm's built-in "Prefs" [Preferences] application, then it will show the default value which, as of December 8, 2000, is 2 minutes.

NOTE. If you have a TRGPro, then you may notice that the value of the "auto power off" timer setting is not always preserved after system resets [including crashes]. The same was reported to me about one Visor and one Palm Vx. The latter was also doing this after HotSync jobs. Although I have no idea why this is happening, I don't think you should blame LapTopHack for it since exactly the same happens if you set the value of the timer with other 3rd party utilities. As a matter of fact, some of my fellow Palm developers think of this as a "feature" as opposed to a bug [don't ask me why]. However, newer Palm OSs no longer have this "feature".

The advancedMode and expertMode. If you are an expert LapTopHacker then you may prefer if the LapTopHack ESC form did not show up on your Palm's screen when entering it, and if it did its job silently. You can achieve this by entering either "A" [upper case "A"] or "E" [upper case "E"] while you are in the LapTopHack ESC form, or, in short, "ESC A" or "ESC E". This will take you to the advancedMode and expertMode, respectively. If you are in the advancedMode or expertMode, then you can return to the normalMode by entering the LapTopHack ESC form and typing "N" [upper case N], or, in short, "ESC N".

NOTE. There is absolutely no difference whatsoever between normalMode, advancedMode, and expertMode except that in the latter two you will not see the LapTopHack ESC form. Whether you see the LapTopHack ESC form or not, it functions exactly the same way. In particular, you can get out of it by typing "." [period]. Of course, if you are in the advancedMode or expertMode, then many of your LapTopHack operations will significantly accelerate since your Palm does not have to waste precious processor time on drawing various graphical user interfaces.

NOTE. The only difference between the advancedMode and expertMode is that in the former a small "ESC" reminder label shows up on your Palm's screen while you are in the LapTopHack ESC form whereas the latter is absolutely silent. Therefore, you may want to use the latter only if you are extremely efficient in LapTopHack. However, please read about the "/GZ", "/Gz", "/0x03" and "/0x04" pScriptorial globalMacroMode tokens since they also have almost the same effect as the expertMode.

NOTE. If you are outside the LapTopHack ESC form, then normalMode, advancedMode, expertMode, and globalMacroMode may have different effects on your LapTopHack operations. Please see here for an explanation of the effects of these various modes.

NOTE. If you are inside the LapTopHack ESC form, and you are in any mode different from normalMode, including globalMacroMode, then after a few seconds of inactivity you are automagically returned to normalMode so that you don't need to panic while trying to figure out whether you are in, say, expertMode or your Palm died. You can also use this trick to turn off the pScriptorial globalMacroMode.

NOTE. Before you start to complain about the steep learning curve of LapTopHack, please keep in mind that LapTopHack is fully functional even without using the myriad additional fancy-shmancy features.

The Control Activation Mechanism

As opposed to the keyboard drivers of Palm Portable KeyBoard [aka PPK or Stowaway or Targus] and GoType!, LapTopHack allows virtually every control structure [buttons, check boxes, and so forth] to be activated via external keyboards, Graffiti, or even via several 3rd party virtual keyboards.

In addition, as opposed to the above mentioned keyboard drivers, LapTopHack provides positive visual confirmation of every action taken on such controls.

The primary way of activating controls is via our ctrl activator which can be invoked by

"ESC o" = "ESC O" [Oh] = "ESC 0" [zero] = our ctrl activator

which brings up this form.

controlActivator

Once you brought up our ctrl activator, type the first few letters of the control you want to activate into the text field which currently displays !enter label here!. It is sufficient to type in those letters which uniquely identify your control.

Once you entered the partial name of the control you want to activate, just hit the ;Go button.

"ENTER" = ";" = the ";Go" button

NOTE. For no particular earth-shaking reason, I chose to allow a maximum of 8 [eight] letters to be processed by our ctrl activator. There will be very few instances when this creates a problem. Had I allowed more letters to be typed into the text field of our ctrl activator, this occasionally might have created a situation when not the entire text is visible [the screen real estate is in short supply].

Of course, you can always change your mind by issuing a "Cancel" order via

"," = the ",Cncl" button

You can get help with

":" = help

In particular, if some controls are obscured by the our ctrl activator form, then you can move it out of the way by using

"page down" = "down arrow" = move our ctrl activator downward

"page up" = "up arrow" = move our ctrl activator upward

If your current form has a default button, then you can activate it by

"ENTER" = ";" = the ";Go" button

without bothering to enter the partial name of that default button. More precisely, if the text field contains !enter label here! or is empty, then

"ENTER" = ";" = the ";Go" button

activates the default button.

Now let's talk a little more about activating default controls.

If you are still in your form and you want to active the default button, then you can use

"ESC 1" = "ESC o ENTER" = "ESC O ENTER" [Oh] = "ESC 0 ENTER" [zero] = = default button

or

"ESC 1" = "ESC o ENTER" = "ESC O ENTER" [Oh] = "ESC 0 ENTER" [zero] = = default button

In addition to a default button, your form may also contain a default popup trigger and/or a default selector trigger and/or a default check box and/or a default push button [see here for details]. The first two can be recognized by their bold faced labels [unless you choose not to display them in bold when you set LapTopHack's preferences].

NOTE. There may be more than one bold faced label in your form. If your application creates a bold faced label, LapTopHack does not undo it.

If you are still in your form and you want to active the default controls then you can use

"ESC 1" = = default button

"ESC 2" = = default popup trigger

"ESC 3" = default selector trigger

"ESC 4" = = default check box

"ESC 5" = = default push button

This is the onboard summary of the commands you can use in our ctrl activator.

An inherent shortcoming of our ctrl activator is that it can only activates controls which have a textual label. In addition, these labels must have uniquely identifiable texts. Alas, the Palm universe is full of controls with graphical labels and with labels which are not unique.

An excellent, or some would say horrific, example is Palm's own built-in DateBook.

DateBook

Had I been consulted by the Palm guys, I would have advised them to use "R" for Thursday and "U" for "Sunday" in the English version of the Palm OS, and would have suggested similar considerations for all other languages. Well, let's not cry over spilled milk.

Enter the objectRotator, which can be accessed by

"ESC r" = "ESC 5-way navigator select button" = objectRotator

if you go to it from your form, and by

"r" = "5-way navigator select button" = objectRotator

if you are currently in the LapTopHack ESC form already.

The concept of the objectRotator is very simple. First, identify your object structure, and then activate it.

You can use objectRotator to activate dialog titles [menus], controls such as buttons, push buttons, check boxes, and repeating buttons, and also text fields via keyboard and Graffiti input. They are called "objects".

Here are the rules.

The objectRotator has a full range of transparent speed adjustment commands as well.

This is the onboard summary of the commands you can use in the objectRotator.

In addition, if you know what type of control structure you are looking for, then you may want to use the individual object rotators instead of the general object rotator. The individual control rotators work exactly as the objectRotator except that they concentrate on specific control structures only.

The buttonRotator looks for regular buttons, the popupListRotator looks for popup lists, the selectorTriggerRotator looks for selector triggers, the checkBoxRotator looks for check boxes, and the pushButtonRotator looks for push buttons.

This is not all! Haven't you noticed that quite a few forms do not have any text input field at all? Some of these are called "Custom Alerts", and a special case is called simply "Alert". Here are a couple of examples.



Info Alert separator Warning Alert

When LapTopHack is active, you can recognize such a form by the "i-Tip" symbol in the LEFT of the title bar [tap on it for contextual help].

In "Custom Alerts" and "Alerts" you don't have to bother with ESC characters and with the LapTopHack ESC form. Just follow these instructions.

Of course, the entire arsenal of LapTopHack ESC is still at your disposal. You may need it if one or more button start with the same letter.

In addition, you can bring up the pScripter dialog by entering "&".

This is the onboard summary of the commands you can use in "Custom Alerts" and "Alerts".

The Menu Activation Mechanism

As of version 5.62, LapTopHack allows you to navigate inside menus, and to activate all menu commands via keyboard and Graffiti input. It works transparently and in a natural way.

First you bring up the menu using either the dedicated menu key on your external keyboard or by entering "ESC j" or by tapping the jMenu button in your "LapTopHack ESC" form [or by entering "ESC =" if you are in pedit's ListView or EditView].

Second, you pick different pull-down [drop-down] menus by using the left arrow or BACKSPACE or previous field keys and the right arrow or SPACE or next field keys or their Graffiti equivalents.

Third, you pick different menu items within a pulled-down [dropped-down] menu by using the up arrow and down arrow keys or their Graffiti equivalents, or by using the pageUp and pageDown keys of your Palm.

Fourth, you pick your selected command by entering a carriage return [linefeed] or its Graffiti equivalent, or the letter O [upper case "Oh"]

Summary of Commands.

NOTE. Although I could have easily implemented the latter "menu item # selection" on all Palms [at the expense of additional code], I decided to do it only if your Palm OS is at least 3.1. If you still use OS 3.0x, then this will be an excellent excuse for you to upgrade.

QUESTION. My Palm had a crash while using the menus via an external keyboard. What should I do?

ANSWER. Install the latest version of LapTopHack [at least 5.70].

QUESTION. How come that in one of my applications either some or none of the above navigational command work?

ANSWER #1. The application substituted Palm's built-in menu mechanism by its own custom code. Please contact the maker of your application and find out if this is the case. By the way, I have yet to see an application where this doesn't work.

ANSWER #2. Although I tested LapTopHack's menu activation mechanism on all Palm OSs from 3.0 up to 4.0, I may have missed something. If your Palm OS is under 3.5, then I cannot guarantee that this will work. You may experience some graphical glitches. If you do, the please let me know. However, based on input from dozens of LapTopHackers with a great variety of Palms, it seems that I hit the nail on its head and the menu activation mechanism now works flawlessly. Hence, I suggest that we go back to answer #1.

NOTE. George Wyner pointed out this GoType! for PalmOS FAQ page. I'd love to comment on it but I am afraid that if I did, then I would be perceived to be even more arrogant than I actually am.

NOTE. LapTopHack also fixes an inherent Palm OS bug which processed all characters entered while the menu was pulled down as if they were entered without the menu being pulled down. This could lead to disasters. Do I need to create scenarios for illustration? However, I must admit that some people consider this bug a "feature". If you are one of those, the please accept my apologies.

The pPointer

The pPointer [the Palm mouse] is similar to Robert Gasparotto's excellent PointerHack although the actual implementation is completely different. In fact, Robert invented the idea and I got hooked on it after I examined the publicly available source code of PointerHack. I was amazed to see how differently Robert and I approached the same problem. This is yet another proof that there is more than one way to skin a cat [I don't believe that I wrote this - I am a vegetarian and would never hurt a cat]. I am grateful to Robert for his great contribution to the Palm community. In addition, I also appreciate that, after I told Robert about pPointer, he agreed, and, to some extent, even encouraged me to use his idea in LapTopHack, and to improve upon his baby.

The point of both pPointer and PointerHack is to allow the user to put up a pointer [similar to an arrow] on the screen of the Palm, to move the pointer to an appropriate location, and then to click at the chosen location to simulate a tap by an actual stylus.

The primary commands are as follows. Here "bullseye" means the center of pPointer.

NOTE. If you have the Graffiti area under pPointer's jurisdiction, that is you see a virtual Graffiti drawn on your screen, then a single tap or single stroke acts as if done in the actual Graffiti area.

WARNING. Currently, the word and screenLine selection commands work only if you have a text field at the bullseye. If you use these two commands when the bullseye is over other objects, then the consequences are unpredictable. "W" works by issuing a double-tap at the bullseye, whereas "L" issues a triple-tap at the bullseye.

WARNING. Currently, the page or scroll command works only if the bullseye is over a scroll object such as a scrollUpArrow, scrollDownArrow, scrollUpPage [the grey area above the black scrollBar], scrollDownPage [the grey area below the black scrollBar], or scrollBar [the back area]. If you use this command when the bullseye is over other objects, then the consequences are unpredictable. You can usually resolve the situation by tapping in the Graffiti area of your Palm. "C" works by issuing a single tap in a rather trick way since a regular tap would not do the job. Somewhat more precisely but still not accurately, a "tapDown" is followed by a waiting period, and then a "tapUp" follows.

By the way, here is the definition of screenLines.

NOTE. In case you wonder what "toggling on and off the point anchor" means, try it. Turn it on, move the pPointer a couple of times, and then turn it off again. You will understand it immediately.

NOTE. While the Graffiti area is included into the pPointer's jurisdiction, not all pPointer commands are operational since only those work which make sense. For instance, the text and scrolling operations are disabled.

pPointer has a full range of transparent navigational and speed adjustment commands.

1 ... 9 0 = set the pPointer speed to 1 ... 9 10

"+" = "=" = increase pPointer speed by 1

"-" = "_" [underscore] = decrease pPointer speed by 1

"*" = double pPointer speed

"/" = halve pPointer speed

"f" [lower case] = set pPointer speed to fast

"n" [lower case] = set pPointer speed to normal

"s" [lower case] = set pPointer speed to slow

"v" [lower case] = set pPointer speed to very slow

"x" [lower case] = set pPointer speed to extra fast

NOTE. pPointer remembers its last position and speed unless you reset your Palm between two invocations of pPointer.

QUESTION. How come that in some applications such as NotePad, I can't make the "sTroke" command "T" work as I would like to?

ANSWER. In the Palm universe, there is no unique definition of what a stroke means. pPointer defines it as a "tapDown" at the anchor and then a full "tap" at the bullseye.

QUESTION. When is the "sTroke" command "T" useful?

ANSWER. You tell me. More precisely, please join the peditors Forum, and then please post your ingenious discoveries to here. For instance, you can use the "sTroke" command to create perfectly positioned rectangles and circles in TealPaint.

QUESTION. What is the best way to use pPointer in the Graffiti and adjacent areas?

ANSWER. I suggest using it for taps, double-taps, tripple-taps, and pen strokes, especially in conjunction with the myriad HackMaster extensions which can be activated by a myriad combinations of such actions. In addition, if you have nothing else to do, then you can also use the pPointer "sTroke" command to create certain letters via Graffiti. If you have FitalyStamp, then you can put up quite a show which will freak out even veteran Palm users.

NOTE. If your Palm appears to be frozen after a pPointer operation, then it may only be hibernating, that is, it suspended all operations entirely and it is waiting for a "tapUp", and then a simple tap will wake it up.

This is the onboard summary of the commands you can use in pPointer.

KeyBoard Shortcuts

NOTE. This feature is in the process of fine tuning so that the details and the mechanism may change as I get more input from out LapTopHackers and peditors. Stay tuned...

If you have one of those foldable-portable keyboards made by Think Outside, Inc., and marketed under various names such as Palm Portable KeyBoard [PPK], Stowaway, and Targus, then you can use the Ctrl-Fn keys in conjunction with other keys to access quickly some of LapTopHack's features.

In addition, this feature works also with any other external keyboard in virtual Palm resident keyboard capable of producing Ctrl-Fn signals, that is "controlKeyMask" and "optionKeyMask"

In what follows, the Ctrl-Fn keys need be pressed simultaneously with the key under consideration.

First, please see here for the details about activating pScripts with any of the number keys 0 [zero] through 9 [nine] pressed simultaneously with Ctrl-Fn.

Experimentally, you can use the following shortcuts.

Ctrl-Fn-SPACE [NOT SPACEBAR!!!] = the pPointer at the last location

Ctrl-Fn-BACKSPACE = the pPointer at the default location

Ctrl-Fn-| [absolute value] = the pPointer at the current cursor location [if exists]

Ctrl-Fn-b [lower case "b"] = the default button

Ctrl-Fn-B [upper case "B"] = the buttonRotator

Ctrl-Fn-e [lower case "e"] = peditHack

Ctrl-Fn-E [upper case "E"] = [p]editPad

Ctrl-Fn-f [lower case "f"] = fieldRotator

Ctrl-Fn-h [lower case "h"] = the default check box

Ctrl-Fn-H [upper case "H"] = the checkBoxRotator

Ctrl-Fn-k [lower case "k"] = the kursorRotator

Ctrl-Fn-K [upper case "K"] = the Kustomizable pScriptButtons

Ctrl-Fn-l [lower case "ell"] = the default popup list [including category lists]

Ctrl-Fn-L [upper case "L"] = the popupListRotator

Ctrl-Fn-m [lower case "m"] = magiPad

Ctrl-Fn-M [upper case "M"] = scriptPad

Ctrl-Fn-o [lower case "o"] = our ctrl activator

Ctrl-Fn-p [lower case "p"] = the default push button

Ctrl-Fn-P [upper case "P"] = the pushButtonRotator

Ctrl-Fn-r [lower case "r"] = objectRotator

Ctrl-Fn-s [lower case "s"] = the default selector trigger

Ctrl-Fn-S [upper case "S"] = the selectorTriggerRotator

Ctrl-Fn-? = onboard help for the KeyBoard ShortCuts

QUESTION. Why only PPK and not GoType!?

ANSWER. I studied both keyboard drivers very carefully, and came to the conclusion that the GoType! driver is incapable of supporting the above features. Maybe you could approach the GoType! people and request that they upgrade their driver.

This is the onboard summary of the commands you can use as KeyBoard Shortcuts.

Graffiti Area Hot Spots

NOTE. This feature is in the process of fine tuning so that the details and the mechanism may change as I get more input from out LapTopHackers and peditors. Stay tuned...

First, the expression Graffiti area below refers to everything what you see under the screen, including the four SilkScreen buttons on the two sides and the large rectangle used for Graffiti input.

Second, in order to be functional, the Graffiti area hot spots feature needs to be turned on. You accomplish this by checking the appropriate box in the second page of the LapTopHack Preferences dialog [use the "more" button to get to the second page].

Third, this feature can be as simple as you wish and it can be made as sophisticated as you are ever likely to see in the Palm universe. Hence, both "newbies" and veteran "experts" will benefit from it. If you are a "newbie", just turn the hot spot feature on, read about the "deafault" actions below, and don't worry about the details. LapTophack will automaticaly do the rest for you.

Fourth, a little practice combined with perseverance will teach you the correct way to do the taps and pen-strokes below. If you use FitalyStamp, then please read this.

There are five "regular" hot spots which are subject to the following rules.

NOTE. In addition to the above five "regular" hot spots, LapTophack has another set of "extended" hot spots consisting of eleven more hot spots. However, the latter are still under construction and you will not be able to use them unless you reverse engineer LapTophack [which is a criminal act unless done with my prior consent].

Brightness and Contrast Adjustment

LapTopHack transparently patches your Palm's [or, should I say, Palms'] brightness and contrast adjustment dialogs. It is a no-brainer. Just use the arrow keys on your keyboard to move the slider, and type "d", "D", or "ENTER" to activate the Done button. In addition,

? = tap on LEFT "i" label in the title bar = onboard help in System Adjustments

This feature works with the HandSpring variety of the Palm handhelds as well.

NOTE. Not all Palms have brightness or contrast adjustment dialogs.

This is the onboard summary of the commands you can use in the brightness and contrast adjustment dialogs.

The Category Editor

This is the Category Editor form.

Category Editor

These are the commands you can use in the Category Editor form. You can initiate action by

"ENTER"= "o" = "O" = the "OK" button

"n" = "N" = the "New" button

"r" = "R" = the "Rename" button

";" = the ";Delete" button

"i" = "I" = the Category Editor "Tips"

"?" = "h" = "H" = tap on "LapTopHack" label = onboard LapTopHack help in the Category Editor

and you can navigate by

"SPACE" = "next field char" = "down arrow" = select next item

"BACKSPACE" = "previous field char" = "up arrow" = select previous item

"1 ... 9 0 a ... e [A ... E]" = select 1st ... 9th 10th 11th ... 15th item

"pageUp key" = "left arrow" = scroll up the list

"pageDown key" = "right arrow" = scroll down the list

This is the onboard summary of the commands you can use in the Category Editor form.

The Date Selector

This is the Date Selector form.

Date Selector

These are the commands you can use in the Date Selector form.

"SPACE" = "up arrow" = next year

"v" = tap on "v" = 5 years forward

"x" = tap on "x" = 10 years forward

"l" [lower case "ell"] = 50 years forward

"e" = "$" = last year [2031]

"BACKSPACE" = "down arrow" = previous year

"V" = tap on "V" = 5 years backward

"X" = tap on "X" = 10 years backward

"L" = 50 years backward

"b" = "^" = first year [1904]

"page down" = "right arrow" = next month

"page up" = "left arrow" = previous month

"1 2" ... "9" = January February ... September

"o" [oh] or "0" [zero] = October

"n" = November

"d" = December

and

"g" = "G" = go to selected day [whether it is visible or not]

"h" = "H" = tap on the "LapTopH" label = help in the "Date Selector"

"m" = "M" = tap on the "M" label = dateMaster

"s" = "S" = tap on the day initials ["S M T ..."] = day selector

"y" = "Y" = tap on "YEAR" [such as "2000"] label = year selector

"ENTER" = "c" = "C" = the "Cancel" button

"t" = "T" = the "Today" button = the "This week" button = the "This month" button

This is the onboard summary of the commands you can use in the Date Selector form.

The Day Selector

This is the Day Selector form.

Day Selector

These are the commands you can use in the Day Selector form.

"ENTER" = "g" = "G" = ";" = the "Go to day" button [goes to the chosen day in the currently visible month and year]

"c" = "C" = "," = the ".Cancel" button

"?" = "h" = "H" = help in the "Day Selector"

Day selection rules.

This is the onboard summary of the commands you can use in the Day Selector form.

The Year Selector

This is the Year Selector form.

Year Selector

These are the commands you can use in the Year Selector form.

"ENTER" = "g" = "G" = ";" = the "Go to year" button

"c" = "C" = "," = the ".Cancel" button

"?" = "h" = "H" = help in the "Year Selector"

Year selection rules.

This is the onboard summary of the commands you can use in the Year Selector form.

dateMaster

This is the dateMaster form.

dateMaster

NOTE. dateMaster always starts up with the currently selected date in the Date Selector form. This should make dateMaster a practical date calculator.

These are the commands you can use in the dateMaster form.

"-" = the "- BACKWARD" push button

"t" = "T" = the "THIS" push button

"+" = the "+ FORWARD" push button

"ENTER" = "p" = the "PickIt" button = pick the date entered into the currently focused field and exit the "Date Selector"

"s" = the "ShowIt" button = show the date entered into the currently focused field without exiting the "Date Selector"

"?" = the "?Help" button = Help in dateMaster

"." = the ".Cancel" button

"a" ... "h" = "A" ... "H" = focus on the corresponding field and select the text in it

"SPACE" = "page down" = "down arrow" focus on the next field and select the text in it

"page up" = "up arrow" focus on the previous field and select the text in it

In addition, you can use the following pScript friendly shortcuts [all are upper cased].

"P" = paste from the ClipBoard to the currently focused text field [a pScript friendly operation]

"Q" = qopy [copy] selected text from the currently focused text field to the ClipBoard [a pScript friendly operation]

"S" = select all text in the currently focused text field [a pScript friendly operation]

"U" = undo the last editing operation in the currently focused text field [a pScript friendly operation]

"X" = cut the text selection in the currently focused text field [a pScript friendly operation]

Rules for "year/month/day" parsing.

Rules for "year/week" parsing.

Rules for "year/day" parsing.

Rules for "day of this month" parsing.

Rules for "week of this month" parsing.

Rules for "day of this year" parsing.

Rules for "week of this year" parsing.

Rules for "month of this year" parsing.

Rules for "days|months|weeks backward|forward" parsing.

This is the onboard summary of the commands you can use in the dateMaster form.

Date & Info [aka pInfoTool]

This is the date & info [aka pInfoTool] which you get

pInfoTool

when you enter the command

"ESC d" = "date & info"

NOTE. A pen stroke from the bottom left corner of the Graffiti area to the top right corner of the screen brings up pInfoTool.

Please read here about the fine details of viewing the calendar and for picking dates which get copied and/or pasted.

This is the onboard summary of the commands you can use in the pInfoTool.

The FIND SilkScreen button

You can activate the FIND SilkScreen button and bring up the Find form by "ESC f" [lower case "f"].

LapTopHack supports Palm's built-in FIND

Find

superFinderHack

superFinderHack separator superFinderHack

In Palm's built-in SilkScreen Find you can use

"ESC o" = the "OK" button

"ESC c" = the "Cancel" button

In superFinderHack use

"ESC o" = "RETURN" = the "OK" button

"ESC ." = the ".Cancel" button

"ESC a" = the "AddFav" button

and

"ESC i" = the "ignore case" check box

"ESC m" = the "min match" check box

"ESC u" = the "use REGEXP" check box

"ESC w" = the "within words" check box

and

"ESC f" = the "favorite" selection trigger [cf. the letter "f"]

"ESC p" = the "pick applications" selection trigger [cf. the letter "p"]

"ESC r" = the "recent" selection trigger [cf. the letter "r"]

"ESC s" = the "search lines" selection trigger [cf. the letter "s"]

and

"?" = the RIGHT "i" Tips button = help in superFinderHack

If you want to bring up the LapTopHack ESC form in either of the SilkScreen Find or the superFinderHack forms, then use

"ESC l" [lower case "ell"] = the "LapTopHack ESC" form

In addition, if you need contextual help, then use

"ESC h" = tap on the "LapTopHack" label = help in SilkScreen "Find"

"ESC h" = tap on the RIGHT "i" Tips button = help in superFinderHack

This is the onboard summary of the commands you can use in the SilkScreen Find form, this is the onboard summary of the commands you can use in the superFinderHack form.

Once you initiate a search process, a secondary Find form comes up which is also called Find [surprise, surprise].

Find2

In order to avoid confusion, I will refer to this form as Find2.

In Find2, there are no enabled text fields so that LapTopHack has plain vanilla "ESCless" commands

"s" = the "Stop" button [when visible]

"c" = the "Cancel" button [when visible]

"f" = the "Find More" button [when visible]

In addition, if you look at the right side of the form, you will see the numbers 1 through 9 which indicate the row number in the table which is in the center of the Find2 form.

"1" ... "9" = select and activate the corresponding row

This is the onboard summary of the commands you can use in the Find2 form,

The Help [Tips] Forms

This is a Help [Tips] form

Palm Tips

and this what LapTopHack does to it

LapTopHack Tips

You can determine if a given form has an associated Help [or Tips] form with it if you can see a little "i" in the upper right corner of the title of the form as shown in this picture.

About LapTopHack

Tapping on "i" invokes the Help form which usually contains useful information regarding that particular form.

If your current form has a Help form, then you can invoke it by "ESC i".

The LapTopHackorial Help forms are fully searchable and fully copyable.

NOTE. Please enter lower cased letters into the search text field since some UPPER CASED letters are used as commands. For the same reason, you cannot enter [type] the punctuation marks "," [comma] and "?" into the search field directly. If you must use upper cased letters or these punctuation marks, then you should use Palm's built-in virtual KeyBoard to do the job. You should view this as a feature as opposed to a bug. It provides utmost simplicity and avoids using "ESC" commands.

NOTE. The search mechanism is case-blind and wraps around.

Once you are inside your Help form, these are the commands help you to read and navigate the text in it.

This is the onboard summary of the commands you can use in the Help ["Tips"] form.

The KeyBoard SilkScreen button

You can activate the KeyBoard SilkScreen button and bring up Palm's built-in virtual KeyBoard by "ESC k" or by "ESC K".

KeyBoard

While the virtual KeyBoard is active, LapTopHack automatically enables Graffiti input which for some mysterious reason was disabled by the elders at Palm in OSs prior to 4.0.

NOTE. For 5 bucks, Graffiti&Kbd also enables Graffiti access in the virtual KeyBoard.

In addition, LapTopHack also fixes a Palm OS bug related to the virtual KeyBoard. Namely, without LapTopHack, if you have some text selection not near the top of your screen prior to bringing up the virtual KeyBoard, then, once the KeyBoard is active, you have to scroll to find your text selection. With LapTopHack, the text selection always shows up at the top of your screen.

peditHack, [p]editPad, magiPad, and scriptPad

peditHack, [p]editPad, magiPad, and scriptPad make some of pedit's favorite features available in other applications.



peditHack separator [p]editPad separator magiPad

Homework. Suppose that you are in the above pictured magiPad, and you suddenly realize that you misspelled the word "little". Assuming that you are not allowed to touch the display screen of your Palm, what is the best way to fix the typo? Just to make the problem more precise, let us assume that the cursor is at the very beginning of the text. The most original solutions will win a prize. In addition, I will include them into this manual. Of course, I will be the judge of it.

NOTE. scriptPad is essentially the same as magiPad, except that it is designated to store your pScripts. Hence, everything what applies to magiPad, also applies to scriptPad, and I will not discuss scriptPad separately.

Timeout: WARNING

This is very powerful stuff which even works under some extraordinary circumstances such as viewing and/or editing DOC files. However, depending on your currently running DOC viewer and/or editor application, the results may be unpredictable.

A major caveat is that in DOC editors and/or viewers, the current text field holds only a portion of the entire DOC file.

Another major caveat is that some DOC files are compressed.

Therefore, please first of all learn about DOC files, and then experiment with your own DOC viewer and/or editor applications before you start to edit your Ph.D. dissertation using LapTopHack's peditHack, [p]editPad, magiPad, and scriptPad with one of those animals.

End of Timeout

NOTE. In case you wonder why I keep referring to [p]editPad instead of just peditPad, I tell you that the word peditPad conflicts with peditHack since both start with the letter "p" so that my escape key mechanism would fail miserably. On the other hand, if I used editPad only, then I would betray my pedit whose underlying philosophy was reconstructed in [p]editPad.

There is a very simple structure and philosophy behind all these confusing looking pedit, and [p]edit, and magi buttons, pad, and screens, so let me start with the basic rules of the game.

QUESTION. How the heck can I figure it out where I am going to end up after leaving magiPad?

ANSWER. If the bottom right "Q" button's label says "Q2T", then you will be going back to the text you are currently editing in your original starting form. On the other hand, if the label says "Q2E", then you will be returning to [p]editPad.

NOTE. As opposed to peditHack and [p]editPad, magiPad and scriptPad are always available whether or not you have a currently focused and editable text field in your current form. However, if you don't have such a field, then, of course, the Qopy'n'Paste feature of magiPad and scriptPad is disabled.

NOTE. Typing "M" [upper case "M"] or buttonSliding the "M" button in peditHack brings up a shrunken version of magiPad whose position can be controlled by tapping outside magiPad on your Palm's screen.

Please use

"?" = "h" = "H" = help in "peditHack"

and

"ESC ?" = "ESC h" = "ESC H" = help in [p]editPad, magiPad, and scriptPad

In particular,

"." = tap outside peditHack = double tap in the Graffiti area = quit [cancel, exit] peditHack

"ESC ." = ".C" [Cancel] button = quit [cancel, exit] without saving [p]editPad

"ESC D" = "D" [Done] button = save and quit magiPad and scriptPad

"ESC q" with no text selection in magiPad and scriptPad = "Q" button with no text selection in magiPad and scriptPad = save and quit magiPad and scriptPad

In addition,

"page down" = "down arrow" = move peditHack's buttonPanel downward

"page up" = "up arrow" = move peditHack's buttonPanel upward

"!" = the font rotator in peditHack

"r" = "R" = the "R" button = the ruler [underline] rotator in peditHack

and

"ESC page down" = "ESC down arrow" = page down in [p]editPad, magiPad, and scriptPad

"ESC page up" = "ESC up arrow" = page up in [p]editPad, magiPad, and scriptPad

"ESC right arrow" = line down in [p]editPad, magiPad, and scriptPad

"ESC left arrow" = line up in [p]editPad, magiPad, and scriptPad

"ESC !" = the "!F" button = the font setter list in [p]editPad, magiPad, and scriptPad

"ESC 1" = the buttonSlided "!F" button = the sticky font setter list in [p]editPad

"ESC r" = "ESC R" = the "R" button = the ruler [underline] rotator in [p]editPad, magiPad, and scriptPad

NOTE. The fonts are always sticky in magiPad and scriptPad, even if your Palm crashes. On the other hand, [p]editPad's fonts remain sticky only between two consecutive reboots [crashes and resets] of your Palm [as long as you set them via the sticky font setter list]. At the expense of a slight performance degradation and code size increase, I could easily make [p]editPad's font stickiness survive even reboots but I will only do this if at least a few of you request this feature from me.

NOTE. if you checked the no dotted rulers in text fields box in LapTopHack's preferences [see here], then the peditorial ruler [underline] rotator becomes non-functional.

The "I" and "]" buttons in [p]editPad, magiPad, and scriptPad allows you to access two of the most popular peditorial features which are called automatic indentation and block shifting.

NOTE. I decided against implementing automatic indentation directly in your currently edited text. Had I allowed it, your system would have significantly slowed down since, after every character input, LapTopHack would have to verify whether or not automatic indentation is active which would put a strain on your Palm's processor.

"ESC I" = the "I" button = pops up the automatic indentation list in [p]editPad, magiPad, and scriptPad

"ESC ]" = the "]" button = pops up the block shifter list in [p]editPad, magiPad, and scriptPad

Once you popped up the automatic indentation and block shifter lists, you no longer need help from me since it is pretty much obvious what they accomplish.

The only not exactly obvious concepts are the concepts of automatic indentation and block shifting themselves. If you are familiar with them, then I don't think you need any additional explanation. Otherwise, I recommend that you read pedit's manual about the peditorial automatic indentation commands here, and about the peditorial and block shifting commands here, here, and here.

Just for the record, block shifting abides by the following rules.

NOTE. You can navigate in these lists and activate items in them using the keyboard as well.

"ESC ^" = the "^" button = switch magiPad and scriptPad

NOTE. You can rename magiPad and scriptPad only via pedit and pToolSet but you can check the full name of the current pad by tapping the title of your pad.

The double duty "S" button [see buttonSlides] allows you to either select or Select'n'Copy text.

"s" = the "S" button = pop up the selector list in peditHack

"S" = the buttonSlided "S" button = pop up the Select'n'Copy list in peditHack

and

"ESC s" = the "S" button = pop up the selector list in [p]editPad, magiPad, and scriptPad

"ESC S" = the buttonSlided "S" button = pop up the Select'n'Copy list in [p]editPad, magiPad, and scriptPad

Once you popped up the selector list or the Select'n'Copy list, you no longer need help from me since it is pretty much obvious what they accomplish.

The only not exactly obvious concepts are the concepts of lines, paragraphs, and that of smart selection. In LapTopHack's peditorial text selector and cursor jumper, I established the following rules.

NOTE. If you are in between two words, then a word selection job will result in selecting both words. A similar rule applies to sentences.

Homework. How should the selection process proceed if you are in between two lines?

Hint. You can read between lines but...

NOTE. If current text field in your current form is non-editable, then the Select'n'Copy list gets popped up instead of the selector list even if you meant to activate the latter.

NOTE. Since these are popup lists, you can use of the full power of LapTopHack to navigate in them [see here].

The triple duty "J" button [see buttonSlides] allows you to perform various jumper and marker operations.

"j" = the "J" button = pop up the jumper list in peditHack

"J" = the buttonSlided "J" button = jump to the cursor, that is, make the current cursor location visible on the screen [in peditHack]

and

"ESC j" = the "J" button = pop up the jumper list in [p]editPad, magiPad, and scriptPad

"ESC J" = the buttonSlided "J" button = pop up the marker list in [p]editPad, magiPad, and scriptPad

Once you popped up the jumper list or the marker list, you no longer need help from me since it is pretty much obvious what they accomplish.

The only not exactly obvious concept is the concept of markers. If you are familiar with them, then I don't think you need any additional explanation. Otherwise, I recommend that you read about the peditorial marker commands here and here, and then follow the links.

NOTE. If the text of your memo changes, then the marker is deselected automatically, and, therefore, it becomes history.

NOTE. Since these are popup lists, you can use of the full power of LapTopHack to navigate in them [see here].

Now let us discuss the find/replace ["F"] and find-more or find-again ["G"] commands.

NOTE. If the selected text is at the very end of your text field, then the search starts from the beginning. If you want to use this feature, then make sure that it is indeed at the very end of your text field, and there are absolutely no invisible characters after your text selection.

NOTE. As I mentioned it several times already, please keep in mind that in DOC editors and/or viewers, the current text field holds only a portion of the entire DOC file so that your search process may not be exhaustive.

The "L" [lower case], "T" [Title Case], and "K" [KAPITAL, THAT IS, CAPITAL CASE] buttons are the caseChangers, and they work precisely the same way as their peditorial cousins. Please see here, here, and here, respectively, for a detailed description of their action.

As a time saving shortcut, if there is no text selected, then "T" upper-cases the first letter of the word surrounding the current cursor.

NOTE. As I have already pointed out here, the process of Title Casing is subject to heated debate, and not even the greatest minds amongst us seem to agree what constitutes a properly title-cased expression. For instance, how should select'n'Search be title-cased?

The buttonSlided "T" deTitle Cases the current selection. This is the opposite of title-casing.

As another time saving shortcut, if there is no text selected, then the buttonSlided "T" lower-cases the first letter of the word surrounding the current cursor.

A quite fancy feature of [p]editPad, magiPad, and scriptPad is the triple duty "A" button [see buttonSlides] whose purpose becomes immediately obvious once you try it. In short, it allows you to insert an arbitrary ASCII character into your text at the current cursor location [or replace the current text selection].

The same ASCII character insertion process is implemented directly in your currently edited text via peditHack by direct key invocation.

"a" = pop up an ASCII list in peditHack

"A" = pop up an ASCII list which shows the decimal values of the characters in peditHack

"b" = pop up an ASCII list which shows both decimal and hexadecimal values of the characters in peditHack

and

"ESC a" = the "A" button = pop up an ASCII list in [p]editPad, magiPad, and scriptPad

"ESC A" = pop up an ASCII list which shows the decimal values of the characters in [p]editPad, magiPad, and scriptPad

"ESC b" = the buttonSlided "A" button = pop up an ASCII list which shows both decimal and hexadecimal values of the characters in [p]editPad, magiPad, and scriptPad

NOTE. Since the ASCII list is a popup list, you can use of the full power of LapTopHack to navigate in it [see here].

NOTE. I tested the "A" button only with the regular Palm ASCII chart. If you use an exotic [to me] Palm OS such as Chinese, French, Hungarian, Japanese, or Russian, then please let me know if you encountered any problem. I am pretty sure that there may be some so called "high ASCII" characters which are not going to be insertable via the "A" button.

This is the onboard summary of the commands you can use in peditHack, [p]editPad, magiPad, and scriptPad.

In particular, please pay attention to the find commands via the "F" and "G" buttons, and to [p]editPad's "D" [Done], and magiPad's and scriptPad's Qopy'n'Paste ["Q"] buttons.

Popup Lists

These are two examples of Popup Lists shown in their popped up state.



Popup List separator Category List

The first one is a popped up font list, whereas the second one is a popped up category list. It is irrelevant what information they contain. They both share the same property that they go away once you made your selection in them by tapping on one of the labels displayed in the list.

Most Popup Lists are popped up [triggered] by popup triggers or by selector triggers. Just to add to the confusion, some Popup Lists may be popped up by an entirely different mechanism. The activation method of Popup Lists is limited only by the software developers' [sometimes twisted] imagination.

EXAMPLE. Just to demonstrate my own twisted imagination, I built into LapTopHack two Popup Lists which are activated by a non-traditional method. Can you find them?

Of course, you may pop all Popup Lists manually by tapping on the appropriate trigger. If you want to use LapTopHack to do the job for you, then please use the LapTopHack ESC form [see here for the details].

As discussed here, you can use "ESC 2" or "ESC 3" to popup default popup triggers and default selector triggers, respectively. In the general case, use our ctrl activator.

There are two modes called EscMode off and EscMode on while you are in a Popup List. The "EscMode off" is the default start up value. You switch between the two modes by entering "," [comma]. As long as you do not enter ",", you stay in the same mode, that is, the modes are sticky.

NOTE. There are popup lists which have no text associated with them whether or not you actually see text in them. If so, then you are forced to be in the "EscMode on" mode which is announced to you by a short "EscMode must be on..." message. For instance, the popup list in the upper right corner of the "Preferences" application is such a list. Another example is given by the "Buttons" panel in the same application where all the popup lists are such.

Some of the commands work in both modes whereas some are mode specific.

Commands in both "EscMode off" and "EscMode on"

Commands with "EscMode off"

Commands with "EscMode on"

This is the onboard summary of the commands you can use in popped up Popup Lists.

pScripting pedit, pToolSet, and LapTopHack (for soon-to-be "experts")

As of April 12, 2001, I started a new project which [eventually] will make most pedit operations fully pScriptable. As of May 21, 2001, LapTopHack joined the club and it started to share pedit's pScriptability. In case you have not fully understood the implications of this historic event, and since I am so proud of this, let me say it clear and loud...

As of May 21, 2001, all your Palm handheld devices became pScriptable.

NOTE. Please forgive me that for the time being I refer you here which is located in pedit's manual instead of giving a full blown description of all the delicate and intricate details. Since pScripting pedit or LapTopHack are essentially the same, this even seems natural to do. I will try to point out carefully all differences between the two.

So please check out this, or download pedit's manual here and search for the word "pScript" [case sensitively].

NOTE. Several LapTopHack operations are pScript friendly. To find out which ones are pScript friendly, please search for the words "[a pScript friendly operation]" in this manual.

WARNING. pScripting LapTopHack, pToolSet, and pedit is highly addictive.

NOTE. Please join the peditors Forum, and please post your ingenious scripts here.

The single key invocation mechanism for pScripts

NOTE. This feature is in the process of fine tuning so that the details and the mechanism may change as I get more input from out LapTopHackers and peditors. Stay tuned...

You can tie pScripts to external keyboard keys so that they can be performed by pressing one single key on your external keyboard. More precisely, three keys need to be pressed simultaneously. The details are as follows.

This is a LapTopHack feature which cannot run categoryBoundScripts of the form "{categoryName::pScriptName::pScriptText}" since the latter is a strictly pedit feature. However, it does handle pScripts of the form "{pScriptName::pScriptText}" and "{GLOBAL_script::pScriptName::pScriptText}".

If you have one of those foldable-portable keyboards made by Think Outside, Inc., and marketed under various names such as Palm Portable KeyBoard [PPK], Stowaway, and Targus, then you can use the Ctrl-Fn keys in conjunction with any of the number keys 0 [zero] through 9 [nine] to activate pScripts whose pScriptNameIdentifiers are "0Script" through "9Script", respectively.

NOTE. I implemented this feature despite my unwillingness to commit LapTopHack to supporting special hardware at the expense of those who were left out. Time will tell if I played fair by supporting a subset of all LapTopHackers only.

EXAMPLE. Both

{7Script::/&mess [@@Cogito, ergo LapTopHack...@@,,]}
and
{7ScriptCogito::/&mess [@@Cogito, ergo LapTopHack...@@,,]}

can be invoked with Ctrl-Fn 7.

NOTE. Please do both yourself and me a favor, and please always install and use the latest PPK keyboard driver. I had dozens of complaints against LapTopHack which turned out to be PPK bugs, and which were fixed in subsequent releases of the driver.

QUESTION. Why only PPK and not GoType!?

ANSWER. I studied both keyboard drivers very carefully, and came to the conclusion that although both perform small miracles, and although both suffer from design defects, and although the GoType! driver seems to be more stable and causes less problems for the average user, nevertheless the PPK driver is way more sophisticated then the GoType! driver. In addition, it seems that the PPK people are more committed to updating and improving the driver than the GoType! people are. Let me point out that these are my personal conclusions, and although they seem to be supported by many LapTopHackers and peditors, I may be entirely wrong. As soon as I obtain proof that my judgment is incorrect, I will happily restate the facts here. In the meantime, maybe you could approach the GoType! people and request that they upgrade their driver.

The Customizable pScriptButtons

Up-to 9,990 customizable pScriptButtons are available each of which can run a pScript of your choice.

This is a LapTopHack [and pToolSet] feature which cannot run categoryBoundScripts of the form "{categoryName::pScriptName::pScriptText}" since the latter is a strictly pedit feature. However, it does handle pScripts of the form "{pScriptName::pScriptText}" and "{GLOBAL_script::pScriptName::pScriptText}".

Use "ESC b" [lower case "b"] to activate the custom pScripts form [or tap the btnsCust button or just type "b" if you are in the LapTopHack ESC form]. Here "ESC" refers to your LapTopHack ESC key.

In addition, you can also jump directly to any page "x" of the custom pScripts form by entering "ESC B x B". Just make sure that "x" is positive and it is no greater than custBtnPageTotal [see below]. There is no need to use leading zeros if "x" is less than 100.

You need to prepare your custom pScripts form prior to using your customized buttons by taking the following steps.

LapTopHack provides a full range of navigational commands in the custom pScripts form. They are all listed here. In particular, you can use Roman numerals to jump fast in each direction from page to page. In the standard PaulComputing tradition, lower case Roman numerals take you forward, whereas upper cased ones take you backward.

In addition,

"1 ... 9 0" = play the pScript assigned to the button "1 ... 9 0"

"." = the ".Cancel" button

"p" = "P" = "s" = "S" = the "scriptPad" button = go to scriptPad

"?" = "h" = "H" = onboard help

EXAMPLE. Put custBtn.001.5 before a pScript in scriptPad. Then "ESC b 5" will play your pScript.

EXAMPLE. Put custBtnPageTotal=2 and custBtn.002.8 before a pScript in scriptPad. Then "ESC b rightArrow 8" will play your pScript.

EXAMPLE. Put custBtnPageTotal=900 and custBtn.100.6 before a pScript in scriptPad. Then "ESC b c leftArrow 6" will play your pScript.

NOTE. pScriptorial pAliases allow you to fully customize your pScriptButtons.

This is the onboard summary of the commands you can use in the customizable pScriptButtons.

The pScriptRunner mini-applications

The pScriptRunner package consists of 59 mini-application to be run on your Palm. Each of them is made to run [trigger, play] a different pScript.

Each pScriptRunner can be assigned to all four hard buttons, to the "CALC" SilkScreen button of your Palm Powered handheld, or to any other button/stroke/tap which can launch applications, and even to the modem and cradle buttons.

In addition, each pScriptRunner can also be used by numerous HackMaster extensions, OS extensions, and other utilities which allow invoking applications in a variety of ways such as button presses, stroking, tapping, and so forth. Such utilities include AppHack, PopFavorites, pToolSet, TealLaunch, just to name a few.

Get the pScriptRunner package from here, including full documentation.

pDateTool

Using this feature is almost self-evident. It allows you to create new "Date Items" [aka "Appointments"] for Palm's built-in "DateBook" and its clone applications on-the-fly, without leaving your current application.

To activate this feature, use the pDateTool button in the LapTopHack ESC form or enter "ESC D" [upper case "D"], which brings up the following pDateTool.

pDateTool

Please see pToolSet's manual for the details.

In order to keep it 100% compatible with the "Dat Book" application, your "Date Item" description is limited to 255 characters, whereas the companion note can be up to 4096 characters.

As a bonus, you can use

"ESC &" = the "&" button the pScript entry dialog

QUESTION. How come that when I am in certain applications such as "DateBk3", "DateBk4", "DateBk5", and even in the built-in "Date Book", I can't get to pDateTool?

ANSWER. Because once the Datebook database is open for writing by another application, you can't open it it up one more time in order to add your new "Date Item".

HINT. If you are in the LapTopHack ESC form, then the "a DBs" button on panel #1 gives you information about the currently open Palm databases.

This and this are the onboard summaries of the commands you can use in the pDateTool.

pToDoTool

Using this feature is almost self-evident. It allows you to create new "To Do Items" for Palm's built-in "To Do List" and its clone applications on-the-fly, without leaving your current application.

To activate this feature, use the ToDoTool button in the LapTopHack ESC form or enter "ESC T" [upper case "T"], which brings up the following pToDoTool.

pToDoTool separator pToDoTool

I should just point out that there is full keyboard support in this form, and that you can edit both text fields right inside the dialog, although you may want to use [p]editPad for a more sophisticated peditorial experience.

Please see pToolSet's manual for the details.

In addition, in the "Due Date" popup list, the this minus one day and this plus one day options decrement and increment the currently chosen day, respectively. I am sure that I don't need to remind you that typing the first letters in this popup list selects the corresponding item, and typing ENTER picks the selected item, whereas you can cancel the operation by typing "." [period]

In order to keep it 100% compatible with the "To Do List" application, your "To Do Item" description is limited to 255 characters, whereas the companion note can be up to 4096 characters.

As a bonus, you can use

"ESC &" = the "/&" button the pScript entry dialog

QUESTION. How come that when I am in certain applications such as "DateBk3", "DateBk4", "DateBk5", "ToDo PLUS", and even in the built-in "To Do List", I can't get to pToDoTool?

ANSWER. Because once the ToDo database is open for writing by another application, you can't open it it up one more time in order to add your new "To Do Item".

HINT. If you are in the LapTopHack ESC form, then the "a DBs" button on panel #1 gives you information about the currently open Palm databases.

This is the onboard summary of the commands you can use in the pToDoTool.

Summary of the effects of normalMode, advancedMode, and expertMode

If you are in normalMode, then you can expect that all LapTopHack operations work according to the manual, and you will have plenty of visual and audio feedback of the actions you took, and notification of the errors you may have committed. I strongly recommend that you stay in the normalMode until you become so proficient that not only you have joined the peditors Forum but you have become an active member of it as well.

If you are in advancedMode, then you can expect that most of the visual and audio feedback and many of the error messages are going to be suppressed. In addition, if you are in the LapTopHack ESC form, then you will not see the form itself on the screen although it still works exactly the same way as if it were drawn.

If you are in expertMode, then you get everything what you get with the advancedMode, and, in addition, most of the LapTopHack specific forms will not be drawn on your Palm's screen even though they remain 100% functional. As a result of this, almost all your operations will significantly accelerate. Even I, the LapTopHack guy and peditor-in-Chief, am amazed how incredibly powerful my Palms become once I switch into high gear and turn expertMode on.

NOTE. The following forms will not get drawn if you are in expertMode: the LapTopHack ESC form, the controlActivator form, the Day Selector form, the Year Selector form, the dateMaster form, the peditHack form [but not the [p]editPad, magiPad, and scriptPad forms], and the pScript activator form.

NOTE. Before you switch to expertMode, do dry runs in advancedMode.

EXAMPLE. If you are in the expertMode, then "ESC o det;" will activate the "Details" button in your current from and it does it without any intermediate visual distraction whatsoever [try it]. Of course, here I assume that no other control label starts with the letters "det" in your current form.

NOTE. Please remember that you can get out of most invisible forms by entering "." [period]. If this did not work, then try "c" [Cancel].

Undocumented Features

I keep changing these features until I find the ones which you, fellow LapTopHackers, like the most. Please be patient and please don't put me on your I-am-so-sick-of-him list yet.

NOTE. As of version 6.25, many of the formerly undocumented features became part of a new LapTopHack feature which is listed under Graffiti area hot spots.

A little practice combined with perseverance will teach you the correct way to do the taps and pen-strokes below. If you use FitalyStamp, then please read this.

The expression Graffiti pad below refers to the large rectangle used for Graffiti input.

The expression Graffiti area below refers to everything what you see under the screen, including the four SilkScreen buttons on the two sides and the large rectangle used for Graffiti input.

NOTE. Although I tried very hard to prevent it, it could happen that you can use one of the above undocumented features to activate some of the LapTopHack functions in a recursive or nested fashion which is not exactly smart to do since your Palm has a limited amount RAM and processing power. If you discover such a "feature" please do not push your Palm to its limits. Instead, please let me know about it.

NOTE. Isn't this section an oxymoron?

Frequently Asked Questions

QUESTION. Is LapTopHack OS 5+ compatible?

ANSWER. No. Use pToolSet instead.

QUESTION. LapTopHack started to nag me prematurely. What can I do to stop it?

ANSWER. It's in the manual.

QUESTION. If I bring up Palm's menu-command bar [in OS 3.5 or newer] while using some dialogs such as the built-in virtual KeyBoard, then I have difficulties in using the icons in the menu-command bar since LapTopHack's help files keep popping up. How can I alleviate the problem?

ANSWER. With a little practice you can learn to tap the icons just in their bottom portion which will prevent the activation of LapTopHack's help files.

QUESTION. Why can't I use LapTopHack to navigate in regular [non-popup] lists?

ANSWER. Action in regular [non-popup] lists is controlled by the application which owns the list. Although most developers did not care to fine tune their applications, and they chose to provide minimal if any support for navigating their lists, some more sophisticated guys such as Bozidar Benc, Vincent Lee [see, e.g., TealLaunch], and Roger Lawrence [see, e.g., OnBoardC], and even some less sophisticated ones such as yours truly [see, e.g., superFinderHack], spent great efforts to provide high quality navigational tools in their lists. If LapTopHack included support for such lists, then it could lead to spectacular conflicts and even crashes when the lists were already handled by the applications themselves, and this would lead to punishing to good guys at the expense of the lazy ones.

QUESTION. Why can't I use LapTopHack to navigate in tables?

ANSWER. Ditto.

QUESTION. Why can't I use LapTopHack to drop down all menus in all applications? Why can't I use LapTopHack to navigate inside the dropped down menus?

ANSWER. As of version 5.62, you can. See here for the details.

QUESTION. Can I use LapTopHack as an application launcher without using taps?

ANSWER. Yes. Either make a pScript using the "&launch [...]" function or get pToolSet and assign the pLaunchTool module to, say, the CALC SilkScreen button. Then you can call up PopFavorites via "ESC c" or "ESC C" and once you opened it up, you can use your keyboard or Graffiti to navigate in the pLaunchTool list.

NOTE. If you are a die-hard LapTopHacker, then you could follow Jennifer's advice.

QUESTION. What is the fastest way to open up Preference panels?

ANSWER. If your panel is listed on the LapTopHack ESC form, then you don't need to ask this question. If you want to get to your TRGPro's "Volume" Preference panel, then use "ESC t" or "ESC T". Otherwise, use

QUESTION. Why can't I use peditHack in certain empty text fields which have a blinking cursor in it so that they are focused?

ANSWER. Some applications do not assign a text buffer to fields until it has some characters in it. Such an example is [actually, used to be] Palm's built-in "Address" application as opposed to "MemoPad" which does have a text buffer whether or not the text field, that is, the current memo is empty. If such is the case, the just start up the text field by entering at least one character in it which creates a text buffer. Now you can enter peditHack and use all its features.

QUESTION. Why can't I use LapTopHack to copy text from the screen in applications such as Quotes? I can select the text and but I can't invoke peditHack or [p]editPad on it.

ANSWER. peditHack and [p]editPad work only when the currently focused text field is editable. In Quotes, for instance, it is not the case. However, there is a simple cure. Namely, use the Qopy Txt button and related commands in the LapTopHack ESC form.

QUESTION. Why can't I activate LapTopHack's magiPad and scriptPad via LapTopHack when I am in pedit?

ANSWER. Both LapTopHack and pedit open up the magiPad and scriptPad databases in a read'n'write mode. However, a database can't be opened simultaneously more than once in such a mode.

QUESTION. Why is LapTopHack so huge?

ANSWER. LapTopHack is one of the most feature rich HackMaster extensions. In fact, as far as I know, it is the most feature packed HackMaster extension. In addition, some of LapTopHack's bulk consists of the onboard help files.

QUESTION. Why is LapTopHack so incredibly underpriced?

ANSWER. I made a mistake. The truth is that in some [very rare] copies of LapTopHack there was a missing zero. Well, this time, you will get away with it and I won't charge you extra.

Disclaimer and Legal Statement

I guess, this is the right place to declare that you should install LapTopHack at your own risk since neither I nor PaulComputing are responsible for any damage and/or loss of data caused by LapTopHack. Please keep in mind the three most important actions one may, could, can, should, and must do on at least a daily basis, are as follows: HotSync, HotSync, and HotSync.

FOR LEGAL REASONS, LET ME STATE IT VERY EXPLICITLY AND VERY CLEARLY THAT THE USE OF LAPTOPHACK CONSTITUTES A CONTRACT BETWEEN THE USER AND ME, AND THAT THIS SOFTWARE IS PROVIDED AS IS, WITH NO WARRANTY OF MERCHANTABILITY AND/OR FITNESS FOR ANY PARTICULAR TASK. THE USER ASSUMES ALL RESPONSIBILITY FOR ITS USE.

Please note that if you try out LapTopHack, then it will leave a permanent marker of no more than ten bytes inside your system's memory. You will not be able to get this memory back unless you register LapTopHack. This is necessary so that LapTopHack can end its free trial period even if you delete it and later reinstall it again.

Acknowledgement

Special thanks to Roger Lawrence and to IndiVideo for their OnBoardC and RsrcEdit which are two of the handiest and greatest programming tools available for the Palm platform.

I am also grateful to C. E. Steuart Dewar of Pimlico Software who is the author of the DateBk series of Palm applications both for helping me in eliminating some conflicts between LapTopHack and DateBk3, and for advising and educating me on several Palm programming related issues.

I thank Aaron Ardiri, Bozidar Benc [he died after a car accident in March, 2004], Ben Combee, and Ken Krugler who gave frequent and excellent advice on optimizing certain LapTopHack functions.

Paolo Amoroso has done an incredible job by creating and moderating the peditors Forum, and by being our peditorial and LapTopHackorial community's head of state. Mio caro Paolo, molte grazie.

There is a growing list enthusiastic peditors and peditors-to-be who became equally enthusiastic LapTopHackers, and who helped me a great deal with developing and beta testing LapTopHack.

I wish I could remember the names of all of them. Alas, I am sure I missed some in this list: Anibal [TonyA] Acero, Tamim Azizadah, Bam [BamB] Bamir, Jonathan Bekenstein, Daniel Bergman, Dirk [DirkB] Bernhardt, Paul [PaulB] Birkett, Russell Birner, Jennifer A. Brinn, Magnus [MagnusB] Byggnevi, Victor Caston, Nicholas R. Chitwood, Larry Clapp, Tammy Cravit, Christopher Dunn, Christopher Edwards, David [DavidE] Ellis, Daniel Erickson, Lonnon Foster, Robert Gasparotto, Harvey Gatlin, Dave [DaveG] Golden, Monika Göhmann, Henry Grady, Urs Hunkler [aka urs hunkler], John [JohnH] Harms, Rick Haws, Brad Hayashi, Mark Hazell, Steven Hill, Rick Hopkins, Dan [DanH] Hughes, Carl Jacobsen, Jesse Jacobsen, Bob [BobJ] Jenner, Bruce [BruceK] Keener, John [JohnK] Kershaw, Shawn Koons, Henk-Jan Korpel, Jeffrey A. Krzysztow, Sebastian Laiblin, Terry C. Lansdown, John [JohnL] Lilley, W. Bruce [BruceM] Maguire II, Mark [MarkM] A. Mandel, Bill McIntyre, Josh Morris, Chad Nelson, Claire Nurcombe, Robert Olian, Tim [TimP] Parris, John D. [Dan] Patterson, Teri [TeriP] Pittman, Markus Pluss, Norbert Preining, Kent Primrose, Jeff [JeffR] Resener, Rick [RickR] Reynolds, Margret Rosenberg, Joachim [JoachimS] Sanders, Kim Schaffer, Norman Scroggins, James Seigel, Yaakov [YaakovS] Shlafman, Dirk [DirkS] Spackman, Bill [BillS] Starr, Pete Staugaitis, Bill Thater, Jim [JimT] Tucker, Roy C. van der Woning, Howard Veit, Mark A. Vincent, Frederick W. Wagner, John [JohnW] A. Walsh, Richard Ward, Timm Wilkin, Michael L. Wilson, Peter [PeterW] Wirstrom, and Winston [WinstonY] U. Yao.

I am [countably] infinitely grateful to them.

Tidbits

I created LapTopHack with CodeWarrior, Constructor, GoType!, PPK, OnBoardC, and RsrcEdit, and with peditPro.

With the exception of this manual, initially all the work was performed onboard of my Palms until the project became too humongous around version 2.15b for OnBoardC to handle it, and then I moved it to CodeWarrior. Even after I switched to CodeWarrior, I used RsrcEdit to maintain most of LapTopHack's resources although I used Constructor as well.

WARNING. As the most recent POSE reveals, RsrcEdit 1.017b is full of memory leaks [bugs] which may cause serious problems. Hence, it is prudent to use utmost care when playing with RsrcEdit.

I am saddened that OnBoardC and RsrcEdit are no longer supported. As time goes by, they are becoming less and less compatible with newer OSs.

I started the coding on my Palm Vx. Then I bought a TRGPro with a 128Mb CompactFlash card, and I moved the project to it so that I would not have to risk losing my regular data on my Palm Vx which is my everyday Palm. I also used my PalmPilot and my Palm III with an 8Mb TRG board to test LapTopHack.

Version 1.02 was mostly written while travelling the land of the Kiwis and OZ in July and August of 2000.

My Palms crashed hundreds of times [combined] until I got it right [ouch]. Most of the crashes occurred because of the HackMaster bug.

The GoType! defect

WARNING. If you ever wrote a Hackmaster extension or if you ever use GoType! and Hackmaster extensions, then there is a good chance that you are just a few steps away from an easily reproducible fatal crash.

I randomly tested a number of HackMaster extensions, including HackMaster extensions written by some of the best Palm developers such as Bozidar Benc and Alan Pinstein, and many of them crashed when GoType! was used.

NOTE. I used Palm OS 3.5 but I was told that this is reproducible under most if not all Palm OSs.

STEP 1. Install the GoType! driver [version 1.6 is the latest], and use GoType!'s preferences to set, say, the "F1" FKey to do a "Cancel" job, "F2" to "OK" , and "F3" to "Details".

STEP 2. Invoke any HackMaster extension with has a form [window, dialog] associated with it.

EXAMPLES. Keyboard, PopUp Calculator, PopUp Favorites, PopUp Note, PopUp Time, RPN PopUp Calculator, and MagicText's MultiClip, MultiMenu, and ClipboardStack plug-ins [the latter three were reported to me by Jesse Jacobsen].

STEP 3. Use your GoType! keyboard to do this experiment. Hit the three FKeys which have been set as described in STEP 1.

There is an excellent chance that you will have a "Fatal Exception" crash.

STEP 4. Now use GoType!'s preferences to set, say, the "F1" FKey to do a "Undo", "F2" to "Cut" , "F3" to "Copy", and "F4" to "Paste".

STEP 5. Now, still in GoType!'s preferences, press any of the FKeys you set in STEP 4. You will see "u", "x", "c", and "p" appearing in the small text field next to the "Test:" label.

EXPLANATION FOR THE CRASH AND FOR THE EXTRA CHARACTER.

Of course, I have no access to GoType!'s source code but I think I was able to "reverse engineer" the sequence of events which lead to the crash. Of course, the explanation below may be total nonsense. I welcome LandWare to provide the "actual" explanation.

It appears to me that when you hit "F2" associated with "OK", then the GoType! driver looks for a button with label "OK". If it finds one, then it issues a ctlSelectEvent with the appropriate event.data.ctlSelect.controlID. If it doesn't find such a button then it may or may not look for a button with label "Done" [I have not checked this]. If it doesn't find such buttons then is still issues a ctlSelectEvent with a more or less random event.data.ctlSelect.controlID [mostly 0xFFFF]. This is what causes the "Fatal Exception" crash.

The explanation of the "F1" [Cancel] and "F3" [Details] crashes is analogous.

The explanation for the appearance of the extra characters is very easy. Apparently, GoType! fails to verify whether there is a menu item called "Undo", "Cut", and so forth. Instead, it simply puts a vchrCommand and "u" [or "x", etc.] in the' EventQueue via EvtEnqueueKey ().

SOLUTION OF THE PROBLEM. Of course, the simplest solution would be if LandWare fixed GoType!'s driver.

TEMPORARY SOLUTION OF THE CRASH. You, the HackMaster extension developer, should create three dummy buttons in all of your forms, say,

#define Dummy4GoTypeOKBtn       100 [label "OK"]
#define Dummy4GoTypeDetailsBtn  101 [label "Details"]
#define Dummy4GoTypeCancelBtn   102 [label "Cancel"]

which are ENABLED but NOT USABLE. I recommend to set them to be 1 pixel wide and tall and to put them to position (0.0). Then instruct your HackMaster extension to process all ctlSelectEvent's with the above event.data.ctlSelect.controlID's with something like

...
case ctlSelectEvent:
 switch (event.data.ctlSelect.controlID)
  {
  case Dummy4GoTypeOKBtn:
  case Dummy4GoTypeDetailsBtn:
  case Dummy4GoTypeCancelBtn:
   handled = true;
   break;

 ...

  default:
   break;
  }
 break;
...

This fixes the problem.

TEMPORARY SOLUTION OF THE PROBLEM WITH THE EXTRA CHARACTERS. I have no current solution. If you don't use menus in your HackMaster extension, then eliminating MenuHandleEvent (0, &event, &error) may decrease the problem, but it will not eliminate it.

Closure

Finally, please feel free to inform me of your wish list, suggestions, recommendations, [gentle] criticism, and so forth.


Sincerely,
Paul Nevai
peditor-in-Chief

E-mail: 2me@PaulComputing.com
Web:    http://www.paulcomputing.com

More from PaulComputing

I wrote dbCleanerUpper, EventAnalyzerHack, grepHack, LapTopHack, listNavigatorHack, menuNavigatorHack, the pedit family of text editors, printHack, pToolSet, Sporty [TBA], superFinderHack, and TimeSetter which are available from PaulComputing and eSellerate.

Development History

July 19, 2000. Released version 1.00 of LapTopHack to members of Paolo Amoroso's peditors Forum.

August 18, 2000. Released version 1.02 of LapTopHack to members of the peditors Forum.

August 21, 2000. Released version 1.03 of LapTopHack.

November 15, 2000. Released version 2.04b of LapTopHack.

November 16, 2000. Fixed PPK 1.2 conflict [shifted ESC characters]. Thanks, Michael, for the bug report.

November 16, 2000. Fixed DiddleBug 2.15 conflict [incorrectly displayed label]. Thanks, Harvey and Jesse, for the bug report.

November 16, 2000. Fixed LispMe conflict [wrong comparison of labels]. Thanks, Norbert, for the bug report.

November 16, 2000. Fixed OS 3.3 grouped push button problem. Thanks, Paolo, for the bug report.

November 16, 2000. released version 2.05b of LapTopHack.

November 17, 2000. More commands in the Date Selector.

November 17, 2000. PPK users rejoice: [optionally] a TAB is a TAB.

November 18, 2000. Added the objectRotator ["ESC r"]. Thanks, JoachimS, for the idea.

November 20, 2000. PPK and Graffiti users rejoice: [optionally] a TAB is always a TAB. Thanks, Norbert, for making me add this option.

November 20, 2000. More commands in the Date Selector.

November 20, 2000. Fixed a bug when verifying passwords in OS 3.5+. Thanks, Pete, for the bug report.

November 21, 2000. Fixed a list related bug appearing in OS 3.1. Thanks to all who reported it.

November 21, 2000. More commands in the Date Selector ["m"].

November 24, 2000. Added RAM info to Date'n'Time & Voltage'n'Battery. Thanks, Mark, for the idea.

November 24, 2000. Use ":" for help in the controlActivator. Thanks, Mark, for the conflict report.

November 25, 2000. Fixed a DateBk3 conflict.

November 26, 2000. Extended the limit of text-copy to the ClipBoard to 32K max.

November 26, 2000. Extended the limit of text-cut to the ClipBoard to 32K max [read the rules in the "Tips" of the "LapTopHack Preferences" form].

November 26, 2000. Fixed a bug related to DateBk4's 2nd week-view [pushbutton #1104]. Thanks, Mark, for the bug report.

November 28, 2000. More features in dateMaster [enter "m" in the Date Selector].

November 28, 2000. The Date Selector's dateMaster is complete.

November 30, 2000. LapTopHack and IntelligentFind are incompatible, and, therefore, LapTopHack is disabled in IntelligentFind.

December 1, 2000. our ctrl activator can be moved up and down [type ":" for help].

December 2, 2000. Eliminated a conflict of interest with Swipe!. Thanks, Mark, for the conflict report.

December 2, 2000. Eliminated a crash resulting from a major GoType! 1.6 driver defect. Thanks, Jennifer, Jesse, and Monika, for the crash report.

December 3, 2000. More features in the "Date'n'Time & Voltage'n'Battery" form.

December 4, 2000. "ESC z" = calendar [view it and then add picked date to the ClipBoard].

December 6, 2000. Manage the sound level via "ESC".

December 7, 2000. The "ESC" character can be any character of the extended 256 character ASCII code with the exception of "a-z", "A-Z", and "." [I am not sure that this will work on all international Palms]. Thanks, Mark, for the suggestion.

December 7, 2000. Added the "U" button in the LapTopHack ESC form. Thanks, Howard, Jerry, and Jennifer for the suggestion.

December 8, 2000. Major upgrade in the LapTopHack ESC form.

December 8, 2000. Fixed an incompatibility between LapTopHack and Secret! Thanks, Chris, for the conflict report.

December 8, 2000. Fixed an an incompatibility between LapTopHack and the built-in virtual KeyBoard so that now one can also enter "ESC" via the virtual KeyBoard. Thanks, Jeff, for your bug report.

December 8, 2000. PPK users rejoice: the minor TAB conflict has been fixed. Thanks, Brad, for the bug report.

December 8, 2000. Added support for TRGPro's "Volume" preference panel.

December 9, 2000. The debut of peditHack, [p]editPad, and magiPad via the LapTopHack ESC form.

December 9, 2000 - January 25, 2001. LapTopHack reaches maturity with hundreds of new features, improvements, and bug fixes.

January 27, 2001. LapTopHack allows to get rid of those annoying rulers in text fields.

February 2, 2001. peditorial date'n'time stamp.

February 2, 2001. TealMaster support is here.

March 9, 2001. Fixed a [p]editPad bug when returning from a blank [p]editPad via the "D" button. Thanks, Rick, for the incredibly accurate bug report.

April 24, 2001. More code sharing between LapTopHack and pedit.

April 27, 2001. During the LapTopHack's trial period, LapTopHack's peditorial functions can be used even if pedit is unregistered [but it needs to be installed].

April 28, 2001. Palm's built-in This editing operation cannot be undone dialog can be suppressed [see LapTopHack Preferences].

May 1, 2001. The tableRotator is here. Thanks, Keith, for proposing this feature.

May 2, 2001. The expertMode is here.

May 2, 2001. FindHack 3.5 compatibility is here.

May 2, 2001. The advancedMode is here.

May 11, 2001. A minor fix in checking the presence of magiPad.

May 18, 2001. The LapTopHack "ESC" character became pedit pScript friendly.

May 20, 2001. pScripter is coming soon. Try "ESC &" for a tease [must have either peditPro or pedit32 or pedit installed].

May 21, 2001. LapTopHack's pScripting is here.

May 28, 2001. Several LapTopHack operations are pScript friendly. To find out which ones are pScript friendly, please search for the words "[a pScript friendly operation]" in this manual.

May 28, 2001. X-Master support is here.

May 31, 2001. pScripting keeps evolving.

June 1, 2001. Fixed a few Palm OS 4.0 performance related issues.

June 2, 2001. LapTopHack's pScripting is becoming richer and richer.

June 3, 2001. Fixed a small obscure bug which could nevertheless cause an [innocent] crash if triggered at the right time and at the right place. Thanks, Norb, for finding the bug.

June 6, 2001. The debut of scriptPad via LapTopHack.

June 9, 2001. Following advice by members of the peditors Forum, LapTopHack and pedit version numbers get synchronized [see here for up-to-date information on software by PaulComputing].

June 14, 2001. Fixed a pMacro bug introduced in LapTopHack 5.54 which caused a crash. Thanks, Lonnie, for reporting the bug.

June 15, 2001. Fixed an obscure bug which allowed the objectRotator to be called recursively resulting in a crash in view of an overflown stack. This bug was reported by an anonymous criminal using an anonymous temporary e-mailer via hushmail.com [is this legal anyway?]. The bug report was professionally prepared so that it took me just a few minutes to fix it. When I contacted him to help him to go straight and wanted his name to be mentioned here, he failed to respond. If the guy reads this, please contact me again.

July 2, 2001. The advancedMode and expertMode have been revamped. Formerly, they were known as "expertMode" and "silentMode", respectively.

July 5, 2001. Added a summary of the effects of normalMode, advancedMode, and expertMode, and added a large number of actions depending on these modes.

July 7, 2001. The advancedMode and expertMode get automagically canceled in the LapTopHack ESC form after a few seconds of inactivity. Thanks, JohnH, for this idea.

July 7, 2001. Code optimization. I hope to have succeeded in speeding up the general LapTopHack operations by at least 1%.

July 7, 2001. The pScriptorial globalMacroMode can be turned on prior to invoking the pScript entry dialog by entering "ESC Z" [see here]. Thanks, JohnH, for the idea.

July 10, 2001. The alphabetic and numeric keyboard SilkScreen buttons can be deactivated [see here for more details].

Friday, July 13, 2001. Another day another milestone [kmstone]. Start of a new LapTopHack era. Menu navigation via Graffiti and/or keyboard input.

July 14, 2001. The Menu Activation Mechanism is here.

July 17, 2001. New commands in the Menu Activation Mechanism.

July 17, 2001. The much improved coordinator is here.

July 18, 2001. Fine tuning the coordinator [the entire Graffiti area is usable]. Thanks, Daniel, for the suggestion.

July 18, 2001. Fine tuning the Menu Activation Mechanism ["." = .Cancel]. Thanks, JohnH, Lee, and the others, for the suggestion.

July 20, 2001. pPointer [the Palm mouse] is here. Thanks, Robert, for this great idea.

July 23, 2001. Many more pPointer commands have been added.

July 24, 2001. More pPointer commands have been added.

July 26, 2001. More pPointer commands have been added.

July 26, 2001. Even more pPointer commands have been added. Thanks, Robert for the suggestions.

July 27, 2001. More pPointer commands again. and some old ones have been optimized and made more user friendly. Thanks, Jonathan and Robert for the suggestions.

July 27, 2001. Adjusted the code corresponding to the wPower [Power] button in the LapTopHack ESC form so that even PPK users would be able to use it. I insist that this was a case of fighting off a PPK feature and not a LapTopHack bug. Thanks, Bruce, Itz, JohnH, and Rick, for you dedicated bug hunt.

July 28, 2001. A couple of pPointer bug fixes and tried to improve the look of pPointer itself. Is the new 3 pixel wide frame preferred or should I convert back to the 2 pixel wide frame?

July 29, 2001. pPointer in the Graffiti area is here. Wow! Any cosmetic glitches? Any bugs?

July 30, 2001. pointerSquare has been renamed pPointer. Thanks, Josh, for the suggestion.

August 1, 2001. The quick pScript activation is here [see pedit's manual or here for the details, look for the words "high-ASCII"]. Thanks, JohnH, for your insistence that I do a feature like this.

August 1, 2001. Optimized the code handling Popup Lists. Thanks, Ben and Ken, for the idea.

August 3, 2001. The second generation LapTopHack ESC form with panels [pages] is here.

August 4, 2001. The Brightness and Contrast Adjustment patches are here. They work with the HandSpring variety of the Palm handhelds too.

August 4, 2001. LapTopHack has been made more HandSpring friendly. Search for the word "HandSpring" in this manual.

August 5, 2001. Up-to 9,990 customizable pScriptButtons are here. Thanks to many pScriptors for the idea.

August 7, 2001. The pScriptRunner mini-applications are here. Thanks, LarryC and StevenH, for the idea.

August 7, 2001. Fixed a small bug which showed some odd characters at the end of each help file. Thanks, BenC, for explaining to me how to eliminate those erroneous characters.

August 7, 2001. The ".C" [Cancel] button in magiPad and scriptPad has been renamed "D" [Done] which reflects better what it does. The action associated with the button remains unchanged, that is, it saves the contents of the corresponding file, and then returns to its starting form. Thanks, JohnH and Steven, for the suggestion.

August 9, 2001. Added panel number information to the title of the LapTopHack ESC form. Thanks, Daniel, for the suggestion.

August 10, 2001. If you have one of those foldable-portable keyboards made by Think Outside, Inc, and marketed under various names such as Palm Portable KeyBoard [PPK], Stowaway, and Targus, then you can use the Ctrl-Fn key in conjunction with any of the number keys 0 [zero] through 9 [nine] to activate pScripts. Please, see here for the details. Thanks, JohnH, for the suggestion and for your never relenting insistence that I do this.

August 11, 2001. The phone number lookup command via the LapTopHack ESC form is here [the "getPhone" button or "ESC g"]. Thanks, Bruce and Norman, for the idea.

August 16, 2001. The "To Do List" application companion ToDo command via the LapTopHack ESC form is here ["ESC t"]. Thanks, Norman, for the idea.

August 17, 2001. The third generation LapTopHack ESC form with menus is here. Use "ESC J" [upper case "J"] or the "Menu" SilkScreen button to access it.

August 18, 2001. Fine tuning the Menu Activation Mechanism ["o" = "O" = ENTER = pick selected command], and fixing an inherent Palm OS bug. Onboard menu help is here too.

August 19, 2001. More fine tuning of the Menu Activation Mechanism. In fact, I rewrote it from ground up making it 100% foolproof [only a fool would think that anything can be made foolproof]. Thanks, JohnH, for your sharp eyes and quick fingers.

August 19, 2001. Switched the role of left/up and right/down arrows in Popup Lists. Thanks, Bozidar and JohnH, for the suggestion.

August 20, 2001. Optimized and "robustized" the code in both our ctrl activator and the objectRotator. Please test them and tell me if they work OK in tricky situations such as applications with tables [DateBook, DateBK3, DateBK4], push buttons, check boxes, and so forth.

NOTE. You may have to rewrite some of your pScripts since now control activation is performed via the pen-event-queue instead of the regular event-queue, and Palm events are processed in the order of event-queue, key-event-queue, and pen-event-queue. You may need to chain some of your pScripts. Please let me know via the peditors Forum if you have any major pScriptorial problems with the new control activation mechanism.

August 20, 2001. Optimized the code of the pPointer. Please test it and tell me if it works OK.

August 20, 2001. Fixed the "DataMgr.c, Line:7437, DmSet: DmWriteCheck failed" bug which happened when using the ToDo command with some text selected in certain applications. Thanks, Henry and LarryC, for the bug reports.

August 20, 2001. Fixed a minor objectRotator bug. Toda raba, YaakovS, for your great eyes.

August 21, 2001. The "cheat-sheet" is here in the Menu Activation Mechanism.

August 22, 2001. In order to avoid potential conflict with other HackMaster extensions and applications, the LapTopHackorial role of the PPK "Ctrl" keys has been replaced by the "Ctrl-Fn" keys. Please, see here for the details.

August 22, 2001. KeyBoard Shortcuts are here.

August 23, 2001. The individual object rotators and the individual default controls are here.

August 24, 2001. Fixed a small [check box] bug and further optimized the code in our ctrl activator

August 24, 2001. The fieldRotator is here.

August 25, 2001. The objectRotator, our ctrl activator, and all the individual object rotators went through a major redesign restoring their pScript friendliness.

August 25, 2001. Fixed a memory management issue [read: a crash under certain circumstances] in the "getPhone" command [see here]. Thanks DirkS and JohnH, for the excellent bug report.

August 26, 2001. More user friendly "?" command in the LapTopHack ESC form [see here for details]. Thanks, Kent and Paolo, for the suggestion.

August 26, 2001. Greatly improved the handling of expertMode and globalMacroMode. These enchancements are under the skin and are invisible to the user. Of course, I may have introduced some bugs. Please, please, please, test it.

August 26, 2001. The LapTopHack ESC form menus are becoming more sophisticated. Is your favorite application coming up when choosing the appropriate command in the "Appl" menu? If not, please let me know [only applications with good customer support qualify].

August 27, 2001 The fully searchable and fully copyable Help [Tips] Forms are here. Thanks, Jeffrey and YaakovS for the suggestion.

August 28, 2001. Yet another fine tuning of the objectRotator, our ctrl activator, and their sister rotators and activators. I think that now they finally imitate a stylus tap in such a way that the Palm OS can't differentiate between an actual tap and the one created by LapTopHack while keeping the order of event generation in the correct order. Please test them for pScript friendliness and for compatibility with DateBK3, DateBK4, and HanDBase.

August 28, 2001. The objectRotator speed control is here.

August 30, 2001. Yet another fine [de]tuning of the objectRotator, our ctrl activator, and their sister rotators and activators, since the August 28, 2001, fix did not work for Steven and Todd.

August 30, 2001. Improved Visor compatibility [the Visor is prone to memory management related problems]. Thanks DirkS, for your relentless pursuit of imperfection.

August 30, 2001. Fixed the "can't power off with menus on" bug which was found on Palms with OS 4.0. Thanks, LarryC, PeterW, and Urs, for your bug reports.

August 31, 2001. By popular demand, the Menu Activation Mechanism is using now the more natural "1 ... 9 0 a ... f" style indexing of menu items instead of the more programmer oriented "0 1 ... 9 a ... f" notation.

August 31, 2001. The The Category Editor has also gone for the "1 ... 9 0 a ... f" style indexing.

August 31, 2001. The Popup Lists have also gone for the "1 ... 9 0 a b t f" style indexing ["c" and "d" are used as roman numerals].

September 1, 2001. The customizable pScriptButtons have also gone for the "1 ... 9 0" style indexing. Thanks, Henk, for having such good eyes.

September 2, 2001. One can invoke now the pScript entry dialog directly from the New To Do Item Vitals form. Thanks, Kelvin, for the idea.

September 3, 2001. Thanks to a suggestion of Bozidar Benc, LapTopHack's memory management has been greatly improved. More precisely, I am in the process of implementing Bozidar's suggestion which involves well over 100 changes in LapTopHack. Most of these are routine. However, some are quite delicate. Hence, please report me immediately if and when you find a situation when you think that I may have messed up something in the process.

September 5, 2001. "ESC V" tells you the version number and the compilation time'n'date of LapTopHack [see here for details]. Thanks, JohnH, for the suggestion.

September 7, 2001. You must read this about POSE.

September 8, 2001 Here is JohnH's advice on using Fitaly with LapTopHack and pedit.

September 9, 2001. Yet another fine up-tuning of the objectRotator, our ctrl activator, and their sister rotators and activators. Now LapTopHack is back to the August 28, 2001, version since it turned out that the detuning on August 30, 2001, was unnecessary. Although the August 28, 2001, version did not seem to work for Steven and Todd, it turned out subsequently that it was not LapTopHack's fault. Both Steven and Todd have agreed to go back to the August 28, 2001, version which I think is the most elegant and most compatible anyway.

September 15, 2001. The pScript helper "i" and "k" commands are here (to assist you to use the "/&menu [...]" command).

September 16, 2001. On September 7, 2001, I told you that you must read this about POSE. Well, I introduced a number of changes in order to fix this problem. Therefore, I ask you to read this again.

September 18, 2001. Fixed the garbled display problem of the ";Delete" button in the The Category Editor. Thanks, Norb, for the bug report.

October 2, 2001. Direct jump via "ESC B x B" [0 < x < 1000] to any page of the customizable pScriptButtons is here. Thanks, JohnH, for the suggestion.

October 2, 2001. The TAB key works again with the PPK [aka Stowaway or Targus] foldable style keyboards. Thanks, JohnL and JohnH, for the bug report.

October 14, 2001. printHack support is here via "ESC P" [upper case "P"].

November 23, 2001. If you use pScripting, then install and open up the latest pedit [with version at least 5.93] before you use any pScripts in LapTopHack. Opening up pedit will create a few necessary "secret" records which are necessary for correct usage of pScripts. Otherwise, your pScripts will fail to perform.

November 26, 2001. Fixed a bug in the customizable pScriptButtons which was introduced in LapTopHack 5.93. Thanks, YaakovS and Urs, for the bug report.

November 28, 2001. The xAppend button is here in the LapTopHack ESC form. It appends the currently selected text to the ClipBoard. Thanks, DanP, JohnH, and Urs, for the suggestion.

November 28, 2001. Fixed an oversight which caused the xAppend button in the LapTopHack ESC form to crash on Palms with OSs under 3.3. Thanks, DirkS, for the bug report.

December 11, 2001. Released version 5.991 of LapTopHack.

December 15, 2001. superFinderHack support is here.

December 15, 2001. Fixed a bug which prevented keyboard control of the The Help [Tips] Forms when using the pPointer, or the general objectRotator, or any of the individual object rotators. Thanks, JimT, for the bug report.

December 20, 2001. Handling Popup Lists has been rewritten from the ground up with a brand new user interface and design philosophy. Thanks, JoachimS and PeterW, for the idea.

December 21, 2001. Improved superFinderHack support is here. Thanks, PeterW, for the suggestions.

December 21, 2001. The Menu Activation Mechanism has been rewritten from the ground up with a brand new user interface and design philosophy.

December 23, 2001. Fixed a Palm OS bug in the Popup Lists. For the technically inclined, if LstSetDrawFunction() is used to draw the text, then LstGetSelectionText() crashes instead of returning NULL. I duly reported the bug to Palm. Thanks, JimT, for the bug report.

December 23, 2001. Released version 5.995 of LapTopHack.

December 26, 2001. Enabled pScripting in the HackMaster extension manager applications since I could not come up with a rational fact-based explanation why it should be forbidden.

December 26, 2001. The "^" command in the LapTopHack ESC form is here [see hint #9 here].

December 31, 2001. The new Popup Lists are now advancedMode, expertMode and globalMacroMode friendly. Thanks, JohnH, for the idea.

January 1, 2002. Improved the superFinderHack interface.

January 7, 2002. Improved the superFinderHack interface one more time. Thanks, Urs, for the suggestion.

January 10, 2002. The new "ESC C" command brings up the menu command bar in the LapTopHack ESC form [see here].

January 14, 2002. Internal code optimization.

January 15, 2002. Both LapTopHack and listNavigatorHack work with McPhling 3.02+. Please see here for essential information. Thanks, RichardW and TonyA, for the report on the McPhling bug.

January 15, 2002. German LapTopHackers rejoice: cosmetic changes in the SilkScreen FIND dialogs. Thanks, DirkB, for the suggestion.

January 19, 2002. More accurate recording of compilation time'n'date.

January 24, 2002. Moved the entire LapTopHack project from Palm SDK 3.5 to SDK 4.0.

January 26, 2002. The updated pScriptRunner mini-applications are here. Thanks, BobJ, for the idea.

January 29, 2002. Fixed a bug in conjunction with changing fonts in an empty [p]editPad [see the "!F" button]. Thanks, RoyW, for the bug report.

February 26, 2002. The Date'n'Time & Voltage'n'Battery dialog now updates the battery related information every 15 seconds. In addition, typing "p" or "P" provides feedback if your Palm is plugged in [is recharging]. Thanks, BillS, for the suggestion.

March 7, 2002. Fixed a bug when the "ESC TAB" combination failed to work as expected. Thanks, ClaireN, for helping me to discover this bug.

March 26, 2002. Started working on HandEra compatibility issues. As a first step, I fixed a display problem in certain dialogs. Thanks, DanH, for the bug report.

March 27, 2002. Continued working on HandEra compatibility issues. Dialogs are properly scaled now and Popup Lists are navigable.

March 29, 2002. Continued working on HandEra compatibility issues. Menus are properly navigable. Please let me know of any problem you may be aware of.

March 29, 2002. dateMaster always starts up with the currently selected date in the Date Selector form. This should make dateMaster a practical date calculator. Thanks, BruceK and BruceM, for the idea.

April 12, 2002. Fixed a bug in LapTopHack's peditorial text selector and cursor jumper when the first line of the text was blank [see here]. Thanks, DavidE, for the bug report.

April 14, 2002. Fixed a memory leak in the coordinator. Mea culpa.

April 16, 2002. Terminated support for FindHack. I recommend switching to superFinderHack [see here].

April 16, 2002. Eliminated special keyboard support for [good old but slightly obsolete] HackMaster.

April 16, 2002. Eliminated special keyboard support for the built-in virtual keyboard.

April 16, 2002. Eliminated the Palm Portable KeyBoard [aka PPK or Stowaway or Targus] TAB fix since the latest versions of the keyboard drivers have already addressed this issue. Please read the manual and help files which came with your keyboard.

April 18, 2002. The entire objectRotator mechanism has been revamped to make it politically, that is, geometrically correct [you may need to rewrite some of your pScripts].

April 20, 2002. LapTopHack 6.00 requires a new password. In addition, the pre-6.00 preferences are lost when installing 6.00.

April 20, 2002. LapTopHack 6.00 is here.

April 22, 2002. Updated some of the help files.

April 25, 2002. Code optimization in the calendar related functions.

May 1, 2002. Moved the "<=" button to the right side of the LapTopHack ESC form. Thanks, JohnK, for the suggestion.

May 8, 2002. pToolSet and LapTopHack started to communicate. LapTopHack substitutes some of its own routines by pToolSet modules as long as the Palm OS is at least 3.1 and the appropriate modules are installed [these modules do not need to be turned on via pToolOn].

May 8, 2002. Released version 6.03 of all pedits, LapTopHack, and pToolSet.

May 16, 2002. pToolSet's pTextTool can be called up by LapTopHack via "ESC T" [upper case "T"] as long as the Palm OS is at least 3.1 and pTextTool is installed [it does not need to be turned on via pToolOn]. This is documented here.

NOTE.If pEditTool is called up from LapTopHack and your pToolSet is unregistered, then you will get occasional reminders to register it.

May 26, 2002. LapTopHack can sort text now via pToolSet's pTextTool.

May 28, 2002. The week selection in dateMaster now takes into consideration the choice as first day of week in the Formats Preference panel of the "Prefs" [Preferences] application. Thanks, JoachimS, for the suggestion.

June 8, 2002. The The Help [Tips] Forms can use pToolSet's pTextTool by entering "T" [upper case "T"].

June 15, 2002. Converted the LapTopHack project to the Palm OS 5 SDK.

June 24, 2002. Fixed a display bug in the Menu Activation Mechanism which happened when there were hidden menu items in a pulled-down [dropped-down] menu. Thanks, WinstonY, for the bug report.

June 25, 2002. Fixed a numerous minor bugs in the Menu Activation Mechanism which happened when there were hidden menu items in a pulled-down [dropped-down] menu.

June 27, 2002. Both LapTopHack and menuNavigatorHack with version 6.18 transparently fix pToolSet's "ADGW-Y-bug".

June 27, 2002. Smart contexting of found strings has been improved in the Help [Tips] Forms.

July 1, 2002. As of version 6.20, pToolSet itself fixes the "ADGW-Y-bug". You must use version 6.20+ of LapTopHack and menuNavigatorHack with pToolSet 6.20+. Otherwise, pToolSet will fail to function properly.

July 9, 2002. The undocumented features have been rewritten, optimized, enriched, improved, and newly documented.

July 10, 2002. pToolSet's pMasterTool can be called up by LapTopHack via "ESC S" [upper case "S"] or by a tap in the middle third of the right side of the Graffiti area area as long as the Palm OS is at least 3.5, pMasterTool is installed, and it was turned on via pToolOn. This is documented here and here.

July 15, 2002. Customizable Graffiti area hot spots are here, and, thereby, many of the undocumented features became an integral part of LapTopHack. Thanks, YaakovS, for the idea.

September 7, 2002. The quick pScript activation in [p]editPad, magiPad, and scriptPad is here [see pedit's manual or here for the details, look for the words "high-ASCII"]. Thanks, JohnH, for the idea.

September 20, 2002. The control rotator can inspect the given check box if it is checked or unchecked prior to deciding whether to check it or uncheck it [see the new commands "o" and "O" here]. Thanks, RickR, for the idea,

October 8, 2002. Fixed a Palm OS bug related to the built-in virtual keyboard. Thanks, MarkM, for reporting the bug.

October 11, 2002 Fixed a subtle pScriptorial bug. Namely, I accidentally had "#ifndef" instead of "#ifdef" in one place of the source code which affected categoryBound and LapTopHackBound pScripts. I strongly urge everyone using pScripts to install version 6.35+ of pedit and LapTopHack.

October 31, 2002. Fixed a Palm OS bug in the Popup Lists. I have already fixed it on December 23, 2001, but, apparently, the fix was not perfect. I hope that this time the fix will work. For the technically inclined, if LstSetDrawFunction() is used to draw the text, then LstGetSelectionText() crashes instead of returning NULL. I duly reported the bug to Palm in December, 2001, but I have never heard back from them. Examples of such applications include the Palm preference panels and Life Balance. Thanks, JeffR, TeriP, and RickR, for the bug report.

November 13, 2002. Limited a special case of the bug fix of October 31, 2002, to Life Balance since apparently the bug did not cause problems in other applications and hacks, and, therefore, there was no need to interfere with the standard LapTopHack Popup List operations.

November 30, 2002. pToolSet's pEditTool can be called up by LapTopHack via "ESC D" [upper case "D"] as long as the Palm OS is at least 3.1 and pTextTool [sic] is installed [it does not need to be turned on via pToolOn]. This is documented here.

November 30, 2002. The The Help [Tips] Forms can use pToolSet's pEditTool by entering "E" [upper case "E"].

November 30, 2002. Released version 6.44 of LapTopHack and pToolSet. If your LapTopHack uses pToolSet, then install version 6.44+ of both.

December 1, 2002. Fixed a bug in the code associated with the wPower [Power] button in the LapTopHack ESC form.

December 23, 2002. pToolSet's improved pToDoTool in no longer supported via LapTopHack.

December 28, 2002. The case changing procedure was significantly optimized and accelerated in all pedits, LapTopHack, and pToolSet.

December 30, 2002. The previous and next field character commands in Popup Lists have been adjusted to scroll the list up and down, respectively. This corresponds to list behavior in pedit and pToolSet.

January 10, 2003. The objectRotator has a new command called "end" [last] and the "home" command has been reassociated with "first" instead of "default". Hence the command letters are "f" or "F" and "l" or "L", respectively.

January 10, 2003. 5-way navigator button support in the objectRotator for the Tungsten family of Palms. Thanks, DaveG, for the suggestion.

January 12, 2003. Released version 6.48 of all pedits [unchanged], LapTopHack, and pToolSet.

February 27, 2003. 5-way navigator button support in the LapTopHack ESC form for the Tungsten family of Palms. Thanks, DaveG, for the suggestion.

January 19, 2003. Fixed a small memory leak in pScripting which happened when a non-existent pScript was invoked [mea culpa]. I recommend upgrading to version 6.49.

January 19, 2003. Most "date'n'time" stamps are formatted using the preferences set in the "Formats" Preference Panel [see, for instance, Date'n'Time & Voltage'n'Battery and the calendar].

February 2, 2003. pToolSet's pScriptTool is here [documentation will soon follow]. The first incarnation of pScriptTool works in conjunction with LapTopHack [only with Palm OS 3.5 - 4.x] and pedit [only with Palm OS 3.5 or newer, including OS 5+]. pScriptTool, LapTopHack, and pedit must be at least version 6.51. In Palm OS5+, pScriptTool is functional only while pedit is running and it can only activate pedit pScripts. Please note that peditLight is not scriptable.

February 6, 2003. Released version 6.51 of all pedits, LapTopHack, and pToolSet.

February 18, 2003. Started to work on Tungsten W compatibility.

February 19, 2003. Improved keyboard and 5-way navigator button support for the objectRotator.

March 4, 2003. Improved 5-way navigator button support for the Tungsten family of Palm Powered Handhelds. Thanks, DaveG, for your help.

March 9, 2003. Greatly enhanced pPointer.

May 28, 2003. The customizable pScriptButtons have been fine tuned.

July 23, 2003. If pToolSet's pLaunchEngine1 is installed, then the pScriptorial pFunction "/&launch [...]" can launch applications from any directory of all expansion cards [see pedit's and pToolSet's manuals for details, search for the words "pLaunchTool" and "pLaunchEngine1"].

August 5, 2003. In preparation of enabling multiple sets of magiPad [aka pMagiPad] and scriptPad [aka pScriptPad], the structure of their saved preferences have changed, and, therefore, LapTopHack, pedit, and pToolSet all must have at least version 6.65. Otherwise, they may not communicate with each other properly.

August 5, 2003. Released LapTopHack 6.65.

August 6, 2003. Fixed a bug which did not allow to run magiPad and scriptPad properly under certain rare circumstances [WinstonY].

August 6, 2003. LapTopHack no longer requires that your pedit be registered while using magiPad and scriptPad although you will get a short nagger asking you to register it. You still need that a pedit be installed while using certain text editorial functions of LapTopHack since the latter uses some resources and code from pedit.

August 6, 2003. Released LapTopHack 6.65 [previous version number but with new compilation time'n'date].

September 12, 2003. pedit, pToolSet, and LapTopHack open magiPad [pMagiPad] and scriptPad [pScriptPad] on demand only so that, for instance, pToolSet can use magiPad even in pedit. Up to version 6.xx, pedit monopolized magiPad and scriptPad.

November 6, 2003. The buttonSlided "T" in [p]editPad deTitle Cases the current selection. This is the opposite of title-casing.

November 13, 2003. LapTopHack no longer requires that pedit be installed for certain operations to be functional.

November 13, 2003. LapTopHack's pModules are here.

November 23, 2003. Released version 7.14 of all pedits, LapTopHack, and pToolSet.

WARNING. If you use version 7.xx or newer of any of the pedits, LapTopHack, or pToolSet, then all your pedits, LapTopHack, and pToolSet must be 7.xx or newer since they are not compatible with version 6.xx or older.

NOTE. I suggest that you keep a backup copy of your peditDB.pdb which is somewhere in your HotSync backup directory on your desktop computer since you may need it in the highly unlikely event that you decide go back to versions 6.xx of pedit, pToolSet, and LapTopHack.

NOTE. The pedit, LapTopHack, and pToolSet manuals will be updated to version 7.xx shortly.

NOTE. In pedit, LapTopHack, and pToolSet version 7.xx some of the saved preferences have been reset.

December 7, 2003. Fixed a bug in the shrunken version of magiPad/scriptPad when moving them by tapping outside them. Thanks, DavidE and MagnusB, for the bug reports.

December 15, 2003. More pModules are here.

December 16, 2003. The much improved pPointer is here.

December 17, 2003. Released version 7.02 of all pedits, LapTopHack, and pToolSet.

January 1, 2004. Much improved dateMaster.

January 15, 2004. Released version 7.03 of all pedits, LapTopHack, and pToolSet.

February 13, 2004. Released version 7.05 of all pedits, LapTopHack, and pToolSet.

NOTE. Since pedit, LapTopHack, and pToolSet share components, if you use more than one of them, then they all must be updated to version 7.05.

February 22, 2004. Released version 7.06 of all pedits, LapTopHack, and pToolSet.

March 6, 2004. Released version 7.07 of all pedits, LapTopHack, and pToolSet.

NOTE. Instead of "pLaunchTool", the pScriptorial pFunction "/&launch [...]" in pedit 7.06+ and LapTopHack 7.06+ require "pLaunchEngine1" [see pedit's and pToolSet's manuals for details, search for the words "pLaunchTool" and "pLaunchEngine1"].

March 21, 2004. Released version 7.08 of all pedits, LapTopHack, and pToolSet.

March 23, 2004. The LapTopHack and pToolSet compatible pScriptRunner mini-applications are here [BamB and TimP].

April 8, 2004. Fixed a VersaMail, more precisely, an MMWizard conflict [PaulB]. Yet another case when the Palm rules have been violated. This time it was a built-in Palm application which committed it.

April 18, 2004. The entire pScript engine has been optimized and re-written from the ground up with noticeable increase in execution speed. Many rules have been relaxed and some bugs were eliminated.

April 18, 2004. Released version 7.09 of all pedits, LapTopHack, and pToolSet.

April 24, 2004. Released version 7.10 of all pedits, LapTopHack, and pToolSet.

May 15, 2004. The controlRotator has been replaced by the objectRotator. The latter allows activating a wider variety of objects found in dialogs.

May 20, 2004. Released version 7.11 of all pedits, LapTopHack, and pToolSet.

August 13, 2004. LapTopHack and pToolSet share the same pScriptEngines. In particular, {LTH_script::pScriptName::pScriptText} and {PTS_script::pScriptName::pScriptText} have been replaced by the common {GLOBAL_script::pScriptName::pScriptText}.

September 14, 2004. Released version 7.12 of all pedits, LapTopHack, and pToolSet.

September 29, 2004. Released version 7.13 of all pedits, LapTopHack, and pToolSet.

October 9, 2004. Released version 7.14 of all pedits, LapTopHack, and pToolSet.

October 26, 2004. Released version 7.15 of all pedits, LapTopHack, and pToolSet.

December 23, 2004. Released version 7.16 of all pedits, LapTopHack, and pToolSet.

January 16, 2005. Released version 7.17 of all pedits, LapTopHack, and pToolSet.

February 16, 2005. Released version 7.18 of all pedits, LapTopHack, and pToolSet.

March 24, 2005. Improved pRotatorTool [aka objectRotator].

May 1, 2005. Released version 7.19 of all pedits, LapTopHack, and pToolSet.

May 17, 2005. Released version 7.20 of all pedits, LapTopHack, and pToolSet.

August 16, 2005. Released version 8.00 of all pedits, LapTopHack, and pToolSet.

November 5, 2005. Improved dateMaster.

January 15, 2006. Released version 8.01 of LapTopHack.

January 19, 2006. Released version 8.02 of all pedits, LapTopHack, and pToolSet.

April 25, 2006. Released version 8.03 of all pedits, LapTopHack, and pToolSet.

NOTE. If you use pStringVariables in your pScripts, then please pin-reset your Palm after installing 8.03 since the format has changed.

May 18, 2006. Released version 8.04 of all pedits, LapTopHack, and pToolSet.

July 10, 2006. Released version 8.06 of all pedits, LapTopHack, and pToolSet.

August 26, 2006. Released version 8.07 of all pedits, LapTopHack, and pToolSet.

December 25, 2006. pRotatorTool [aka objectRotator] now uses hard-buttons too.

January 15, 2007. Released version 8.08 of all pedits, LapTopHack, and pToolSet.

February 6, 2007. Released version 8.09 of all pedits, LapTopHack, and pToolSet.

April 15, 2007. Released version 8.10 of all pedits, LapTopHack, and pToolSet.

May 30, 2007. Released version 8.11 of all pedits, LapTopHack, and pToolSet.

July 29, 2007. Released version 8.12 of all pedits, LapTopHack, and pToolSet.

December 4, 2007. Released version 8.13 of all pedits, LapTopHack, and pToolSet.

February 26, 2009. Released version 8.14 of all pedits, LapTopHack, and pToolSet.

May 27, 2010. Released version 8.15 of all pedits, LapTopHack, and pToolSet.

NOTE. Since pedit, LapTopHack, and pToolSet share components, if you use more than one of them, then they all must be of the same version, preferably the latest one.

NOTE. As of February 1, 2007, pedit, LapTopHack, and pToolSet no longer provide support in their newly introduced features for obsolete Palm Powered handhelds such as HandEra, Tungsten T3, and so forth. Those features which already have built-in support for such devices will continue to have them, at least for the time being.

NOTE. Upgrading to LapTopHack 8.00+ requires a US$5.00 upgrade fee which you can pay via PayPal (preferred), or eSellerate, or by a check mailed to me. Contact me if you can't afford the upgrade fee.

NOTE. If you registered LapTopHack on or after July 1, 2005, then you are exempt from the upgrade fee.

NOTE. Upgrading a registered LapTopHack 7.xx to LapTopHack 8.xx is free.