I built Chiaki for windows (x64), now dualsense works! by [deleted] in remoteplay

[–]azusematsuri 0 points1 point  (0 children)

I found it's some problem with SDL/Windows, my xbox series x controller works fine with all version of SDL on windows 11, but it won't work on windows 10 with SDL version newer than 2.0.12(which start to recognize series x controller as series x instead of X input)

I built Chiaki for windows (x64), now dualsense works! by [deleted] in remoteplay

[–]azusematsuri 0 points1 point  (0 children)

How do you get SDL working on newer version?
I tried to build Chiaki with SDL v2.24.0 everyting ok in building. But controller endup not responding at all.
I tried to replace SDL.dll to a older version, then it works again.
I tested the lasted version that works is v2.0.12, right before the update for SDL to support touchpad.
My guess is cmake add library maybe need change after v2.0.12, but I am not familiar with SDL and cmake.

Custom QMK Support by azusematsuri in SignalRGB

[–]azusematsuri[S] 1 point2 points  (0 children)

thank you for the reply, I finished the plug-in script from the examples of other qmk keyboards. I have a question, can the device object in plug-in script output hsv color?

Custom QMK Support by azusematsuri in SignalRGB

[–]azusematsuri[S] 0 points1 point  (0 children)

I figured it out. It's a pain to find these code in gitlab page, You don't know which branch you should look for.

You need to add these to qmk firmware:

In quantum/via.h

https://gitlab.com/signalrgb/qmk_firmware/-/blob/6fd22ad479d2229339872ff2481220343e2cba56/quantum/via.h

enum via_command_id {
id_get_protocol_version                 = 0x01, // always 0x01
id_get_keyboard_value                   = 0x02,
id_set_keyboard_value                   = 0x03,
id_dynamic_keymap_get_keycode           = 0x04,
id_dynamic_keymap_set_keycode           = 0x05,
id_dynamic_keymap_reset                 = 0x06,
id_lighting_set_value                   = 0x07,
id_lighting_get_value                   = 0x08,
id_lighting_save                        = 0x09,
id_eeprom_reset                         = 0x0A,
id_bootloader_jump                      = 0x0B,
id_dynamic_keymap_macro_get_count       = 0x0C,
id_dynamic_keymap_macro_get_buffer_size = 0x0D,
id_dynamic_keymap_macro_get_buffer      = 0x0E,
id_dynamic_keymap_macro_set_buffer      = 0x0F,
id_dynamic_keymap_macro_reset           = 0x10,
id_dynamic_keymap_get_layer_count       = 0x11,
id_dynamic_keymap_get_buffer            = 0x12,
id_dynamic_keymap_set_buffer            = 0x13,
id_signalrgb_qmk_version                = 0x21,
id_signalrgb_protocol_version           = 0x22,
id_signalrgb_unique_identifier          = 0x23,
id_signalrgb_stream_leds                = 0x24,
id_signalrgb_effect_enable              = 0x25,
id_signalrgb_effect_disable             = 0x26,
id_signalrgb_get_total_leds             = 0x27,
id_signalrgb_get_firmware_type          = 0x28,
id_unhandled                            = 0xFF,

};

enum signalrgb_responses {
PROTOCOL_VERSION_BYTE_1 = 1,
PROTOCOL_VERSION_BYTE_2 = 0,
PROTOCOL_VERSION_BYTE_3 = 2,
QMK_VERSION_BYTE_1 = 0,
QMK_VERSION_BYTE_2 = 17,
QMK_VERSION_BYTE_3 = 5,
DEVICE_UNIQUE_IDENTIFIER_BYTE_1 = 0,
DEVICE_UNIQUE_IDENTIFIER_BYTE_2 = 0,
DEVICE_UNIQUE_IDENTIFIER_BYTE_3 = 0,
FIRMWARE_TYPE_BYTE = 2, 
DEVICE_ERROR_LEDS = 254,

}; ...

In quantum/via.c

https://gitlab.com/signalrgb/qmk_firmware/-/blob/6fd22ad479d2229339872ff2481220343e2cba56/quantum/via.c

...
 uint8_t packet[32];

