Fixing VIA Keyboard Configuration Access Denied Error
When using the VIA keyboard configurator on Linux, you may encounter an access denied error that prevents you from editing your keyboard layout. This guide shows how to resolve the issue.
Problem Description
When attempting to configure a custom keyboard with VIA firmware in a Chromium-based browser (Chrome, Brave, Edge), the VIA app fails to connect to the keyboard with no clear error message shown to the user.
Identifying the Issue
-
Open the Chrome device log by navigating to:
-
Look for an error message similar to:
Understanding the Error
This error indicates that Chrome/Chromium cannot access the HID (Human Interface Device) raw device interface for your keyboard due to insufficient permissions.
Device Number May Vary
The device number (hidraw9 in this example) will vary depending on your system and which USB port your keyboard is connected to. Your keyboard might be hidraw0, hidraw3, etc.
Solution: Grant Device Permissions
The quickest solution is to grant read and write permissions to the specific HID device.
Temporary Fix
Run the following command, replacing the device number with the one from your error message:
This command grants read and write permissions to all users for the specified device.
Steps to Apply
- Identify your device from
chrome://device-log - Run the
chmodcommand with the correct device number - Refresh or reopen the VIA app
- You should now be able to configure your keyboard
Temporary Solution
This fix only lasts until you reboot or unplug/replug your keyboard. You'll need to run the command again each time.
Verification
After applying the fix:
- Open or refresh the VIA app in your browser
- Connect your keyboard (if not already connected)
- The keyboard should now appear in VIA
- You should be able to edit your layout and configure keys
Troubleshooting
VIA Still Can't Detect Keyboard
Problem: After fixing permissions, VIA still doesn't detect the keyboard.
Solutions:
- Ensure VIA supports your keyboard model
- Try a different USB port
- Check if the keyboard is in VIA mode (some keyboards require a key combination)
- Try a different browser (Chromium-based browsers work best)
- Verify the keyboard appears in lsusb output
Permission Denied After Reboot
Problem: The fix stops working after a reboot.
Solution:
- The chmod command doesn't persist across reboots
- You need to run the command again after each reboot
- The same applies if you unplug and replug the keyboard
Additional Notes
VIA Compatibility
VIA works with keyboards that have VIA-compatible firmware. If your keyboard uses: - QMK with VIA support - Should work - VIA firmware - Should work - Stock firmware - Likely won't work (flash VIA-compatible firmware first)
Browser Compatibility
VIA works best with Chromium-based browsers: - ✅ Chrome - ✅ Chromium - ✅ Brave - ✅ Microsoft Edge - ❌ Firefox (limited WebHID support)
Web vs Desktop VIA
If browser-based VIA continues to have issues, consider using: - VIA Desktop App - Native Linux application - May have better hardware access without permission issues
Related Documentation
This guide applies to Linux systems using Chromium-based browsers with VIA keyboard configurator.