Logitech G13 startup guide
14 posts
• Page 2 of 2 • 1, 2
Re: Logitech G13 startup guide
Ok fellas, I've made some headway on the coding after several hours of headaches. So far, I've taken the G13 header file and mapped the buttons to a layout of my liking for the PS4. The real problem was getting the mouse set up correctly, however I did manage to alt-export (finally) and got the mouse working the way I want it to. That part took me the longest thus far, bear in mind I'm new to all of this.
Here's my current G13.gph:
So now in it's current configuration I have it working with Fortnite PS4 pretty smoothly, however I'm still lost and hoping someone could help shed some light on my problems. The issue I'm having is, when I play on PC, this is the button layout I currently use on my G13:
This obviously doesn't directly correspond to my current configuration of the G13 header file mappings as those are for PS4 buttons and not actual keys. The script I'm trying to use is the one created by MAL8010 for Fortnite:
Obviously, this script relies on actual keys. Can somebody help me code this so that my G13 keys are mapped similarly to the image above? Any help would be much appreciated. I just want to enjoy this as much as possible.
Also a bit off topic, but with this current script the game doesn't feel like I'm getting much Aim Assist. Is this natural, or did I do something wrong? Thanks in advance!
Here's my current G13.gph:
- Code: Select all
#ifndef G13
#define G13
#define init init
#define main main
#include <remapper.gph>
#include <keyboard.gph>
#include <mouse.gph>
const uint8 mapG13[] = {
RMP_USB_D,
// RMP_USB_A, // For test uncomment this line and comment previous
BUTTON_1, ACCEL_2_Z, BUTTON_12, BUTTON_10 , BUTTON_13, ACCEL_2_Z, BUTTON_3,
BUTTON_2, BUTTON_14, BUTTON_7, BUTTON_4, BUTTON_15, BUTTON_17, ACCEL_2_Z,
BUTTON_9, ACCEL_2_Z, ACCEL_2_Z, BUTTON_16, BUTTON_6, ACCEL_2_Z, ACCEL_2_Z,
POINT_1_Y, ACCEL_2_Z, STICK_2_X, STICK_2_Y,
POINT_1_X, ACCEL_2_Z, BUTTON_9, POINT_2_Y,
ACCEL_2_Z, ACCEL_2_Z, ACCEL_2_Z, ACCEL_2_Z, ACCEL_2_Z, ACCEL_2_Z,
BUTTON_2, BUTTON_1, BUTTON_4
// original line
// RMP_USB_A,
// BUTTON_1, BUTTON_2, BUTTON_3, BUTTON_4, BUTTON_5, BUTTON_6, BUTTON_7,
// BUTTON_8, BUTTON_9, BUTTON_10, BUTTON_11, BUTTON_12, BUTTON_13, BUTTON_14,
// BUTTON_15, BUTTON_16, BUTTON_17, BUTTON_18, BUTTON_19, BUTTON_20, BUTTON_21,
// STICK_1_X, STICK_1_Y, STICK_2_X, STICK_2_Y,
// POINT_1_X, POINT_1_Y, POINT_2_X, POINT_2_Y,
// ACCEL_1_X, ACCEL_1_Y, ACCEL_1_Z, ACCEL_2_X, ACCEL_2_Y, ACCEL_2_Z,
// GYRO_1_X, GYRO_1_Y, GYRO_1_Z
};
// !!!!!!! Remapper don't support and can't be used with input translator
// So This:
// Needed for support mouse (G-502 example with mapped keys on it buttons)
const uint8 mmap[] = {
MOUSE_X, STICK_1_X,
MOUSE_Y, STICK_1_Y,
MWHEEL_FORWARD, BUTTON_10,
MWHEEL_BACKWARD, BUTTON_11,
MBUTTON_1, BUTTON_5,
MBUTTON_2, BUTTON_8,
MBUTTON_3, BUTTON_6,
};
const uint8 map[] = {
KEY_R, BUTTON_3,
KEY_L, BUTTON_14,
KEY_O, BUTTON_17,
KEY_K, BUTTON_15,
KEY_P, BUTTON_16,
};
init{
remapper(mapG13);
mousemapping(mmap);
keymapping(map);
/* ORIGINAL MOUSE CONFIG
// Mouse XY Converter
const uint8 mxyconfig[] = {
0x07, 0x01, 0x4C, 0x01, 0x0C, 0x00, 0x26, 0x15, 0x00, 0x15, 0x00, 0x00,
0xFC, 0x00, 0x1B, 0x27, 0x2E, 0x34, 0x38, 0x3C, 0x3E, 0x40, 0x42, 0x44,
0x46, 0x47, 0x48, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x4F, 0x01, 0x00,
0x01, 0x0C, 0x00, 0x33, 0x14, 0x00, 0x14, 0x00, 0x00, 0xFC, 0x00, 0x18,
0x23, 0x2B, 0x31, 0x35, 0x38, 0x3B, 0x3D, 0x40, 0x41, 0x43, 0x44, 0x46,
0x47, 0x48, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E
};
mxyconverter(mxyconfig);
// End Mouse XY Converter
}
*/
// Mouse XY Converter
const uint8 mxyconfig[] = {
0x07, 0x01, 0x85, 0x01, 0x94, 0x00, 0x00, 0x0F, 0x80, 0x10, 0x80, 0x00,
0xE8, 0x00, 0x0E, 0x16, 0x1B, 0x20, 0x25, 0x29, 0x2D, 0x31, 0x34, 0x38,
0x3B, 0x3E, 0x41, 0x44, 0x47, 0x4A, 0x4D, 0x50, 0x53, 0x55, 0x01, 0x00,
0x01, 0x94, 0x00, 0x00, 0x0F, 0x80, 0x10, 0x80, 0x00, 0xE8, 0x00, 0x0E,
0x16, 0x1B, 0x20, 0x25, 0x29, 0x2D, 0x31, 0x34, 0x38, 0x3B, 0x3E, 0x41,
0x44, 0x47, 0x4A, 0x4D, 0x50, 0x53, 0x55
};
mxyconverter(mxyconfig);
// End Mouse XY Converter
}
main{
if (get_val(BUTTON_20)){
set_val(BUTTON_20,0);set_val(STICK_2_X,-100);
}
if (get_val(ACCEL_2_X)){
set_val(ACCEL_2_X,0);set_val(STICK_2_X,100);
}
// if (vechicle == 0){
if (get_val(BUTTON_21)){
set_val(BUTTON_21,0);set_val(STICK_2_Y,-100);
}
if (get_val(ACCEL_2_Y)){
set_val(ACCEL_2_Y,0);set_val(STICK_2_Y,100);
}
}
#endif /* G13 */
So now in it's current configuration I have it working with Fortnite PS4 pretty smoothly, however I'm still lost and hoping someone could help shed some light on my problems. The issue I'm having is, when I play on PC, this is the button layout I currently use on my G13:
This obviously doesn't directly correspond to my current configuration of the G13 header file mappings as those are for PS4 buttons and not actual keys. The script I'm trying to use is the one created by MAL8010 for Fortnite:
- Code: Select all
#pragma METAINFO("<Mark>", 1, 0, "FORTNITE KEYBOARD COMBO 2.0")
#include <keyboard.gph>
#include <display.gph>
#include "light_k.gph"
#include "G13.gph"
#define Reset BUTTON_13 //manual reset of tracking (right arrow)
#define Double_Pump BUTTON_12 //Double Pump activate (left arrow)
//mode and tracker
int mode;
int bldvalue;
int wpnvalue;
int NavState;
bool event_active_b;
bool event_active_n;
bool event_active_f;
bool event_active_x;
//building hotkeys and tracker
int bldslottrack=1;
int wpnslottrack=1;
int tempWST;
int tempAxe;
int wpndirectslottrack=1;
init {
/*
//------------------------------------------------------------------------------
// KEYBOARD BINDINGS
// Load Keyboard Mapping
const uint8 map[] = {
KEY_W, STICK_2_Y | KEYMAP_NEGATIVE,
KEY_A, STICK_2_X | KEYMAP_NEGATIVE,
KEY_S, STICK_2_Y,
KEY_D, STICK_2_X,
KEY_ESCAPE, BUTTON_1, // XBOX
KEY_TAB, BUTTON_2, // VIEW
// BUTTON_3, // MENU
// BUTTON_4, // RB
// BUTTON_5, // RT
// BUTTON_6, // RS
// BUTTON_7, // LB
// BUTTON_8, // LT
KEY_LEFTSHIFT, BUTTON_9, // LS
KEY_CAPSLOCK, BUTTON_10, // UP
KEY_DOWNARROW, BUTTON_11, // DOWN
// BUTTON_12, // LEFT
// BUTTON_13, // RIGHT
// BUTTON_14, // Y
// BUTTON_15, // B
KEY_SPACEBAR, BUTTON_16, // A
// BUTTON_17, // X
};
*/
keymapping(map);
}
main {
//------------------------------------------------------------------------------
//MODE TRACKING
if (mode == 0) {
set_light('G');
}
if (mode == 1) {
set_light('R');
}
if (mode > 1) {
mode = 0;}
if ((event_release(BUTTON_15)) && (mode == 0) && (tempAxe == 0) && (wpnslottrack > 0)){
mode = 1; //building mode
tempWST = 1;
}
else if ((event_release(BUTTON_15)) && (mode == 1)&& (tempAxe == 0)) {
mode = 0; //combat mode
bldslottrack = 1; //building always resets to slot 1, weapons to last occupied slot
}
if (event_release(BUTTON_15) && (mode == 0) && (tempAxe == 1) && (tempWST == 0)) {
mode = 1;
bldslottrack = 1;
tempWST = 1;
tempAxe = 1;
}
else if (event_release(BUTTON_15) && (mode == 1) && (tempWST == 1) && (tempAxe == 1)) {
mode = 0;
wpnslottrack = 0;
bldslottrack = 1;
tempWST = 0;
tempAxe = 0;
}
//------------------------------------------------------------------------------
//BUILDING AND WEAPON SLOT TRACKING
//Weapon to axe back to weapon via Y
if ((event_release(BUTTON_14)) && (mode == 0) && (tempWST == 1) && (wpnslottrack > 0)) {
tempWST = 0;
wpnslottrack = wpnslottrack;
wpndirectslottrack = 0;
}
else if ((event_release(BUTTON_14)) && (mode == 0) && (tempWST == 0) && (wpnslottrack > 0)) {
tempWST = 1;
wpnslottrack = wpnslottrack;
wpndirectslottrack = wpnslottrack;
}
//Axe back to weapon via RB
if ((event_release(BUTTON_4)) && (mode == 0) && (tempWST == 0) && (wpnslottrack > 0)) {
wpnslottrack = wpnslottrack;
tempWST = 1;
}
//normal RB weapon slot tracking
else if ((event_release(BUTTON_4)) && (mode == 0) && (tempWST == 1) && (wpnslottrack > 0)) {
wpnslottrack = wpnslottrack + 1;
if (wpnslottrack > 5) {
wpnslottrack = 1;
}
}
//Axe back to weapon via LB
if ((event_release(BUTTON_7)) && (mode == 0) && (tempWST == 0) && (wpnslottrack > 0)) {
wpnslottrack = wpnslottrack;
tempWST = 1; `
}
//normal LB weapon slot tracking
else if ((event_release(BUTTON_7)) && (mode == 0) && (tempWST == 1) && (wpnslottrack > 0)) {
wpnslottrack = wpnslottrack - 1;
if (wpnslottrack < 1) {
wpnslottrack = 5;
}
}
//Building to axe - has to return to slot 1
if ((event_release(BUTTON_14)) && (mode == 1) && tempWST == 1) {
tempWST = 0;
mode = 0;
tempAxe = 1;
wpnslottrack = wpnslottrack;
bldslottrack = 1;
wpndirectslottrack = 0;
}
if ((event_release(BUTTON_4)) && (mode == 1)) {
bldslottrack = bldslottrack + 1;
if (bldslottrack > 4) {
bldslottrack = 1;
}
}
if ((event_release(BUTTON_7)) && (mode == 1)) {
bldslottrack = bldslottrack - 1;
if (bldslottrack < 1) {
bldslottrack = 4;
}
}
//Unique scenario when B to Axe to B to W combination which goes back to Axe state
if ((event_release(BUTTON_7)) && (mode == 0) && (tempWST == 0) && (wpnslottrack == 0)) {
wpnslottrack = 5;
tempWST = 1; `
}
if ((event_release(BUTTON_4)) && (mode == 0) && (tempWST == 0) && (wpnslottrack == 0)) {
wpnslottrack = 1;
tempWST = 1; `
}
if ((event_release(BUTTON_14)) && (mode == 0) && (tempWST == 0) && (wpnslottrack == 0)) {
wpnslottrack = 1;
tempWST = 1; `
}
//------------------------------------------------------------------------------
//TRACKER RESETS
//manual tracker reset to weapon mode slot1
if (event_active(Reset)) {
mode = 0;
bldslottrack = 1;
wpnslottrack = 1;
tempWST = 1;
tempAxe = 0;
}
//Since B is cancel as well as enter building mode, need to reset tracker if using to cancel out of xbox menu, inventory, game menu, emotes
if (event_release (BUTTON_1) || event_release (BUTTON_3) || event_release (BUTTON_10) || event_release (BUTTON_11)) {
NavState = 1;}
// Pressing B to cancel resets
if (event_release (BUTTON_15) && NavState) {
mode = mode + 1;
NavState = 0;}
//------------------------------------------------------------------------------
//DOUBLE PUMP
if (event_release(Double_Pump)){
combo_run (DoublePumpShotguns);
set_val(Double_Pump, 0.0);
}
//------------------------------------------------------------------------------
// KEYCODE
// Output the key code of pressed keys
output_keycode();
//------------------------------------------------------------------------------
// LOAD-OUTS
// B = WALL, F = FLOOR, N = STAIRS, X = DIAMOND
// Weapon Slots are 1-5
// T = Change Mats
if(key_status(KEY_B)) {
bldvalue = 1 - bldslottrack;
if(!event_active_b) {
event_active_b = TRUE;
if (mode == 0){ //weapons or pickaxe to wall
combo_run (BuildWall);
} else if ((mode == 1) && (bldvalue == 0)) { //already have wall selected
combo_run (RT);}
else { //moving from building slots 2,3,4 to wall
if (bldvalue == -1) {
combo_run (QLB1);
bldslottrack = 1;}
if (bldvalue == -2) {
combo_run (QLB2);
bldslottrack = 1;}
if (bldvalue == -3) {
combo_run (QRB1);
bldslottrack = 1;}
}
}
} else event_active_b = FALSE;
if(key_status(KEY_F)) {
bldvalue = 2 - bldslottrack;
if(!event_active_f) {
event_active_f = TRUE;
if (mode == 0){
combo_run (BuildFloor);
} else if ((mode == 1) && (bldvalue == 0)) {
combo_run (RT);}
else {
if (bldvalue == 1) {
combo_run (QRB1);
bldslottrack = 2;}
if (bldvalue == -1) {
combo_run (QLB1);
bldslottrack = 2;}
if (bldvalue == -2) {
combo_run (QLB2);
bldslottrack = 2;}
}
}
} else event_active_f = FALSE;
if(key_status(KEY_N)) {
bldvalue = 3 - bldslottrack;
if(!event_active_n) {
event_active_n = TRUE;
if (mode == 0){
combo_run (BuildStair);
} else if ((mode == 1) && (bldvalue == 0)) {
combo_run (RT);}
else {
if (bldvalue == 2) {
combo_run (QLB2);
bldslottrack = 3;}
if (bldvalue == 1) {
combo_run (QRB1);
bldslottrack = 3;}
if (bldvalue == -1) {
combo_run (QLB1);
bldslottrack = 3;}
}
}
} else event_active_n = FALSE;
if(key_status(KEY_X)) {
bldvalue = 4 - bldslottrack;
if(!event_active_x) {
event_active_x = TRUE;
if (mode == 0){
combo_run (BuildDiamond);
} else if ((mode == 1) && (bldvalue == 0)) {
combo_run (RT);}
else {
if (bldvalue == 3) {
combo_run (QLB1);
bldslottrack = 4;}
if (bldvalue == 1) {
combo_run (QRB1);
bldslottrack = 4;}
if (bldvalue == 2) {
combo_run (QRB2);
bldslottrack = 4;}
}
}
} else event_active_x = FALSE;
if(key_status(KEY_T)) {
if(mode == 0){
combo_run (ChangeMat);}
else if (mode == 1){
combo_run (ChangeMat2);}
}
if(key_status(KEY_Q)) {
if((mode == 0) && (wpndirectslottrack > 0)) {
wpnvalue = 1 - wpnslottrack;
if (wpnvalue == -1) {
combo_run (LB1);
wpnslottrack = 1;}
if (wpnvalue == -2) {
combo_run (LB2);
wpnslottrack = 1;}
if (wpnvalue == -3) {
combo_run (RB2);
wpnslottrack = 1;}
if (wpnvalue == -4) {
combo_run (RB1);
wpnslottrack = 1;}
}
else if ((mode == 0) && (wpndirectslottrack == 0)) {
wpnvalue = wpnslottrack;
tempWST = 1;
wpndirectslottrack = 1;
if (wpnvalue == 1) {
combo_run (RB1);
wpnslottrack = 1;}
if (wpnvalue == 2) {
combo_run (LB2);
wpnslottrack = 1;}
if (wpnvalue == 3) {
combo_run (LB3);
wpnslottrack = 1;}
if (wpnvalue == 4) {
combo_run (RB3);
wpnslottrack = 1;}
if (wpnvalue == 5) {
combo_run (RB2);
wpnslottrack = 1;}
}
else if (mode == 1){
mode = 0;
wpnvalue = 1 - wpnslottrack;
if (wpnvalue == -1) {
combo_run (W_LB1);
wpnslottrack = 1;}
if (wpnvalue == -2) {
combo_run (W_LB2);
wpnslottrack = 1;}
if (wpnvalue == -3) {
combo_run (W_RB2);
wpnslottrack = 1;}
if (wpnvalue == -4) {
combo_run (W_RB1);
wpnslottrack = 1;}
if (wpnvalue == 0) {
combo_run (Mode_Change);
wpnslottrack = 1;}
}
}
if(key_status(KEY_R)) {
if((mode == 0) && (wpndirectslottrack > 0)) {
wpnvalue = 2 - wpnslottrack;
if (wpnvalue == -1) {
combo_run (LB1);
wpnslottrack = 2;}
if (wpnvalue == -2) {
combo_run (LB2);
wpnslottrack = 2;}
if (wpnvalue == -3) {
combo_run (RB2);
wpnslottrack = 2;}
if (wpnvalue == 1) {
combo_run (RB1);
wpnslottrack = 2;}
}
else if ((mode == 0) && (wpndirectslottrack == 0)) {
wpnvalue = wpnslottrack;
tempWST = 1;
wpndirectslottrack = 1;
if (wpnvalue == 1) {
combo_run (RB2);
wpnslottrack = 2;}
if (wpnvalue == 2) {
combo_run (RB1);
wpnslottrack = 2;}
if (wpnvalue == 3) {
combo_run (LB2);
wpnslottrack = 2;}
if (wpnvalue == 4) {
combo_run (LB3);
wpnslottrack = 2;}
if (wpnvalue == 5) {
combo_run (RB3);
wpnslottrack = 2;}
}
else if (mode == 1){
mode = 0;
wpnvalue = 2 - wpnslottrack;
if (wpnvalue == -1) {
combo_run (W_LB1);
wpnslottrack = 2;}
if (wpnvalue == -2) {
combo_run (W_LB2);
wpnslottrack = 2;}
if (wpnvalue == -3) {
combo_run (W_RB2);
wpnslottrack = 2;}
if (wpnvalue == 1) {
combo_run (W_RB1);
wpnslottrack = 2;}
if (wpnvalue == 0) {
combo_run (Mode_Change);
wpnslottrack = 2;}
}
}
if(key_status(KEY_3)) {
if((mode == 0) && (wpndirectslottrack > 0)){
wpnvalue = 3 - wpnslottrack;
if (wpnvalue == -1) {
combo_run (LB1);
wpnslottrack = 3;}
if (wpnvalue == -2) {
combo_run (LB2);
wpnslottrack = 3;}
if (wpnvalue == 2) {
combo_run (RB2);
wpnslottrack = 3;}
if (wpnvalue == 1) {
combo_run (RB1);
wpnslottrack = 3;}
}
else if ((mode == 0) && (wpndirectslottrack == 0)) {
wpnvalue = wpnslottrack;
tempWST = 1;
wpndirectslottrack = 1;
if (wpnvalue == 1) {
combo_run (RB3);
wpnslottrack = 3;}
if (wpnvalue == 2) {
combo_run (RB2);
wpnslottrack = 3;}
if (wpnvalue == 3) {
combo_run (RB1);
wpnslottrack = 3;}
if (wpnvalue == 4) {
combo_run (LB2);
wpnslottrack = 3;}
if (wpnvalue == 5) {
combo_run (LB3);
wpnslottrack = 3;}
}
else if (mode == 1){
mode = 0;
wpnvalue = 3 - wpnslottrack;
if (wpnvalue == -1) {
combo_run (W_LB1);
wpnslottrack = 3;}
if (wpnvalue == -2) {
combo_run (W_LB2);
wpnslottrack = 3;}
if (wpnvalue == 2) {
combo_run (W_RB2);
wpnslottrack = 3;}
if (wpnvalue == 1) {
combo_run (W_RB1);
wpnslottrack = 3;}
if (wpnvalue == 0) {
combo_run (Mode_Change);
wpnslottrack = 3;}
}
}
if(key_status(KEY_4)) {
if((mode == 0) && (wpndirectslottrack > 0)){
wpnvalue = 4 - wpnslottrack;
if (wpnvalue == -1) {
combo_run (LB1);
wpnslottrack = 4;}
if (wpnvalue == 3) {
combo_run (LB2);
wpnslottrack = 4;}
if (wpnvalue == 2) {
combo_run (RB2);
wpnslottrack = 4;}
if (wpnvalue == 1) {
combo_run (RB1);
wpnslottrack = 4;}
}
else if ((mode == 0) && (wpndirectslottrack == 0)) {
wpnvalue = wpnslottrack;
tempWST = 1;
wpndirectslottrack = 1;
if (wpnvalue == 1) {
combo_run (LB3);
wpnslottrack = 4;}
if (wpnvalue == 2) {
combo_run (RB3);
wpnslottrack = 4;}
if (wpnvalue == 3) {
combo_run (RB2);
wpnslottrack = 4;}
if (wpnvalue == 4) {
combo_run (RB1);
wpnslottrack =4;}
if (wpnvalue == 5) {
combo_run (LB2);
wpnslottrack = 4;}
}
else if (mode == 1){
mode = 0;
wpnvalue = 4 - wpnslottrack;
if (wpnvalue == -1) {
combo_run (W_LB1);
wpnslottrack = 4;}
if (wpnvalue == 3) {
combo_run (W_LB2);
wpnslottrack = 4;}
if (wpnvalue == 2) {
combo_run (W_RB2);
wpnslottrack = 4;}
if (wpnvalue == 1) {
combo_run (W_RB1);
wpnslottrack = 4;}
if (wpnvalue == 0) {
combo_run (Mode_Change);
wpnslottrack = 4;}
}
}
if(key_status(KEY_5)) {
if((mode == 0) && (wpndirectslottrack > 0)){
wpnvalue = 5 - wpnslottrack;
if (wpnvalue == 4) {
combo_run (LB1);
wpnslottrack = 5;}
if (wpnvalue == 3) {
combo_run (LB2);
wpnslottrack = 5;}
if (wpnvalue == 2) {
combo_run (RB2);
wpnslottrack = 5;}
if (wpnvalue == 1) {
combo_run (RB1);
wpnslottrack = 5;}
}
else if ((mode == 0) && (wpndirectslottrack == 0)) {
wpnvalue = wpnslottrack;
tempWST = 1;
wpndirectslottrack = 1;
if (wpnvalue == 1) {
combo_run (LB2);
wpnslottrack = 5;}
if (wpnvalue == 2) {
combo_run (LB3);
wpnslottrack = 5;}
if (wpnvalue == 3) {
combo_run (RB3);
wpnslottrack = 5;}
if (wpnvalue == 4) {
combo_run (RB2);
wpnslottrack = 5;}
if (wpnvalue == 5) {
combo_run (RB1);
wpnslottrack = 5;}
}
else if (mode == 1){
mode = 0;
wpnvalue = 5 - wpnslottrack;
if (wpnvalue == 4) {
combo_run (W_LB1);
wpnslottrack = 5;}
if (wpnvalue == 3) {
combo_run (W_LB2);
wpnslottrack = 5;}
if (wpnvalue == 2) {
combo_run (W_RB2);
wpnslottrack = 5;}
if (wpnvalue == 1) {
combo_run (W_RB1);
wpnslottrack = 5;}
if (wpnvalue == 0) {
combo_run (Mode_Change);
wpnslottrack = 5;}
}
}
//------------------------------------------------------------------------------
//LED
if (mode == 1){
switch(bldslottrack) {
case 0: display_overlay(_0_, 2000); break;
case 1: display_overlay(_1_, 2000); break;
case 2: display_overlay(_2_, 2000); break;
case 3: display_overlay(_3_, 2000); break;
case 4: display_overlay(_4_, 2000); break;
}
}
else if ((mode == 1) && (tempWST == 0)) {
display_overlay(_0_, 2000); }
if ((mode == 0) && (tempWST == 1)){
switch(wpnslottrack) {
case 0: display_overlay(_0_, 2000); break;
case 1: display_overlay(_1_, 2000); break;
case 2: display_overlay(_2_, 2000); break;
case 3: display_overlay(_3_, 2000); break;
case 4: display_overlay(_4_, 2000); break;
case 5: display_overlay(_5_, 2000); break;
}
}
else if ((mode == 0) && (tempWST == 0)) {
display_overlay(_0_, 2000); }
} // main
combo ChangeMat {
wait(40);
set_val(BUTTON_15, 100.0);
wait(120);
set_val(BUTTON_15, 0.0);
wait(320);
set_val(BUTTON_8, 100.0);
wait(40);
set_val(BUTTON_8, 0.0);
wait(40);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
}
combo ChangeMat2 {
wait(40);
set_val(BUTTON_8, 100.0);
wait(40);
set_val(BUTTON_8, 0.0);
wait(80);
}
combo BuildWall {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
wait(40);
wait(160);
set_val(BUTTON_5, 100.0);
wait(40);
set_val(BUTTON_5, 0.0);
wait(40);
bldslottrack = 1;
mode = 1;
tempWST = 1;
}
combo BuildFloor {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0.0);
wait(100);
bldslottrack = 2;
mode = 1;
tempWST = 1;
}
combo BuildStair {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0.0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0.0);
wait(40);
wait(160);
set_val(BUTTON_5, 100.0);
wait(40);
set_val(BUTTON_5, 0.0);
wait(40);
bldslottrack = 3;
mode = 1;
tempWST = 1;
}
combo BuildDiamond {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
wait(40);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0.0);
wait(100);
bldslottrack = 4;
mode = 1;
tempWST = 1;
}
combo LB1 {
wait(20);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(40);
}
combo LB2 {
wait(20);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(40);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(80);
}
combo QLB1 {
wait(20);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(40);
wait(160);
set_val(BUTTON_5, 100.0);
wait(40);
set_val(BUTTON_5, 0.0);
wait(40);
}
combo QLB2 {
wait(20);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(40);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(40);
wait(160);
set_val(BUTTON_5, 100.0);
wait(40);
set_val(BUTTON_5, 0.0);
wait(40);
}
combo LB3 {
wait(20);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(40);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(40);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(80);
}
combo RB1 {
wait(20);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(80);
}
combo QRB1 {
wait(20);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(40);
wait(160);
set_val(BUTTON_5, 100.0);
wait(40);
set_val(BUTTON_5, 0.0);
wait(40);
}
combo RB2 {
wait(20);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(40);
wait(160);
set_val(BUTTON_5, 100.0);
wait(40);
set_val(BUTTON_5, 0.0);
wait(40);
}
combo QRB2 {
wait(20);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(80);
}
combo RB3 {
wait(20);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(80);
}
combo W_LB1 {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
wait(40);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(80);
}
combo W_LB2 {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
wait(40);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(40);
set_val(BUTTON_7, 100.0);
wait(40);
set_val(BUTTON_7, 0);
wait(80);
}
combo W_RB1 {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(80);
}
combo RT {
wait(40);
set_val(BUTTON_5, 100.0);
wait(40);
set_val(BUTTON_5, 0.0);
wait(40);
}
combo W_RB2 {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(40);
set_val(BUTTON_4, 100.0);
wait(40);
set_val(BUTTON_4, 0);
wait(80);
}
combo Mode_Change {
wait(20);
set_val(BUTTON_15, 100.0);
wait(40);
set_val(BUTTON_15, 0.0);
}
combo DoublePumpShotguns {
set_val(BUTTON_5, 100.0);
wait(50);
set_val(BUTTON_5, 0.0);
wait(50);
set_val(BUTTON_4, 100.0);
wait(50);
set_val(BUTTON_4, 0.0);
wait(650);
set_val(BUTTON_5, 100.0);
wait(50);
set_val(BUTTON_5, 0.0);
wait(50);
set_val(BUTTON_7, 100.0);
wait(50);
set_val(BUTTON_7, 0.0);
wait(650);
}
//------------------------------------------------------------------------------
// KEYBOARD SUPPORT
// view pressed key
void output_keycode() {
static uint8 previous_keycode;
uint8 keycode;
keycode = key_check();
if(keycode != previous_keycode) {
if(keycode) {
printf("Key Code: %02X", keycode);
}
previous_keycode = keycode;
}
return;
}
Obviously, this script relies on actual keys. Can somebody help me code this so that my G13 keys are mapped similarly to the image above? Any help would be much appreciated. I just want to enjoy this as much as possible.
Also a bit off topic, but with this current script the game doesn't feel like I'm getting much Aim Assist. Is this natural, or did I do something wrong? Thanks in advance!
-
[redacted] - Master Sergeant
- Posts: 32
- Joined: Sat Feb 24, 2018 1:23 am
Re: Logitech G13 startup guide
Very quick, Logitech PC profiles not working thear.
No needs to map Buttons as Buttons in Logitech Profile Map actions on this buttons not (1,2, ..... Q,R)
Each button in
Is equal to the physical pleasure button on Logitech G13 see
Each button Logitech G13 is equal T2 buttons on it please
So by default if you press
On Logitech G13 button G1 it is equal you press BUTTON_1 G13 - BUTTON_13 G14 - BUTTON_14 &.....
Combinate them as you need.
https://www.consoletuner.com/forum/viewtopic.php?f=25&t=7378&p=59172#p59172
No needs to map Buttons as Buttons in Logitech Profile Map actions on this buttons not (1,2, ..... Q,R)
Each button in
- Code: Select all
const uint8 mapG13[] = {
....
}
Is equal to the physical pleasure button on Logitech G13 see
- Code: Select all
// original line
...
Each button Logitech G13 is equal T2 buttons on it please
So by default if you press
On Logitech G13 button G1 it is equal you press BUTTON_1 G13 - BUTTON_13 G14 - BUTTON_14 &.....
Combinate them as you need.
https://www.consoletuner.com/forum/viewtopic.php?f=25&t=7378&p=59172#p59172
-
sky418 - Command Sergeant Major
- Posts: 124
- Joined: Fri Nov 25, 2016 4:28 am
Re: Logitech G13 startup guide
Hello sky418,
lets pretend I do not define any PS4 buttons to the G13's button G2. Or mark G2 with "ACCEL_2_Z". And I want to use this button in my script as a trigger for a run_combo. Whats the name of that button? Could you or somebody else give an example please?
lets pretend I do not define any PS4 buttons to the G13's button G2. Or mark G2 with "ACCEL_2_Z". And I want to use this button in my script as a trigger for a run_combo. Whats the name of that button? Could you or somebody else give an example please?
-
Fami - Staff Sergeant
- Posts: 14
- Joined: Tue Sep 05, 2017 8:26 am
Re: Logitech G13 startup guide
G2 is already mark with "ACCEL_2_Z". "ACCEL_2_Z" is not used button at all.
As i correctly understood you want to enable - disable some action by using G2 button, and not using DS4 button at the same time. I'll think what to do, but G13 is seeing by T2 as a HID device not keyboard, so you can't use keyboard layout on it, as a result no external (useful keyboard) keys, and only keys (buttons) that DS4 have.
As i correctly understood you want to enable - disable some action by using G2 button, and not using DS4 button at the same time. I'll think what to do, but G13 is seeing by T2 as a HID device not keyboard, so you can't use keyboard layout on it, as a result no external (useful keyboard) keys, and only keys (buttons) that DS4 have.
-
sky418 - Command Sergeant Major
- Posts: 124
- Joined: Fri Nov 25, 2016 4:28 am
14 posts
• Page 2 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 92 guests