Shadowrun by FASA is my new favorite first person shooter. It's cross platform so it connects XBOX 360 and Windows Vista together for the first time.
What's the better platform? That's not the right question. The question should be: "What's the better input device?"
As a PC gamer, it stinks to have to tell you that the XBOX 360 controller is the better input device in Shadowrun. However, this is strictly because the User Interface in Shadowrun (for 360 and Vista) is designed for a controller. The "quick cast" menu is harder to navigate with a keyboard and mouse than with a controller. The UI was designed for the controller.
In order to try to fix this imbalance, I've written scripts for the Logitech G15 keyboard. This will allow me to macro quick cast spells to the "G" keys. In my testing, due to the finger travel required to use the "G" keys, quick cast is still slower with the G15 keyboard than with the XBOX 360 controller. However, it is faster than doing it manually.
Below is a sample profile that you can import into your G15 profiler.
Copy the code below
Paste it into a text editor like Notepad
Name the file "shadowrun.lgp" and save it
Launch the G-series Keyboard Profiler application
Go to "Profile > Import" and select "shadowrun.lgp"
Now Resurrection and Tree of Life can be assigned to a G key. Experiment with the code below to tweak the macros to better work for you. Depending on your screen resolution, you may have to tweak the "dx" and "dy" values. To add new magic, you'll need to tweak the "mousemove" commands and their "dx" and "dy" settings to work for your resolution and for the technology and magic you want.
(Note to controller fanboiz: Even with these macros, quick casting on a KB/M is still slower than with a controller. Finger travel is involved. Only the "G" keys on the G15 keyboard can be mapped. Controllers still have the advantage.)
<?xml version="1.0" encoding="UTF-8"?></p>
<profiles>
<profile guid="{CB57353E-8415-4A71-954A-04E9A405EF72}" name="rapture SR" revision="1.04">
<description>
Shadowrun profile
</description>
<macros>
<macro name="Resurrection" guid="{8B4EC57D-D261-4D28-9D19-9095534744C1}" type="multikey">
<event type="keydown" keyname="F"/>
<event type="delay" delay="40"/>
<event type="keyup" keyname="F"/>
<event type="delay" delay="40"/>
<event type="mousemove" dx="-30" dy="0" coordinate="relative"/>
<event type="delay" delay="140"/>
<event type="mousemove" dx="-30" dy="-30" coordinate="relative"/>
<event type="delay" delay="40"/>
<event type="mousedown" mousebutton="left"/>
<event type="delay" delay="40"/>
<event type="mouseup" mousebutton="left"/>
<event type="delay" delay="40"/>
<event type="mousedown" mousebutton="left"/>
<event type="delay" delay="40"/>f
<event type="mouseup" mousebutton="left"/>
</macro>
<macro name="Tree of Life" guid="{A8FD16EC-1CE9-4FA2-B9DD-39C37336D743}" type="multikey">
<event type="keydown" keyname="F"/>
<event type="delay" delay="40"/>
<event type="keyup" keyname="F"/>
<event type="delay" delay="140"/>
<event type="mousemove" dx="-30" dy="0" coordinate="relative"/>
<event type="delay" delay="40"/>
<event type="mousedown" mousebutton="left"/>
<event type="delay" delay="40"/>
<event type="mouseup" mousebutton="left"/>
<event type="delay" delay="40"/>
<event type="mousedown" mousebutton="left"/>
<event type="delay" delay="40"/>
<event type="mouseup" mousebutton="left"/>
</macro></p>
<p> </macros>
<assignments>
<assignment gamekey="G1" shiftstate="1" macroguid="{99D13200-6316-4E34-A19A-DFAA4A9C70FC}" playmode="oneshot"/>
<assignment gamekey="G7" shiftstate="1" macroguid="{8B4EC57D-D261-4D28-9D19-9095534744C1}" playmode="oneshot"/>
<assignment gamekey="G9" shiftstate="1" macroguid="{A8FD16EC-1CE9-4FA2-B9DD-39C37336D743}" playmode="oneshot"/>
<assignment gamekey="G10" shiftstate="1" macroguid="{99D13200-6316-4E34-A19A-DFAA4A9C70FC}" playmode="oneshot"/>
<assignment gamekey="G12" shiftstate="1" macroguid="{6439ACE8-1D7D-46EB-B952-329A273AC709}" playmode="oneshot"/>
f <assignment gamekey="G6" shiftstate="1" macroguid="{4FBA9CEA-C2C7-4084-9860-8DFEE728A7EB}" playmode="oneshot"/>
</assignments>
<target>
C:Program FilesMicrosoft GamesShadowrunShadowrun.exe
</target>
</profile>
</profiles>
<p>
I just found a really cool applet mod for my G15 gaming keyboard.

If you are wondering, the keyboard totally rocks and is the best keyboard I've even owned. It's well worth the money and I've thought about spending money out of my own pocket to buy one or two more just to use at work. (I did that for the Logitech MX518 gaming mice. I've got mice at home and work).
As you can see in the picture, the G15 comes with an LCD display panel. But, I didn't buy this $100 keyboard for the LCD display. I bought it because of the backlit keys and the 18 G (function) keys (each with 3 different settings). I find them very useful for typing in dark rooms or running macros (quickly adminning video game servers, launching applications, or entering custom text).
But, the LCD display is kind of cool. It can display in-game information from several popular games. I'm using it to display CPU usages, Xfire messages, FRAPs, Winamp, clocks, and so on.
I just installed "SirReal's multipurpose G15 plugin [v2.4]". This applet consolidates several LCD display screens into one.

Here are the features:
Features:
* Customizable display of weekday, date and time.
* Shows number of unread mails as icons (max 5) (if your mail client supports it)
* Displays CPU usage (supports up to four CPU's, both Intel and AMD).
* Shows the memory load.
* Shows inbound (top) and outbound (bottom) network traffic volume
* Shows network inbound/outbound network load over the last ten seconds, and/or total data sent and received.
* World clock with daylight savings support and user selectable time zones
* Speaker switcher, switch between speakers and headphones with a click
* Displays sound volume and speakers muted status
* Stopwatch with lap time (click to start/lap, long-click to reset/stop)
* TeamSpeak2 integration: Shows speakers, player count (channel with large font, server with small font), arriving and leaving players, mic mute status, self speaking status, channel changes. Click to mute/unmute mic. Long-click to show who's in the active channel.
* WinAMP integration: Shows new song name when song changes. Shows remaining play time and average bitrate. Click to re-display current song.
* Foobar2000: supports the WinAMP spam component.
* FRAPS integration: Shows the current FPS.
* SpeedFan integration: Shows user selectable values from SpeedFan (temperatures, fan speeds, voltages).
* iTunes integration: Shows new song name when song changes. Shows remaining play time and average bitrate. Click to re-display current song.