{"blog_url":"https://rott1st.hatenablog.com/","author_url":"https://blog.hatena.ne.jp/rott1st/","provider_name":"Hatena Blog","blog_title":"mahler.jp Programming Tips Blog","url":"https://rott1st.hatenablog.com/entry/2025/04/02/113846","published":"2025-04-02 11:38:46","categories":["Raspberry Pi","C/C++"],"image_url":"https://cdn.image.st-hatena.com/image/square/adad63b72f1d6545b2ba2538c3fc2923b2fd5989/backend=imagemagick;height=80;version=1;width=80/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Fcircle%2Fofficial-circle-icon%2Fcomputers.gif","type":"rich","provider_url":"https://hatena.blog","description":"#include <SDL2/SDL.h> SDL_GameController* g_controller = nullptr; bool Initialize(); bool Update(); void Finalize(); void OnAddedController(int index); void OnRemovedController(); void OutputControllerState(); void OutputIfButtonStateIsPushing(SDL_GameControllerButton type, const char name[]); void \u2026","title":"\u30e9\u30ba\u30d1\u30a4 + C++ + SDL2\u3067\u30b2\u30fc\u30e0\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u306e\u52d5\u4f5c\u78ba\u8a8d","width":"100%","height":"190","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Frott1st.hatenablog.com%2Fentry%2F2025%2F04%2F02%2F113846\" title=\"\u30e9\u30ba\u30d1\u30a4 + C++ + SDL2\u3067\u30b2\u30fc\u30e0\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u306e\u52d5\u4f5c\u78ba\u8a8d - mahler.jp Programming Tips Blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_name":"rott1st","version":"1.0"}