{ input = { contexts = ( { name = key_game; imts = ( { name = imt_mod; }, { name = imt_mod_strafe; chain = imt_mod; }, { name = imt_mod_freelook; chain = imt_mod; }, { name = imt_mod_lookstrafe; chain = imt_mod_freelook; } ); default_imt = imt_mod; switchers = ( { name = mouse; inputs = ( +strafe, lookstrafe, +mlook, freelook ); imts = ( imt_mod, imt_mod_strafe, imt_mod, imt_mod_strafe, imt_mod_freelook, imt_mod_strafe, imt_mod_lookstrafe, imt_mod_strafe, imt_mod_freelook, imt_mod_strafe, imt_mod_lookstrafe, imt_mod_strafe, imt_mod_freelook, imt_mod_strafe, imt_mod_lookstrafe, imt_mod_strafe ); } ); }, { name = key_demo; imts = ( { name = imt_demo; }, ); } ); devices = ( { name = mouse; devname = core:mouse; num_axes = 2; num_buttons = 32; axes = ( { imt = imt_mod; num = 0; axis = move.yaw; min = 0; max = 0; minzone = 0; maxzone = 0; deadzone = 0; curve = 1; scale = 1; }, { imt = imt_mod_strafe; num = 0; axis = move.side; min = 0; max = 0; minzone = 0; maxzone = 0; deadzone = 0; curve = 1; scale = 1; }, { imt = imt_mod_lookstrafe; num = 0; axis = move.side; min = 0; max = 0; minzone = 0; maxzone = 0; deadzone = 0; curve = 1; scale = 1; }, { imt = imt_mod; num = 1; axis = move.forward; min = 0; max = 0; minzone = 0; maxzone = 0; deadzone = 0; curve = 1; scale = 1; }, { imt = imt_mod_freelook; num = 1; axis = move.pitch; min = 0; max = 0; minzone = 0; maxzone = 0; deadzone = 0; curve = 1; scale = 1; } ); }, { name = key; devname = core:keyboard; num_axes = 0; num_buttons = 256; buttons = ( { imt = imt_demo; num = 41; binding = toggleconsole; }, { imt = imt_demo; num = 68; binding = quit; }, ); } ); }; }