XIM Community

[XIM2] A Quick Description of xEmulate  (Read 10288 times)

Offline Don

  • MVP
  • *
  • Posts: 1189
  • Northern California
    • View Profile
    • Youtube
  • Gamertag: Donskii HD
[XIM2] A Quick Description of xEmulate
« on: 04:25 PM - 12/28/09 »
Hey guys,
I recently discovered xEmulate, and was blown away by its power.  Information on it is somewhat scattered throughout 3 or 4 threads, so I'm just going to quickly describe how it works, and the potential benefits of using it:

Selling Points:
-Ability to bind an unlimited number of keys to a controller button
-Toggling ADS (Aim Down Sight) in FPS Games
-Premade mouse translation configurations for popular titles
-Text mode that allows one to use the keyboard when, for example, editing a profile's Bio/Name/Location
-Support for other types of controllers, rather than M/K (http://code.google.com/p/ximtranslator/w/list)

Basically, xEmulate reads a .cfg file with a list of keybindings, each line defining a meaning for a certain key on the keyboard. 

When you open xEmulate, adjust your settings (deadzone, XY ratio, etc), and click Save Configuration.  Once it's saved, open it in notepad and proceed to edit your bindings and settings.  You cannot edit your bindings with the xEmulate client--this must be done in notepad or a similar program

Download my MW2 toggle sight configuration here: http://www.zshare.net/download/78520337900bb251/

Here is my COD Config (used for COD4/WAW/MW2).  The lines that begin with 'set' refer more to mouse translation, while the ones that begin with 'bind' link keyboard keys to corresponding controller inputs. 

Note: this makes much more sense when interpreting it with xod's xEmulate wiki (http://code.google.com/p/ximtranslator/w/list)


unbindall
set sensitivity1 4500
set sensitivity2 5150
set transexponent1 0.35
set diagonaldampen 0
set deadzone 6700
set yxratio 2.00
set rate 125
set textmode false
set textmoderate 20
set smoothness 0
set autoanalogdisconnect false
set circulardeadzone true
set useximapimousemath true
set mousestickx right
set mousesticky right
set currentgame cod4
set inverty true
set mousedpi 1800
set buttondowntime 20
set drivingmode false
link lefttrigger .altsens;
bind mouseleft .righttrigger;
bind mouseright !lefttrigger;
bind leftshift -lefttrigger;wait 15;.leftstick;
bind mouse4 .rightstick;
bind mouse5 -lefttrigger;.rightbumper;
bind space .a;
bind leftcontrol .b;
bind r -lefttrigger;.x;
bind mwheeldown -lefttrigger;wait 8;+y;wait 200;-y;
bind up .up;
bind downarrow .down;
bind d2 .left;
bind leftarrow .left;
bind d4 .right;
bind right .right;
bind return .start;
bind tab .back;
bind w .leftstickpositivey;
bind a .leftsticknegativex;
bind d .leftstickpositivex;
bind s .leftsticknegativey;
bind c +b;wait 1000;-b;
bind f -lefttrigger;wait 21;+y;wait 30;-y;
bind g .x;
bind f2 .a;
bind q -lefttrigger;wait 8;.left;
bind e -lefttrigger;wait 8;.leftbumper;
bind home !textmode;
bind f1 .guide;


A tutorial on setting up your very own .cfg file can be found on xEmulate's wiki page, http://code.google.com/p/ximtranslator/w/list

Hopefully I have helped answer a few of the questions any new users might have, as this was the information I would have liked to have a couple of days ago.  Feel free to use my configuration, despite it being mediocre at best.  Now, just a few words for those who feel that anyone using xEmulate is cheating:

xEmulate can be abused.  Its system of macros makes it very easy for the more unscrupulous among us to abuse game mechanics, through the use of rapidfire, and flag-running abuse (Halo 3).  However, this can all be achieved with AHK and the default program.  Many users have had success using xEmulate solely for a better experience, especially enjoying the ability to toggle ADS and assign many different keys to a specific button. 
« Last Edit: 04:55 PM - 07/06/11 by mist4fun »
Proud owner of a XIM3

Youtube.com/d0nskiii     Xfire: Galvaniz3d     Xbox: Donskii HD, vIIv Don

My Setup:
Mionix Naos 5000     Razer Lycosa     24" ASUS 1080p 5ms     PureTrak Talent     Black Magic Intensity Shuttle     250GB Xbox 360 Slim

Intel i7 930     6GB 1600Mhz RAM     2x 2TB Seagate 7200 RPM HDDs in RAID0     128GB Crucial SATA III SD     2 ASUS EAH6850s (Crossfire)     EVGA x58 FTW3

Offline Apollo83

  • Member
  • *
  • Posts: 11
    • View Profile
Re: A Quick Description of xEmulate
« Reply #1 on: 12:14 PM - 12/29/09 »
Very Helpful guide.. As i am new to this program i have a quick question. I am trying to get the textmode to work and i set it to True but i cant type a message on the xbox. Am i doing something wrong? Is there a switch im not clicking in the GUI? Also once i get it working can i bind it to a key so at anytime i can switch to text mode without having to always type it in the cmd line?

Thanks

Offline Don

  • MVP
  • *
  • Posts: 1189
  • Northern California
    • View Profile
    • Youtube
  • Gamertag: Donskii HD
Re: A Quick Description of xEmulate
« Reply #2 on: 02:25 PM - 12/29/09 »
Very Helpful guide.. As i am new to this program i have a quick question. I am trying to get the textmode to work and i set it to True but i cant type a message on the xbox. Am i doing something wrong? Is there a switch im not clicking in the GUI? Also once i get it working can i bind it to a key so at anytime i can switch to text mode without having to always type it in the cmd line?

Thanks


Hey,

It seems that you changed my original line,

'set textmode false'

to

'set textmode true'

This is not the way to approach textmode, as it should only be toggled on when you are typing out messages with the digital keyboard.  If you are trying to play a game, textmode will mess up all of your binds!  

If you look at my example config, you will see that my line addressing textmode is,

bind home !textmode

This literally means that you press home to toggle textmode.  So when I am hovering over the lowercase 'a' when writing a message, I press 'home' to toggle textmode on, type out my text, and press 'end' when I am finished to toggle off textmode.


This is because textmode basically assigns each key on your keyboard a series of left's, right's, and down's in relation to the lowercase 'a' by default.  If you want xEmulate to type a lowercase 'h' while in textmode, it will navigate right and down until it finds the preprogrammed place for h.  Then, if you type in 'i', it will navigate towards 'i' in relation to 'h'.  I know I'm not explaining this very well, but all it means is that you should only activate textmode when the 'a' key is highlighted when typing out text on the Xbox.  Once again, press 'end' to toggle textmode off and return to the keybinds defined in the .cfg file.



« Last Edit: 02:40 PM - 12/29/09 by d0nskii »
Proud owner of a XIM3

Youtube.com/d0nskiii     Xfire: Galvaniz3d     Xbox: Donskii HD, vIIv Don

My Setup:
Mionix Naos 5000     Razer Lycosa     24" ASUS 1080p 5ms     PureTrak Talent     Black Magic Intensity Shuttle     250GB Xbox 360 Slim

Intel i7 930     6GB 1600Mhz RAM     2x 2TB Seagate 7200 RPM HDDs in RAID0     128GB Crucial SATA III SD     2 ASUS EAH6850s (Crossfire)     EVGA x58 FTW3

Offline Ub3rn00ber

  • MVP
  • *
  • Posts: 1583
  • I will punish you.
    • View Profile
Re: A Quick Description of xEmulate
« Reply #3 on: 03:06 PM - 12/29/09 »
Yep..Xemulate is an awesome piece of software.  It's what I use when playing racing games.  I love that I can use any PC racing wheel or joystick to play racing games.  Good stuff.

Offline Apollo83

  • Member
  • *
  • Posts: 11
    • View Profile
Re: A Quick Description of xEmulate
« Reply #4 on: 02:04 AM - 12/30/09 »
Very Helpful guide.. As i am new to this program i have a quick question. I am trying to get the textmode to work and i set it to True but i cant type a message on the xbox. Am i doing something wrong? Is there a switch im not clicking in the GUI? Also once i get it working can i bind it to a key so at anytime i can switch to text mode without having to always type it in the cmd line?

Thanks


Hey,

It seems that you changed my original line,

'set textmode false'

to

'set textmode true'

This is not the way to approach textmode, as it should only be toggled on when you are typing out messages with the digital keyboard.  If you are trying to play a game, textmode will mess up all of your binds!  

If you look at my example config, you will see that my line addressing textmode is,

bind home !textmode

This literally means that you press home to toggle textmode.  So when I am hovering over the lowercase 'a' when writing a message, I press 'home' to toggle textmode on, type out my text, and press 'end' when I am finished to toggle off textmode.


This is because textmode basically assigns each key on your keyboard a series of left's, right's, and down's in relation to the lowercase 'a' by default.  If you want xEmulate to type a lowercase 'h' while in textmode, it will navigate right and down until it finds the preprogrammed place for h.  Then, if you type in 'i', it will navigate towards 'i' in relation to 'h'.  I know I'm not explaining this very well, but all it means is that you should only activate textmode when the 'a' key is highlighted when typing out text on the Xbox.  Once again, press 'end' to toggle textmode off and return to the keybinds defined in the .cfg file.





Ohhh ok i get it now. Thanks for that :)


