Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ static std::string power_zones[ASUSAURACORELAPTOP_POWER_ZONES] =
"Logo",
ZONE_EN_KEYBOARD,
"Lightbar",
"Lid Edges"
"Lid Edges",
"Rear Glow"
};

static std::string power_states[ASUSAURACORELAPTOP_POWER_STATES] =
Expand Down Expand Up @@ -275,13 +276,9 @@ void AsusAuraCoreLaptopController::SetLedsDirect(std::vector<RGBColor *> colors)

void AsusAuraCoreLaptopController::SendBrightness()
{
const uint8_t index = 5;
uint8_t buffer[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID, ASUSAURACORELAPTOP_CMD_BRIGHTNESS, 0xC5, 0xC4};
uint8_t buffer[ASUSAURACORELAPTOP_BRIGHTNESS_PACKET_SIZE] = { ASUSAURACORELAPTOP_BRIGHTNESS_REPORT_ID, ASUSAURACORELAPTOP_CMD_BRIGHTNESS, 0xC5, 0xC4, current_brightness };

memset(&buffer[index], 0, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE - index);
buffer[4] = current_brightness;

hid_send_feature_report(dev, buffer, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE);
hid_send_feature_report(dev, buffer, ASUSAURACORELAPTOP_BRIGHTNESS_PACKET_SIZE);
}

void AsusAuraCoreLaptopController::SendUpdate()
Expand Down Expand Up @@ -406,26 +403,33 @@ void AsusAuraCoreLaptopController::SetPowerConfigFromJSON()
false, false,

power_config[12].state, power_config[13].state,
!power_config[14].state, !power_config[15].state
!power_config[14].state, !power_config[15].state,

false, false,
false, false,

power_config[16].state, power_config[17].state,
power_config[18].state, power_config[19].state
};

uint32_t flags = PackPowerFlags(flag_array);
LOG_DEBUG("[%s] Sending power config Logo+KB: %02X Lightbar: %02X Lid Edges: %02X Raw: %08X",
LOG_DEBUG("[%s] Sending power config Logo+KB: %02X Lightbar: %02X Lid Edges: %02X Rear Glow: %02X Raw: %08X",
aura_core_laptop_device_list[device_index]->dmi_name.c_str(),
(flags & 0xFF), ((flags >> 8) & 0xFF), ((flags >> 16) & 0xFF), flags);
(flags & 0xFF), ((flags >> 8) & 0xFF), ((flags >> 16) & 0xFF), ((flags >> 24) & 0xFF), flags);
SendPowerConfig(flags);
}