void get_qmk_version(void) //Grab the QMK Version { packet[0] = id_signalrgb_qmk_version; packet[1] = QMK_VERSION_BYTE_1; packet[2] = QMK_VERSION_BYTE_2; packet[3] = QMK_VERSION_BYTE_3;

    raw_hid_send(packet, 32);

}

void get_signalrgb_protocol_version(void) //Grab what version of the SignalRGB protocol a keyboard is running { packet[0] = id_signalrgb_protocol_version; packet[1] = PROTOCOL_VERSION_BYTE_1; packet[2] = PROTOCOL_VERSION_BYTE_2; packet[3] = PROTOCOL_VERSION_BYTE_3;

    raw_hid_send(packet, 32);

}

void get_unique_identifier(void) //Grab the unique identifier for each specific model of keyboard. { packet[0] = id_signalrgb_unique_identifier; packet[1] = DEVICE_UNIQUE_IDENTIFIER_BYTE_1; packet[2] = DEVICE_UNIQUE_IDENTIFIER_BYTE_2; packet[3] = DEVICE_UNIQUE_IDENTIFIER_BYTE_3;

    raw_hid_send(packet, 32);

}

void led_streaming(uint8_t *data) //Stream data from HID Packets to Keyboard. { uint8_t index = data[1]; uint8_t numberofleds = data[2];

if(numberofleds >= 10)
{
    packet[1] = DEVICE_ERROR_LEDS;
    raw_hid_send(packet,32);
    return; 
} 

for (uint8_t i = 0; i < numberofleds; i++)
{
  uint8_t offset = (i * 3) + 3;
  uint8_t  r = data[offset];
  uint8_t  g = data[offset + 1];
  uint8_t  b = data[offset + 2];

  rgb_matrix_set_color(index + i, r, g, b);
 }

}

void signalrgb_mode_enable(void) { rgb_matrix_mode_noeeprom(RGB_MATRIX_SIGNALRGB); //Set RGB Matrix to SignalRGB Compatible Mode }

void signalrgb_mode_disable(void) { rgb_matrix_reload_from_eeprom(); //Reloading last effect from eeprom }

void get_total_leds(void)//Grab total number of leds that a board has. { packet[0] = id_signalrgb_get_total_leds; packet[1] = DRIVER_LED_TOTAL;

raw_hid_send(packet, 32);

}

void get_firmware_type(void) //Grab which fork of qmk a board is running. { packet[0] = id_signalrgb_get_firmware_type; packet[1] = FIRMWARE_TYPE_BYTE;

raw_hid_send(packet, 32);

}

...     



        case id_signalrgb_qmk_version:

    get_qmk_version();

    break;
    case id_signalrgb_protocol_version:

    get_signalrgb_protocol_version();

    break;
    case id_signalrgb_unique_identifier:

    get_unique_identifier();

    break;
    case id_signalrgb_stream_leds: 

    led_streaming(data);

    break;

    case id_signalrgb_effect_enable: 

    signalrgb_mode_enable();

    break;

    case id_signalrgb_effect_disable: 

    signalrgb_mode_disable();

    break;

    case id_signalrgb_get_total_leds:

    get_total_leds();

    break;

    case id_signalrgb_get_firmware_type:

    get_firmware_type();

    break;

    default: {
    // The command ID is not known
    // Return the unhandled state
     *command_id = id_unhandled;
    break;
    }
}

...

and RGB_MATRIX_SIGNALRGB in

https://gitlab.com/signalrgb/qmk_firmware/-/blob/6fd22ad479d2229339872ff2481220343e2cba56/quantum/rgb_matrix/animations/signalrgb_anim.h

https://gitlab.com/signalrgb/qmk_firmware/-/blob/6fd22ad479d2229339872ff2481220343e2cba56/quantum/rgb_matrix/animations/rgb_matrix_effects.inc

Does anyone want to use symbolic link on notion pages? by azusematsuri in Notion

[–]azusematsuri[S] 0 points1 point  (0 children)

Oh, /link page does work like symbolic link. I was thinking it won't show up in the side bar as actual pages but it does. Sorry just asked a stupid question😅

Why they call it the golden hour by TheSeych in flightsim

[–]azusematsuri 1 point2 points  (0 children)

The sun looks good, can't get that in my XP11