Android 2.3.2 Swype fix for Galaxy S

Swype doesn’t quite work with Gingerbread (Android 2.3.2) on Galaxy S GT-I9000 due to a small, silly bug. If you attempt to select Swype as the input method, it gives the following error:
The Swype package you installed is configured for another device and will operate with limited functionality. Please contact Swype about this issue.

After much searching, I finally found a fix by Rawat, available here. In the device’s build.prop file, you’ll need to change this line:
ro.product.board=GT-I9000
to this line:
ro.product.board=herring
Here’s how to do this:

Prerequisites:

  • rooted device (I used the fix given here)
  • adb (can be installed from here)
  • USB cable

Steps:

These are the steps I followed to make it work (it’s simpler than it looks):

  1. Connect the device to your system via USB. Make sure USB debugging is on
  2. Copy /system/build.prop to your local system (I copied it in /tmp, using adb):
    adb pull /system/build.prop /tmp/
  3. Open the file in a good text editor (use one that doesn’t mess up the newlines, like vim). Search for ro.product.board=GT-I9000 and replace it with ro.product.board=herring
  4. Copy build.prop to sdcard:
    adb push /tmp/rom/build.prop /sdcard/
  5. Now you need to be able to write to the /system partition. Using adb shell, type su. At the # prompt, type:
    mount -o remount,rw /dev/block/stl9 /system
  6. If there weren’t any errors, copy the updated build.prop file to /system:
    dd if=/sdcard/build.prop of=/system/build.prop
  7. Reboot device:
    adb reboot

That should keep you Swyping until they issue an official fix. Hopefully, it is already fixed in Android 2.3.3.