Offline slayersteve

  • MVP
  • *
  • Posts: 2151
    • View Profile
  • Gamertag: x SLAYER Steve
Re: A Quick Description of xEmulate
« Reply #5 on: 08:01 PM - 01/12/10 »
d0nskii --
I too have used the hell out of this software, I pimp it whenever I can...
way more features than the "out of the box" software (no offense to Obsiv).
Anyway, some questions & comments for you...


you know you can set this so you're not locked into 30ms right? play with it, it's pretty cool....
set buttondowntime 30


what's this link do for you?
link lefttrigger .leftstick;


does this work? what's it do?
bind rightshift .altsens;


Purpose behind -lefttrigger? I'm guessing in case you're ADS so it will take off ADS?
bind r -lefttrigger;.x;
bind f -lefttrigger;+y;wait 30;-y;
bind g -lefttrigger;.x;


utterly confused on this one... what's this do for you?
bind q -leftbumper;


Offline slayersteve

  • MVP
  • *
  • Posts: 2151
    • View Profile
  • Gamertag: x SLAYER Steve
Re: A Quick Description of xEmulate
« Reply #6 on: 08:25 PM - 01/12/10 »
oh, and I don't see unbindall at the top of your script.
you may want to use it, it's one of those undocumented features I found out from PMing with xod.
basically just take 'unbindall' and slap it at the top of your script.
it clears out all bindings, very useful when switching between games...

