The Witcher: Enhanced Edition

The Witcher: Enhanced Edition

119 ratings
Full controller support
By ckbucu and 1 collaborators
This guide makes the game fully playable with a gamepad.
   
Award
Favorite
Favorited
Unfavorite
Introduction
I did not like using external utilities but it is necessary for a gamepad controlled enviroment. Now I am in love with antimicro and my 360 gamepad in my living room pc.
This guide is for a Witcher profile. On a 360 gamepad:
left stick controls movement (you can also walk if you have Flash mod),
right stick behaves as mouse,
dpad left draws steel sword (pressing again switches styles),
dpad right draws silver sword (pressing again switches styles),
dpad down enters non-combat mode,
LT flips OTS camera,
RT show object tooltips,
A+Lstick rolls and leaps,
B casts sign,
X attacks (mouse left click),
Y pauses combat,
BACK quicksaves,
START shows system options (escape),
LB is a modifier for switching styles (A fast, B group, X strong) and Signs (Y for next sign), RB for looting (control+lclick).
Installation
You need a text editor, like notepad, and antimicro, which is available at github[https://github.com/Ryochan7/antimicro/releases]. I prefer the zipped version that has no installer; just unzip and run the program. Save the empty profile. Open notepad, paste the script below and save as "witcher1.amgp". Load this profile on antimicro. Your game now has full controller support!
Antimicro profile (part 1)
<?xml version="1.0" encoding="UTF-8"?>
<gamecontroller configversion="16" appversion="2.12">
<!--The SDL name for a joystick is included for informational purposes only.-->
<sdlname>X360 Controller</sdlname>
<!--The GUID for a joystick is included for informational purposes only.-->
<guid>00000000000000000000000000000000</guid>
<names/>
<sets>
<set index="1">
<stick index="1">
<deadZone>10947</deadZone>
<diagonalRange>62</diagonalRange>
<mode>eight-way</mode>
<stickbutton index="2">
<slots>
<slot>
<code>0x57</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>0x44</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="8">
<slots>
<slot>
<code>0x57</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>0x41</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="5">
<slots>
<slot>
<code>0x53</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="4">
<slots>
<slot>
<code>0x53</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>0x44</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="7">
<slots>
<slot>
<code>0x41</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="6">
<slots>
<slot>
<code>0x53</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>0x41</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="1">
<slots>
<slot>
<code>0x11000021</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>81</code>
<mode>distance</mode>
</slot>
<slot>
<code>0x57</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="3">
<slots>
<slot>
<code>0x44</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
</stick>
<stick index="2">
<deadZone>12482</deadZone>
<stickbutton index="5">
<slots>
<slot>
<code>2</code>
<mode>mousemovement</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="7">
<slots>
<slot>
<code>3</code>
<mode>mousemovement</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="1">
<slots>
<slot>
<code>1</code>
<mode>mousemovement</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="3">
<slots>
<slot>
<code>4</code>
<mode>mousemovement</mode>
</slot>
</slots>
</stickbutton>
</stick>
<dpad index="1">
<dpadbutton index="2">
<slots>
<slot>
<code>0x45</code>
<mode>keyboard</mode>
</slot>
</slots>
</dpadbutton>
<dpadbutton index="8">
<slots>
<slot>
<code>0x51</code>
<mode>keyboard</mode>
</slot>
</slots>
</dpadbutton>
<dpadbutton index="4">
<slots>
<slot>
<code>0x1000001</code>
<mode>keyboard</mode>
</slot>
</slots>
</dpadbutton>
</dpad>
Antimicro profile (part 2)
<trigger index="1">
<triggerbutton index="2">
<slots>
<slot>
<code>0x46</code>
<mode>keyboard</mode>
</slot>
</slots>
</triggerbutton>
</trigger>
<trigger index="2">
<triggerbutton index="2">
<slots>
<slot>
<code>0x1000023</code>
<mode>keyboard</mode>
</slot>
</slots>
</triggerbutton>
</trigger>
<button index="1">
<setselect>2</setselect>
<setselectcondition>while-held</setselectcondition>
</button>
<button index="2">
<slots>
<slot>
<code>3</code>
<mode>mousebutton</mode>
</slot>
</slots>
</button>
<button index="3">
<slots>
<slot>
<code>1</code>
<mode>mousebutton</mode>
</slot>
</slots>
</button>
<button index="4">
<slots>
<slot>
<code>0x20</code>
<mode>keyboard</mode>
</slot>
</slots>
</button>
<button index="5">
<slots>
<slot>
<code>0x1000034</code>
<mode>keyboard</mode>
</slot>
</slots>
</button>
<button index="7">
<slots>
<slot>
<code>0x1000000</code>
<mode>keyboard</mode>
</slot>
</slots>
</button>
<button index="10">
<setselect>3</setselect>
<setselectcondition>while-held</setselectcondition>
</button>
<button index="11">
<slots>
<slot>
<code>0x1000021</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>1</code>
<mode>mousebutton</mode>
</slot>
</slots>
</button>
</set>
<set index="2">
<stick index="1">
<mode>four-way</mode>
<stickbutton index="3">
<slots>
<slot>
<code>0x44</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>250</code>
<mode>pause</mode>
</slot>
<slot>
<code>0x44</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="1">
<slots>
<slot>
<code>0x57</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>250</code>
<mode>pause</mode>
</slot>
<slot>
<code>0x57</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="7">
<slots>
<slot>
<code>0x41</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>250</code>
<mode>pause</mode>
</slot>
<slot>
<code>0x41</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
<stickbutton index="5">
<slots>
<slot>
<code>0x53</code>
<mode>keyboard</mode>
</slot>
<slot>
<code>250</code>
<mode>pause</mode>
</slot>
<slot>
<code>0x53</code>
<mode>keyboard</mode>
</slot>
</slots>
</stickbutton>
</stick>
<button index="1">
<setselect>1</setselect>
<setselectcondition>while-held</setselectcondition>
</button>
</set>
<set index="3">
<button index="1">
<slots>
<slot>
<code>0x58</code>
<mode>keyboard</mode>
</slot>
</slots>
</button>
<button index="2">
<slots>
<slot>
<code>0x43</code>
<mode>keyboard</mode>
</slot>
</slots>
</button>
<button index="3">
<slots>
<slot>
<code>0x5a</code>
<mode>keyboard</mode>
</slot>
</slots>
</button>
<button index="4">
<slots>
<slot>
<code>0x2d</code>
<mode>keyboard</mode>
</slot>
</slots>
</button>
<button index="10">
<setselect>1</setselect>
<setselectcondition>while-held</setselectcondition>
</button>
</set>
</sets>
</gamecontroller>
Switching profiles automatically
You do not want your gamepad to behave like that all the time, so you need to tell antimicro to switch profiles automatically. Go to Options, Settings, Auto Profile. Click "Add" and select an empty profile, like the default. Click "Set as Default for Controller". Now your gamepad will behave normally outside of Witcher.
Click on "Add". In "Profile" specify the one you created before, which in my example is Witcher1.amgp.
"Title" does not matter, "Witcher" is fine. In "Applcation" you must enter the game's exe path, which is something like "C:\Program Files(x86)\Steam\steamapps\common\The Witcher Enhanced Edition Director's Cut/System/witcher.exe".
Now your profile loads automatically when you play.
Conclusion
Steam Big Picture has essentially turned my PC into a very powerfull console while gaming. Until SteamOS overcomes Windows, an external utility is needed to control the operating system with a gamepad. I prefer antimicro because it is open source and continually developed. I have a a generic profile for navigating Windows and one for every game that does not have full controller support.
I chose antimicro but I am always open to suggestions. The guide is not totally noob friendly (no pictures!) because I think it is clear enough but I can provide clarifications if needed.
22 Comments
いちごみるく 17 Aug @ 1:55am 
You are genius
Howler Mayo 22 Feb, 2022 @ 1:59am 
Antimicro has become AntiMicroX. Download at https://github.com/AntiMicroX/antimicrox/
tynian87116 4 Oct, 2020 @ 6:54pm 
If anyone is having issues with anti-micro, try messing around with controller config from steam overlay in-game, that'd allow you to set up the same controller scheme as OP has without anti-micro.
Delrus 25 May, 2020 @ 3:28am 
Got the same issue as @wardlink & @synaxs. Seems to crash when ever i press the A button on the controller. only that button though.
just_Addict 2 Jan, 2020 @ 3:55pm 
silently CTD's using just about anything on the controller... have yet to manage playing with it...
definitely not a match on windows10
bababooey194 26 Jun, 2017 @ 10:53am 
when I unzip this antimicro program where do I install it, in what directory? I'm totaly new to this, an in depth description would be appreciated, thanks.
bababooey194 26 Jun, 2017 @ 10:44am 
Where do I save the witcher1.amgp file. In what directory exactly? Then what do I do?
Synaxs 29 Mar, 2017 @ 8:37am 
Antimicro crashes everytime I press A or LB
ZipZapZop 2 Sep, 2016 @ 2:15pm 
Man that's incredible ! I want to create a profile to control my computer just with my controler now :D
toffeemuffincupcake 7 Jul, 2016 @ 11:42am 
You might be interested to know that Antimicro has moved and can now be found at https://github.com/AntiMicro/antimicro =)