void AsusAuraCoreLaptopController::SendPowerConfig(uint32_t flags)
{
const uint8_t index = 6;
uint8_t buffer[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID, ASUSAURACORELAPTOP_CMD_POWER, 0x01, 0x00, 0x00, 0x0F };
const uint8_t index = 7;
uint8_t buffer[ASUSAURACORELAPTOP_WRITE_PACKET_SIZE] = { ASUSAURACORELAPTOP_REPORT_ID, ASUSAURACORELAPTOP_CMD_POWER, 0x01, 0x00, 0x00, 0x0F, 0x00 };

memset(&buffer[index], 0, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE - index);

buffer[3] = flags & 0xFF;
buffer[4] = (flags >> 8) & 0xFF;
buffer[5] = (flags >> 16) & 0xFF;
buffer[6] = (flags >> 24) & 0xFF;

hid_send_feature_report(dev, buffer, ASUSAURACORELAPTOP_WRITE_PACKET_SIZE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,14 @@
#define ASUSAURACORELAPTOP_TIMEOUT 250
#define ASUSAURACORELAPTOP_READ_PACKET_SIZE 64
#define ASUSAURACORELAPTOP_WRITE_PACKET_SIZE 64 //Buffer requires a prepended ReportID hence + 1
#define ASUSAURACORELAPTOP_BRIGHTNESS_PACKET_SIZE 5

#define ASUSAURACORELAPTOP_KEYCOUNT 91
#define ASUSAURACORELAPTOP_KEY_WIDTH 18
#define ASUSAURACORELAPTOP_KEY_HEIGHT 7
#define ASUSAURACORELAPTOP_LIGHTBARCOUNT 6
#define ASUSAURACORELAPTOP_LIDCOUNT 3
#define ASUSAURACORELAPTOP_POWER_ZONES 4
#define ASUSAURACORELAPTOP_POWER_ZONES 5
#define ASUSAURACORELAPTOP_POWER_STATES 4
#define ASUSAURACORELAPTOP_BRIGHTNESS_MIN 0
#define ASUSAURACORELAPTOP_BRIGHTNESS_MAX 3 // No device has proven to have 256 keyboard brightness levels, only 0..3
Expand Down Expand Up @@ -78,6 +79,7 @@ enum
enum
{
ASUSAURACORELAPTOP_REPORT_ID = 0x5D,
ASUSAURACORELAPTOP_BRIGHTNESS_REPORT_ID = 0x5A,
ASUSAURACORELAPTOP_CMD_BRIGHTNESS = 0xBA,
ASUSAURACORELAPTOP_CMD_DIRECT = 0xBC,
ASUSAURACORELAPTOP_CMD_POWER = 0xBD,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -729,6 +729,48 @@ keyboard_keymap_overlay_values g814jv_lightbar_layout
}
};

keyboard_keymap_overlay_values g834jy_lid_layout
{
KEYBOARD_SIZE_EMPTY,
{
{ /* Values not set in empty keyboard */ },
{
/* Regional layout fixes (none) */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 0, 167, "ROG Logo", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
}
};

keyboard_keymap_overlay_values g834jy_lightbar_layout
{
KEYBOARD_SIZE_EMPTY,
{
{ /* Values not set in empty keyboard */ },
{
/* Regional layout fixes (none) */
}
},
{
/*-------------------------------------------------------------------------------------------------------------------------------------*\
| Edit Keys |
| Zone, Row, Column, Value, Key, Alternate Name, OpCode, |
\*-------------------------------------------------------------------------------------------------------------------------------------*/
{ 0, 0, 0, 174, "Lightbar Left", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 1, 173, "Lightbar Left Corner", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 2, 172, "Lightbar Bottom Left", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 3, 171, "Lightbar Bottom Right", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 4, 170, "Lightbar Right Corner", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
{ 0, 0, 5, 169, "Lightbar Right", KEY_EN_UNUSED, KEYBOARD_OPCODE_INSERT_SHIFT_RIGHT, },
}
};



/*-------------------------------------------------------------------------*\
| AURA CORE LAPTOP DEVICES |
Expand Down Expand Up @@ -940,6 +982,45 @@ static const aura_core_laptop_device g814jv_device =
}
};

/*-------------------------------------------------------------*\
| ASUS ROG Strix SCAR 18 G834JY |
| |
| Zone "Keyboard" |
| Matrix |
| 7 Rows, 16 Columns |
\*-------------------------------------------------------------*/

static const aura_core_laptop_zone g834jy_keyboard_zone =
{
ZONE_EN_KEYBOARD,
&g814jv_keyboard_layout
};

static const aura_core_laptop_zone g834jy_lid_zone =
{
"Lid",
&g834jy_lid_layout
};

static const aura_core_laptop_zone g834jy_lightbar_zone =
{
"Lightbar",
&g834jy_lightbar_layout
};

static const aura_core_laptop_device g834jy_device =
{
"G834JY",
{
&g834jy_keyboard_zone,
&g834jy_lid_zone,
&g834jy_lightbar_zone,
nullptr,
nullptr,
nullptr
}
};

/*-------------------------------------------------------------------------*\
| DEVICE MASTER LIST |
\*-------------------------------------------------------------------------*/
Expand All @@ -954,6 +1035,7 @@ const aura_core_laptop_device* aura_core_laptop_device_list_data[] =
&g713rw_device,
&g733qr_device,
&g814jv_device,
&g834jy_device,
};

const unsigned int AURA_CORE_LAPTOP_DEVICE_COUNT = (sizeof(aura_core_laptop_device_list_data) / sizeof(aura_core_laptop_device_list_data[ 0 ]));
Expand Down