Offline Don

  • MVP
  • *
  • Posts: 1189
  • Northern California
    • View Profile
    • Youtube
  • Gamertag: Donskii HD
Re: A Quick Description of xEmulate
« Reply #7 on: 10:06 AM - 01/15/10 »
Steve,
I later added unbind all, and the

bind q

was an attempt to remove a bind from a previous configuration that refused to go away.  

The -lefttrigger's you saw before binds such as sprint (shift), switch (f), and others are necessary solely because I toggle ADS.  When my ADS is sighted and I want to sprint, this allows me to simply tap shift to both untoggle and run.  This is opposed to a system where I would have to untoggle ADS (lefttrigger) by tapping the right mouse button before any other actions.  

My

link lefttrigger .altsens

command allows me to switch to my alternate sensitivity when I am sighted, even when I am not holding down the right mouse button.  What it does is tell xEmulate to swich to my alternate sensitivity whenever the lefttrigger is being held down.  This is normally a nonissue if you hold the right mouse button to aim down the sight, but is necessary in this case because I am using a toggle that does not require me to hold any button on the keyboard/mouse to stay sighted.  By linking the lefttrigger directly to the alt sensitivity, I bypass the keyboard and ensure that my alt sensitivity will always be used whenever I am sighted. 
« Last Edit: 10:13 AM - 01/15/10 by d0nskii »
Proud owner of a XIM3

Youtube.com/d0nskiii     Xfire: Galvaniz3d     Xbox: Donskii HD, vIIv Don

My Setup:
Mionix Naos 5000     Razer Lycosa     24" ASUS 1080p 5ms     PureTrak Talent     Black Magic Intensity Shuttle     250GB Xbox 360 Slim

Intel i7 930     6GB 1600Mhz RAM     2x 2TB Seagate 7200 RPM HDDs in RAID0     128GB Crucial SATA III SD     2 ASUS EAH6850s (Crossfire)     EVGA x58 FTW3

Offline slayersteve

  • MVP
  • *
  • Posts: 2151
    • View Profile
  • Gamertag: x SLAYER Steve
Re: A Quick Description of xEmulate
« Reply #8 on: 10:31 AM - 01/15/10 »
Steve,
I later added unbind all, and the

