lib sdl = <alpha/sdlplugin.ssz>;

type k_t = |sdl.SDLKey;

/%&Keys in;

in.new[0].set(

-1,

(int)k_t::UP,

(int)k_t::DOWN,

(int)k_t::LEFT,

(int)k_t::RIGHT,

(int)k_t::z,

(int)k_t::x,

(int)k_t::c,

(int)k_t::a,

(int)k_t::s,

(int)k_t::d,

(int)k_t::RETURN);

in.new[1].set(

-1,

(int)k_t::t,

(int)k_t::g,

(int)k_t::f,

(int)k_t::h,

(int)k_t::j,

(int)k_t::k,

(int)k_t::l,

(int)k_t::i,

(int)k_t::o,

(int)k_t::p,

(int)k_t::q);

in.new[2].set(

0, -7, -8, -5, -6, 0, 1, 4, 2, 3, 5, 7);

in.new[3].set(

1, -7, -8, -5, -6, 0, 1, 4, 2, 3, 5, 7);

with this one that supports multiple characters input:lib sdl = <alpha/sdlplugin.ssz>;

type k_t = |sdl.SDLKey;

/%&Keys in;

loop{

int n = 0;

bool p1Gamepad = false;

bool p2Gamepad = false;

int numSimul = 4;

while;

do:

branch{

cond (n % 2 == 0):

branch{

cond p1Gamepad == false:

in.new[n].set(

-1,

(int)k_t::UP,

(int)k_t::DOWN,

(int)k_t::LEFT,

(int)k_t::RIGHT,

(int)k_t::z,

(int)k_t::x,

(int)k_t::c,

(int)k_t::a,

(int)k_t::s,

(int)k_t::d,

(int)k_t::RETURN);

else:

in.new[n].set(0, -7, -8, -5, -6, 0, 1, 4, 2, 3, 5, 7);

}

n++;

else:

branch{

cond p2Gamepad == false:

in.new[n].set(

-1,

(int)k_t::t,

(int)k_t::g,

(int)k_t::f,

(int)k_t::h,

(int)k_t::j,

(int)k_t::k,

(int)k_t::l,

(int)k_t::i,

(int)k_t::o,

(int)k_t::p,

(int)k_t::q);

else:

in.new[n].set(1, -7, -8, -5, -6, 0, 1, 4, 2, 3, 5, 7);

}

n++;

}

while n <= (numSimul * 2 - 1):

}

Keep in mind that until update is released this code won't be compatible with current Options screen input settings, so if you need to change controls do it manually.