Comments (7)
Comment by wasamasa
Thursday Feb 26, 2015 at 10:50 GMT
The general idea is that hacks like detecting a plugged in keyboard and setting keyboard options for the currently plugged one with a script are very brittle and hard to pull off correctly.
Xorg offers you to set XKB options both generally and for matching devices, with that functionality one can have keyboard-specific options that just work. It appears as if all keyboard input is matched against the device information and specified options.
from ewlc.
Comment by Cloudef
Tuesday Aug 25, 2015 at 20:26 GMT
For now I exposed libinput devices in wlc.h, this probably makes most sense. But I keep this issue open if there are problems.
from ewlc.
Comment by Cloudef
Tuesday Aug 25, 2015 at 20:27 GMT
I also exposed xkb_keymap and xkb_state, however no multiple keyboards yet nor layout configuration ...
from ewlc.
Comment by wasamasa
Monday Oct 10, 2016 at 14:52 GMT
I've handed in an enhancement request for libinput: https://bugs.freedesktop.org/show_bug.cgi?id=98194
from ewlc.
Comment by iv597
Wednesday Oct 19, 2016 at 03:01 GMT
Yep, I'm considering moving to Sway from AwesomeWM on Xorg, but I use dvorak - software on my laptop's internal keyboard, and hardware on my ErgoDox EZ. It took some fighting with xorg.conf, but it was doable. I see no real way of doing this in any wayland compositor I've looked into so far, short of using an XKB toggle key (maybe the AppMenu key? That annoying thing bound to Fn+RCtrl on my laptop internal board?)
from ewlc.
Comment by Earnestly
Wednesday Oct 19, 2016 at 12:50 GMT
All of those Xkb*
options are exposed via environment variables which xkbcommon uses, e.g. XKB_DEFAULT_LAYOUT
, XKB_DEFAULT_OPTIONS
, XKB_DEFAULT_VARIANT
, etc.
They all accept the same format and arguments as the xorg.conf
.
from ewlc.
Comment by wasamasa
Thursday Feb 02, 2017 at 08:25 GMT
@iv597 I finally solved this in a global manner by writing my own hwdb rules that match per device, that way I only need to enable a compose key rule in Xorg (with setxkbmap
or a config option) and Wayland (with XKB_DEFAULT_OPTIONS
). In other words, I'm inclined to close this issue, but won't as there's a linked one that cannot be solved this way.
Relevant commit: wasamasa/dotfiles@ca08251
from ewlc.
Related Issues (20)
- Missing include in gles2.c HOT 1
- New created views has strange geometry HOT 1
- [question] Is this going to be merged with WLC?
- [Feature Request] set kbmap per window HOT 4
- wlc error when starting sway inside tmux
- Bugs with Qt-applications... HOT 1
- Use seat interface version 5 HOT 7
- build/link error "undefined reference to `zxdg_*"
- wlc example not letting me leave virtual terminal session HOT 1
- build fails except `wayland-protocols` is installed system-wide HOT 2
- Screen tearing
- Allow keys to be remapped based on press duration
- If callback to view_set_geometry is not specified, view is doing what it wants
- X backend is broken as of EGLStreams support HOT 3
- Weird behavior when switching to/from VT when using scaled output HOT 2
- Build has too many warnings HOT 3
- glfw window not showing when not creating OpenGL context HOT 8
- When switching vts, wlc_output_created_cb is called without corresponding wlc_output_destroyed_cb
- wlc is going to be abandoned? HOT 6
- Set XWayland scaling HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ewlc.