bind q

was an attempt to remove a bind from a previous configuration that refused to go away. 

glad I could help ;)


link lefttrigger .altsens

OK, yeah, you had this initially -
link lefttrigger .leftstick;
was just wondering if that worked too, but I actually plugged in your script and, no, no it doesn't. :)

so do you still use xod's game specific algorithm for the CODs? or have you since created your own?
I keep going back and forth, I use game-specific and I use a hybrid of one of uber's 1800dpi configs (guess it depends on my frame of mind).

one thing I LOVE about xod's software is when you use game specific it allows up to FOUR sensitivity binds.
I have my third sensitivity bind bound to my "down" key and it's hella slow so when I want to snipe and need that extra bit of control I have it. it's tits.

Offline slayersteve

  • MVP
  • *
  • Posts: 2151
    • View Profile
  • Gamertag: x SLAYER Steve
Re: A Quick Description of xEmulate
« Reply #9 on: 02:00 PM - 01/26/10 »
Posted these directions in another thread.
should make initial installs easier for folks...

BEFORE installing, make sure you have already installed...
DX9.0c
XNA Framework
.NET 3.5 SP1
XIM2 package

Then install these... (yes, both, each contains components that are required)
http://code.google.com/p/ximtranslator/downloads/list
install the .msi first, then install the .exe

After installing, run ximcalibrate.exe in the xim360 directory and then copy your ximcalibrate.ini over to your new xEmulate directory and give it a whirl.

In addition to it's own format, it will open a .xim file so if you already have one that you like, import it in, however it will only import lines that have only ONE button assignment so if you have your X button assigned to mouse back and the 'g' key that line won't import in...

if you have any issues, read these...
http://xim3.com/community/index.php?topic=4184.0 (this thread)
http://xim3.com/community/index.php?topic=1443.0

Offline toysrme

  • 14 National Championships
  • MVP
  • *
  • Posts: 8290
  • FannyPAX, best avatar EVAAAR!
    • View Profile
Re: A Quick Description of xEmulate
« Reply #10 on: 09:09 PM - 02/07/10 »
has never worked for me on anything but XP.
Somebody didn't read the rules before posting. You need a post count of 100 500 to talk directly to toys.
XIM Induced RAGE Video

^Global Win Rate = 46%

Offline Don

  • MVP
  • *
  • Posts: 1189
  • Northern California
    • View Profile
    • Youtube
  • Gamertag: Donskii HD
Re: A Quick Description of xEmulate
« Reply #11 on: 10:17 AM - 02/09/10 »
has never worked for me on anything but XP.

It runs fine for me on vista man, you should give it another try beceause I'm sure I can't tell you anything you don't already know.  
« Last Edit: 01:05 PM - 02/11/10 by d0nskii »
Proud owner of a XIM3

Youtube.com/d0nskiii     Xfire: Galvaniz3d     Xbox: Donskii HD, vIIv Don

My Setup:
Mionix Naos 5000     Razer Lycosa     24" ASUS 1080p 5ms     PureTrak Talent     Black Magic Intensity Shuttle     250GB Xbox 360 Slim

Intel i7 930     6GB 1600Mhz RAM     2x 2TB Seagate 7200 RPM HDDs in RAID0     128GB Crucial SATA III SD     2 ASUS EAH6850s (Crossfire)     EVGA x58 FTW3

Offline legion.of.phreakz

  • Member
  • *
  • Posts: 99
    • View Profile
Connecting Non-X360 Controller with xEmulate
« Reply #12 on: 02:27 AM - 02/20/10 »
I just want to add on this thread, if you are having problems connecting your non-xbox 360 controller (ps2 gamepad, logitech rumblepad, etc..) to work with xEmulate, you can use the XBOX 360 Controller emulator vibmod:

http://www.tocaedit.com/IB/index.php?automodule=downloads&showfile=32

To install, you just copy 2 files (xinput1_3.dll and x360ce.ini) into xEmulate folder. What it does is, xEmulate will see your non-xbox360 controller as xbox360 controller (hence the name of the emulator :))

For your xEmulate config, just add this 360 binds:

