Kubuntu: How to Set Up a Steam Controller (Including Steam on-screen Keyboard)

in ubuntu •  7 years ago  (edited)

guide2.png
If you don't find what you need here, check out #beholderveekubuntuguides , there might be the thing you're looking for.

Is your Steam Controller now working on Kubuntu? Do not fret.

Making It Work

The Steam Controller doesn't work out of the box on Kubuntu. Steam won't detect it and it either won't work at all or will work using the base configuration. You have to create a rules file for it.
Open Konsole. By default you'll be in the Home folder. Type in

cd ../..

Now you're in the root folder. Now let's type in

cd lib/udev/rules.d

Good. We're in the rules folder. Now type in

ls

This will present you with a list of files. Pick one of them. Type it's name like this:

sudo cp FILENAME 99-steam-controller-perm.rules

Where FILENAME is the full name of the file. For example,

sudo cp 99-systemd.rules 99-steam-controller-perm.rules

If you don't have the 99-systemd.rules file in your rules folder the example won't work, you need to put an existing filename there instead.
The reason we're doing this trough the Konsole and not with the help of a GUI file editor is that some file editors can't be run as Root, meaning we can't edit system folders with them.

Now open your file browser. Go to Root/lib/udev/rules.d and open the recently created 99-steam-controller-perm.rules with a text editor. Erase all its contents and paste the following, however, you should put your kubuntu username where it says 'USER':

# This rule is needed for basic functionality of the controller in Steam and keyboard/mouse emulation
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666"

# This rule is necessary for gamepad emulation; make sure you replace 'USER' with a group that the user that runs Steam belongs to
KERNEL=="uinput", MODE="0660", GROUP="_**USER**_", OPTIONS+="static_node=uinput"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666"

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0666"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0666"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0666"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0666"

Save. Great! Now go to Steam Settings -> Controller and check if everything's working. Give yourself a pat on the back, you deserved it.

If only keyboard and mouse controller bindings work in games, but gamepad bindings do not, a possible reason might be that you did not put your own Linux user name in 99-steam-controller-perm.rules where it tells you to. Check the file, you'll see the place in the first half of it.

Now-

Making the Steam Keyboard Work

When you press the Steam Controller stick you get an on-screen keyboard. The problem is, it freezes when you try to type. This is because the Keyboard window is supposed to not be focused when you type. This happens out of the box on Windows, but not Kubuntu.

The fix is rather simple, go to System Settings -> Window Management - > Window Rules. Press 'new'. Now summon the Steam Keyboard, then, using a mouse pointer, not the controller, press 'Detect Window Properties' in the 'Window Rules' window, then click on the keyboard window. Close it. You should have the Keyboard window properties set.
Select 'exact match' for 'window class' and 'window title'.
Go to the 'Arrangement & Access' tab, tick 'Keep Above', select 'Force' and 'Yes'. Now go to the 'Appearance & Fixes' tab. Tick 'Accept Focus' , select 'Force' and 'No'. Press 'Ok' in the bottom of the window. Then 'Apply'.

Congratulations! It should work as intended now.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!