Why the Numpad Stopped Working in English Mode on Waydroid: Reading the Android and Waydroid Source

Inside Waydroid, which runs Android on Linux, the numpad stopped typing digits. With Gboard set to Japanese, it worked. With “English (US)”, it did not. The digit row above the letters worked in both. On the host (Arch Linux, sway), the numpad typed digits normally. Adding input * xkb_numlock enabled to the sway config did not help. I looked into why, using the source code and measurements. Summary The host’s NumLock state is not passed to the Android inside Waydroid. The sway setting has no effect on Waydroid. Android’s own NumLock state is probably being cleared right after it is set. The source and the measurements agree, but I did not observe the value that does the clearing. Adding a keyboard layout through an Android app, one that maps the numpad to digits, made the numpad type digits in English mode. What the source says I read Waydroid’s HWC (hwcomposer/wayland-hwc.cpp in android_hardware_waydroid), the input code of Android 13 (android13-release), and the patches Waydroid applies (android_vendor_waydroid). ...

Giving Up on an Encrypted Waydroid Cache and Recovering Chat History from PSN's Private API Instead

I wanted to save an old chat history with a friend on PlayStation Network (PSN) before it disappeared somewhere. I run the PS App inside Waydroid (a way to run Android on Linux) on my PC. The obvious first move — read the local cache file directly — turned into a longer investigation than expected. The local cache was encrypted Waydroid stores each app’s data under ~/.local/share/waydroid/data/data/<package-name>/, mirroring Android’s own /data partition layout. Inside the PS App’s folder, databases/ had some promising-looking files. ...

Termux's sshd Logs You In as the Same User Whatever Name You Send — Reading the Patch

I added an entry to ~/.ssh/config so I could scp images from my desktop to my Pixel 6 (running Termux’s sshd), and I put a User in it. Then I noticed: when the other end is Termux, ssh banana@<phone> and ssh root@<phone> both log in as the same user. The User line in ~/.ssh/config does nothing. It’s not a config problem — it’s how Termux’s OpenSSH is built. First, the observation $ ssh -p 8022 banana@100.65.202.69 'whoami' u0_a440 $ ssh -p 8022 root@100.65.202.69 'whoami' u0_a440 Copy banana and root both connect, and both land as u0_a440 (the Termux app’s user). The key is checked only against /data/data/com.termux/files/home/.ssh/authorized_keys. ...