Public Class: ICool
I got in a "jam"...
Categories: Member Blogs
PalmPilot Jr
Categories: Member Blogs
Blogging resumes (and other news)
Categories: Member Blogs
Your code is suboptimal!
Categories: Member Blogs
Please turn to page F%
Categories: Member Blogs
They're more like guidelines...
Categories: Member Blogs
My name
Categories: Member Blogs
Unit tests can be fun!
Categories: Member Blogs
Backups of Subversion repositories
Categories: Member Blogs
A new oxymoron: cybersurf reliability
Categories: Member Blogs
That was easy!
Categories: Member Blogs
Handy equivalents of Outlook Express keyboard shortcuts for Outlook 2007 users
Categories: Member Blogs
Say what?
Categories: Member Blogs
What are my choices for "no"?
Categories: Member Blogs
Do what Technorati tells you to...
Categories: Member Blogs
Do what the interweb tells you to
Categories: Member Blogs
$how me the Shatner!
Categories: Member Blogs
Hacking the Microsoft Natural Ergonomic Keyboard 4000, redux
Earlier I wrote about hacking IntelliType's commands.xml file to enable the use of the "Zoom slider" as a "Scroll slider". Having recently repaved my computer, I found myself installing the latest version of Microsoft IntelliType Pro (version 6.02, a.k.a. 6.02.303.0) and trying to apply the patch I posted earlier:
C:\Program Files\Microsoft IntelliType Pro>patch -p0 patching file `commands.xml'
Hunk #1 FAILED at 1606.
Hunk #2 FAILED at 1694.
Hunk #3 FAILED at 2122.
Hunk #4 FAILED at 2134.
Hunk #5 FAILED at 2152.
Hunk #6 FAILED at 2182.
patch unexpectedly ends in middle of line
Hunk #7 FAILED at 2224.
7 out of 7 hunks FAILED -- saving rejects to commands.xml.rej
B'oh! Err... I mean: D'oh! Ok, time for plan B: Zoom2Scroll.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<!-- Pass-through (identity transform) template -->
<xsl:template match="* | @* | node()">
<xsl:copy>
<xsl:apply-templates select="* | @* | node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="C319">
<C319 Type="6" Activator="ScrollUp" />
</xsl:template>
<xsl:template match="C320">
<C320 Type="6" Activator="ScrollDown" />
</xsl:template>
</xsl:stylesheet>
There. A quick trip to the command-line with my trusty xsl.exe:
C:\Program Files\Microsoft IntelliType Pro>xsl commands.old Zoom2Scroll.xsl commands.xml
C:\Program Files\Microsoft IntelliType Pro>
...and killing the IType.exe process, then re-launching that EXE again... it works! In your face, Larry Wall!
Oh, right. This post wouldn't be complete without the source code to xsl.exe. It's a JScript.NET program:
import System.Xml;
import System.Xml.Schema;
var src : String = System.Environment.GetCommandLineArgs()[1];
var transformer : System.Xml.Xsl.XslTransform = new System.Xml.Xsl.XslTransform ( );
var stylesheet : String = System.Environment.GetCommandLineArgs()[2];
transformer.Load ( stylesheet );
transformer.Transform ( src, System.Environment.GetCommandLineArgs()[3], null );
...which you can compile as follows:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>jsc /nologo xsl.jsn
Thanks go out to the folks at Cute Overload for providing me with a [semi-]random web page to test the [new] scrolling capabilities of my "slider" in Internet Explorer.
C:\Program Files\Microsoft IntelliType Pro>patch -p0 patching file `commands.xml'
Hunk #1 FAILED at 1606.
Hunk #2 FAILED at 1694.
Hunk #3 FAILED at 2122.
Hunk #4 FAILED at 2134.
Hunk #5 FAILED at 2152.
Hunk #6 FAILED at 2182.
patch unexpectedly ends in middle of line
Hunk #7 FAILED at 2224.
7 out of 7 hunks FAILED -- saving rejects to commands.xml.rej
B'oh! Err... I mean: D'oh! Ok, time for plan B: Zoom2Scroll.xsl
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<!-- Pass-through (identity transform) template -->
<xsl:template match="* | @* | node()">
<xsl:copy>
<xsl:apply-templates select="* | @* | node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="C319">
<C319 Type="6" Activator="ScrollUp" />
</xsl:template>
<xsl:template match="C320">
<C320 Type="6" Activator="ScrollDown" />
</xsl:template>
</xsl:stylesheet>
There. A quick trip to the command-line with my trusty xsl.exe:
C:\Program Files\Microsoft IntelliType Pro>xsl commands.old Zoom2Scroll.xsl commands.xml
C:\Program Files\Microsoft IntelliType Pro>
...and killing the IType.exe process, then re-launching that EXE again... it works! In your face, Larry Wall!
Oh, right. This post wouldn't be complete without the source code to xsl.exe. It's a JScript.NET program:
import System.Xml;
import System.Xml.Schema;
var src : String = System.Environment.GetCommandLineArgs()[1];
var transformer : System.Xml.Xsl.XslTransform = new System.Xml.Xsl.XslTransform ( );
var stylesheet : String = System.Environment.GetCommandLineArgs()[2];
transformer.Load ( stylesheet );
transformer.Transform ( src, System.Environment.GetCommandLineArgs()[3], null );
...which you can compile as follows:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>jsc /nologo xsl.jsn
Thanks go out to the folks at Cute Overload for providing me with a [semi-]random web page to test the [new] scrolling capabilities of my "slider" in Internet Explorer.
Categories: Member Blogs
Announcing the web-screen-saver project
Categories: Member Blogs