Code: [Select]
bind 360a .a
bind 360b .b
bind 360x .x
bind 360y .y
bind 360leftshoulder .leftbumper
bind 360rightshoulder .rightbumper
bind 360back .back
bind 360start .start
bind 360leftstick .leftstick
bind 360rightstick .rightstick
bind 360dpadup .up
bind 360dpaddown .down
bind 360dpadleft .left
bind 360dpadright .right
bind 360arightstickx rightstickx
bind 360arightsticky rightsticky
bind 360aleftstickx leftstickx
bind 360aleftsticky leftsticky
bind 360arighttrigger righttrigger
bind 360alefttrigger lefttrigger

You might also need to edit the X360CE.ini as the default one is configured for Logitech Rumblepad.  Here is mine for PS2 controller:

Code: [Select]
[Options]
UseInitBeep=1             #use 0 to 1; default 1; beep on init
Log=0                     #use 0 to 1; creates a log file in folder 'x360ce logs'
FakeAPI=0                 #use API patching

[PAD1]
Index=0                   #controller index in system game controllers list; 0 is first; -1 to ignore this pad
Native=0                  #experimental native mode, calls system xinput1_3.dll to support xinput compatible controller together with emulated
VID=0x0                   #controller VID
PID=0x0                   #controller PID
Left Analog X=1           #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog Y=-2          #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog X=6          #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog Y=-3         #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog X+ Button=0   #button id; 0 to disable
Left Analog X- Button=0   #button id; 0 to disable
Left Analog Y+ Button=0   #button id; 0 to disable
Left Analog Y- Button=0   #button id; 0 to disable
Right Analog X+ Button=0  #button id; 0 to disable
Right Analog X- Button=0  #button id; 0 to disable
Right Analog Y+ Button=0  #button id; 0 to disable
Right Analog Y- Button=0  #button id; 0 to disable
D-pad POV=1               #POV index; 0 to disable
D-pad Up=0                #button id; 0 to disable
D-pad Down=0              #button id; 0 to disable
D-pad Left=0              #button id; 0 to disable
D-pad Right=0             #button id; 0 to disable
A=3                       #button id; 0 to disable
B=2                       #button id; 0 to disable
X=4                       #button id; 0 to disable
Y=1                       #button id; 0 to disable
Left Shoulder=7           #button id; 0 to disable
Right Shoulder=8          #button id; 0 to disable
Back=9                    #button id; 0 to disable
Start=10                  #button id; 0 to disable
Left Thumb=11             #button id; 0 to disable
Right Thumb=12            #button id; 0 to disable
TriggerDeadzone=5         #use 0 to 255; default 0; add deadzone to trigger
Left Trigger=5            #button id; precede with 'a' for an axis; 's' for a slider; 'x' for a half range axis; 'h' for half slider; use '-' to invert ie. x-2;
Right Trigger=6           #button id; precede with 'a' for an axis; 's' for a slider; 'x' for a half range axis; 'h' for half slider; use '-' to invert ie. x-2;
UseForceFeedback=0        #use 0 to 1; default 0
SwapMotor=0               #use 0 to 1; default 0
ForcePercent=100          #use 0 to 100; default 100
ControllerType=1          #GAMEPAD 1; WHEEL 2; STICK 3; FLIGHT_SICK 4; DANCE_PAD 5; GUITAR 6; DRUM_KIT 8;   //WILDS
AxisToDPad=0              #Use Axis to control DPad (0 disabled, 1 enabled)                                 //WILDS
AxisToDPadDeadZone=256    #Dead zone for Axis                                                               //WILDS
AxisToDPadOffset=0        #                                                                                 //WILDS
POVXReverse=0             #Reverse POV Up/Down
POVYReverse=0             #Reverse POV Left/Right

The package comes with a visual input test (XInputTest.exe) so you can test your configuration (x360ce.ini).

Hope this helps.
« Last Edit: 02:43 AM - 02/20/10 by legion.of.phreakz »

Offline slayersteve

  • MVP
  • *
  • Posts: 2151
    • View Profile
  • Gamertag: x SLAYER Steve
Re: A Quick Description of xEmulate
« Reply #13 on: 09:16 PM - 08/13/10 »
hey donskii, as far as you can tell does the set mousedpi actually do anything???

Offline rklamer

  • Member
  • *
  • Posts: 147
    • View Profile
Re: A Quick Description of xEmulate
« Reply #14 on: 11:29 PM - 08/27/10 »
Awesome program. Quick question... does this work with Halo 3's Smart config? If so, how do I bring it over? Is it just the Halo 3.xim file that I see in my XIM360 directory?