This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'appid' column | |
magic_appid="617070696400" | |
# Paste in your Steam UserID | |
steam_userid="" | |
shortcuts_vdf="$HOME/.steam/root/userdata/${steam_userid}/config/shortcuts.vdf" | |
# Parse short AppID (unsigned 32bit integer) and convert it to an unsigned 64bit integer |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# AppID is a special case I haven't made generic yet since it doesn't have an end byte the same way other fields do afaik | |
# Adapted from my gist: https://gist.github.com/sonic2kk/4a3383b401931a171a4addc29bdf903f | |
function get_shortcut_appid { | |
# Magic that represents 'appid' column | |
magic_appid="617070696400" | |
shortcut_hex="$1" | |
function convert_aid { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# shortcuts.vdf starts with different bytes than all other shortcuts, this magic basically translates to: '00shortcuts000030000002', | |
# where '0000' is spacing, '30' represents the shortcut index (1), '00' is more spacing, and '0002' is the start of the next column | |
magic_shortcut_filestart="0073686f7274637574730000300002" | |
magic_shortcut_blockstart="00080800.*?0002" # How all other shortcut blocks start, with 00080800, then the shortcut number (could be 31,32,even higher for more shortcuts, so we don't care about the value between), then 0002 for the next block start | |
magic_shortcut_blockend="000808" # How all shortcuts end | |
# Paste in your Steam UserID | |
steam_userid="" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Get value in shortcut entry hex between start and end patterns, with null byte removed, converted to plaintext | |
function get_shortcut_column_value { | |
shortcut_hex="$1" | |
shortcut_pattern_start="$2" | |
shortcut_pattern_end="0001" | |
printf "${shortcut_hex}" | grep -oP "${shortcut_pattern_start}\K.*?(?=${shortcut_pattern_end})" | xxd -r -p | tr -d '\0' | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'exe' column begin and end | |
# Should always be Exe, but you could account for 'exe' with '6578650a' | |
magic_exe_camelcase="000145786500" # 'Exe' | |
magic_exe_end="0001" # end bytes before next column begins | |
# Paste in your Steam UserID | |
steam_userid="" | |
shortcuts_vdf="$HOME/.steam/root/userdata/${steam_userid}/config/shortcuts.vdf" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'Startdir' column begin and end | |
# Should always be CamelCase, but you could account for 'startdir' with '7374617274646972' | |
magic_startdir_camelcase="0001537461727444697200" # 'StartDir' | |
magic_startdir_end="0001" # end bytes before next column begins | |
# Paste in your Steam UserID | |
steam_userid="" | |
shortcuts_vdf="$HOME/.steam/root/userdata/${steam_userid}/config/shortcuts.vdf" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'AppName' and 'appname' column begin and end | |
# Most of the time (including from Steam itself) this will be 'AppName', but accounts for edge-cases as well | |
magic_appname_camelcase="014170704e616d6500" # 'AppName' | |
magic_appname_lowercase="6170706e616d65" # 'appname' | |
magic_appname_end="0001" # end bytes before next column begins | |
# Paste in your Steam UserID | |
steam_userid="" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Magic that represents 'appid' column | |
magic_appid="617070696400" | |
# Paste in your Steam UserID | |
steam_userid="" | |
shortcuts_vdf="$HOME/.steam/root/userdata/${steam_userid}/config/shortcuts.vdf" | |
function convert_aid { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- **Input was laggy**: Sometimes, keyboard/mouse input drops out. It'll come back in about 10 seconds. Can confirm this is a bug with the game and is well documented on the Steam forums. It is not present if you are using a controller. I tested (albeit briefly) with my Steam Controller without issue. There are workarounds to fix this by modifying a configuration file, but I have not tried these so I'm unsure if they work. The issue seems to be reduced when running through Proton though, I read people saying it would happen very frequently. In my experience, it only happened about once every 20 minutes. Perhaps I just got lucky, but I played the game for quite a while and it wasn't as big of a deal as I read it was for some. Keep it in mind though, it's still present under Proton! | |
- **Controller(s) not detected**: Tested the game with a Steam Controller and it worked perfect - As long as you don't start the game from the launcher. If you do that, the game won't register any input from the controller. However, |
NewerOlder