summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-05-31Use enum wl_keyboard_key_state instead of integerDaniel Stone14-29/+50
Instead of using a uint32_t for state everywhere (except on the wire, where that's still the call signature), use the new wl_keyboard_key_state enum, and explicit comparisons. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Use enum wl_pointer_button_state instead of integerDaniel Stone20-59/+101
Instead of using a uint32_t for state everywhere (except on the wire, where that's still the call signature), use the new wl_pointer_button_state enum, and explicit comparisons. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31test-client.c: Replace hard-coded magic valueDaniel Stone1-1/+2
Took me a second to work out that the 272 was actually BTN_LEFT, as keys and buttons share a namespace in evdev. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31evdev: Add LED update hookDaniel Stone1-0/+30
Simply pushes the updated LEDs through to all keyboard attached to the seat. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31evdev: Add device capabilitiesDaniel Stone2-0/+35
Does what it says on the box: lists whether or not the device supports key, absolute, relative or touch classes. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Rename evdev_input_device::type to pending_eventsDaniel Stone3-24/+24
Since that's what it actually is, rather than a description of the device as such. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31evdev: Convert device type to an enumDaniel Stone1-8/+9
Rather than using #defines. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Add core LED handlingDaniel Stone2-0/+34
Similar to how we deal with modifiers, also add LED handling to the core input code, with a callout into the backends to update them when they change. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Do binding modifier lookup on XKB state, not physical keysDaniel Stone2-26/+23
When we update the modifier_state used for Weston bindings, derive this from the XKB modifier state, rather than a hardcoded mapping of physical keys to modifier state. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Move xkb_state object to weston_seatDaniel Stone2-83/+92
As we need to keep a separate state for every seat (i.e. keyboard interface) rather than a compositor-global state. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Convert Weston modifier #defines to an enumDaniel Stone3-8/+10
To avoid any possible collision between the disparate XKB and Weston modifier namespaces. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Support wl_keyboard::modifiers eventDaniel Stone7-12/+94
This event lets the compositor inform clients of the canonical keyboard modifier/group state. Make sure we send it at appropriate moments from the compositor, and listen for it in clients as well. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Update XKB state in update_modifier_stateDaniel Stone1-5/+37
As well as just updating Weston's internal modifier_state, also update our xkb_state object, in preparation for serialising modifier values to clients. This also makes update_modifier_state return 1 if the modifier/group state has changed, or 0 if not. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Update pointer and keyboard focus on new listenersDaniel Stone1-0/+23
If we get a new wl_pointer or wl_keyboard listener from the client currently owning the focus resource, issue another wl_{pointer,keyboard}_set_focus so the focus_resource can be updated and the client can receive an enter event. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2012-05-31Add Android backendPekka Paalanen5-0/+618
The Android backend provides basic EGL/GLES2 graphics, where everything is always composited. Overlays are not used. Input is stubbed, therefore there is no input yet. This adds the first C++ source file into Weston compositor. The Android gralloc and fb HAL glue code to the Android EGL library is in C++, and there is no way to access it from plain C. We have a simple wrapper to the required C++ class API. Android forces the C++ file name extension to .cpp. The android backend is compiled by default. However, all Android specific calls are protected with #ifdef ANDROID, so it will build also without Android headers. The binary produced without the Android build system is useless, but allows build-testing generic Weston changes. Therefore the android backend is not installed. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-05-31tests, wcap: update ignoresPekka Paalanen2-0/+4
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-05-31window: add wrapper for EPOLL_CLOEXECPekka Paalanen3-1/+22
Android does not have EPOLL_CLOEXEC, so add a fallback. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-05-31compositor: check for execinfo.hPekka Paalanen3-1/+12
Some systems may not have execinfo.h. Add a configure test for it, and if it is not found, make the backtrace() call a no-operation. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-05-31compositor: work around missing SOCK_CLOEXECPekka Paalanen4-3/+111
Android does not have SOCK_CLOEXEC, so implement a wrapper that falls back. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2012-05-31Implement text cursor position protocol.Scott Moreau12-10/+219
Here we create a new client/compositor interface in weston to allow clients to report their x/y cursor position to the compositor. These values are then used to center the zoom area on this point. This is useful for everyone, especially people who are visually impaired.
2012-05-31xwm: Just ignore the synthetic unmap_notifyKristian Høgsberg1-7/+4
As per ICCCM 4.1.4 we're supposed to withdraw the window when we see the real unmap or the synthetic unmap, whichever comes first. The synthetic unmap may come after the window has been destroyed, so let's just only handle the real unmap.
2012-05-30wcap: Convert argb to yv12 using integer math insteadKristian Høgsberg1-7/+9
Drop from 8% in the profile to 1.8%.
2012-05-30wcap: Fix README typoKristian Høgsberg1-1/+1
Thanks to Jonas Kulla <nyocurio@googlemail.com> for spotting it.
2012-05-30xwm: Set WM_STATE window propertyKristian Høgsberg2-0/+27
xprop and gtk+ dnd is now working.
2012-05-30xwm: Bring back synthetic events and handle synthetic unmap notify as per ICCCMKristian Høgsberg1-1/+9
2012-05-30xwm: Don't try to read deleted propertiesKristian Høgsberg1-2/+5
2012-05-30xwm: Handle reparenting windowsKristian Høgsberg1-21/+58
2012-05-30xwm: Don't select for XCB_EXPOSEKristian Høgsberg1-16/+1
We don't need expose events. All windows are redirected and we know exactly when we need to repaint them.
2012-05-30xwm: Don't dispatch for events coming from XSendEventKristian Høgsberg1-1/+1
GTK+ sends an unmap_notify to the root window when a toplevel GTK+ window gets unmapped. That may be a GTK+ bug, but we should just ignore events from XSendEvent.
2012-05-30xwm: Destroy frame resources and reparent back to root in unmap_notifyKristian Høgsberg1-19/+40
The frame window and the wayland surface needs to go away when then X window is unmapped, not when it's destroyed.
2012-05-30xwm: Remove pointless change set requestKristian Høgsberg1-2/+0
2012-05-30xwm: Don't select for STRUCTURE_NOTIFY or RESIZE_REDIRECTKristian Høgsberg1-4/+0
We get all that information through SUBSTRUCTURE_NOTIFY on the parent windows.
2012-05-30xwm: Ignore map request for already mapped windowKristian Høgsberg1-0/+3
If a client sends another map request before the server has seen our reply to the first map request event, we might get a map request for an already mapped window. Just ignore that.
2012-05-30xwm: Reduce window property debug outputKristian Høgsberg2-60/+24
We just print properties when they change now instead of dumping all properties whenever we re-read them. Also, make the property output a little more concise.
2012-05-29compositor: Only fini region if it's not the undef regionKristian Høgsberg1-1/+2
2012-05-29xwm: Reset wm->focus_window when the focused window is destroyedKristian Høgsberg1-0/+3
2012-05-29wcap: Compute per-component deltasKristian Høgsberg2-3/+22
2012-05-29wcap: Add wcap README, with a bit of documentationKristian Høgsberg1-0/+99
2012-05-29wcap-decode: Fix setting framerateKristian Høgsberg1-1/+8
Default to 30fps instead of crashing if we don't get a framerate on the command line.
2012-05-29wcap-decode: Fix timestamp overflowKristian Høgsberg1-1/+1
2012-05-29dnd: implement option for not offering data to other clientsAnder Conselvan de Oliveira2-27/+82
Add option --self-only to dnd client. If this options is passed, the drag will be started with no data source so that no drag and drop events are sent to other clients.
2012-05-29terminal: add glyphs to character listDavid Herrmann1-32/+32
This adds the actual glyphs/utf-8 characters to the comments of CS_SPECIAL (DEC special graphics set). They all work on my system with "Monospace" or "Bitstream" font. But keep the mnemonics so if the UTF8 characters are not displayed correctly, the comments are still readable. I don't know if gcc actually reads data as UTF-8 or if C code actually allows all UTF8 characters. However, unless it reads as "*/" in ASCII, it shouldn't matter inside of comments. Anyway, it compiles fine with gcc-4.7.0/amd64 here. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-05-29terminal: fix up horizontal scan-line charactersDavid Herrmann1-5/+5
The DEC special graphics set defines entries 0x6f to 0x73 to be: Horizontal Scan Line 1 Horizontal Scan Line 3 Horizontal Scan Line 5 Horizontal Scan Line 7 Horizontal Scan Line 9 However, the first Unicode drafts included only Scan-Line 5. Since Unicode-3.2 the other Scan-Lines were added and are available in most Unicode fonts now. The codes are listed here: http://www.fileformat.info/info/unicode/block/miscellaneous_technical/images.htm?start=9089 Or more precisely: Scan 1: http://www.fileformat.info/info/unicode/char/23ba/index.htm Scan 3: http://www.fileformat.info/info/unicode/char/23bb/index.htm Scan 7: http://www.fileformat.info/info/unicode/char/23bc/index.htm Scan 9: http://www.fileformat.info/info/unicode/char/23bd/index.htm Scan 5 is kept the same as before as it wasn't added separately and was already correct before. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-05-29Weston: Free allocated cursors array when destroyingYan Wang1-0/+1
This array is allocated in create_cursors(). It should be freed in destroy_cursors().
2012-05-26shell: Add keybinding to force-close (SIGKILL) inactive clientsKristian Høgsberg1-0/+21
2012-05-26wcap: Add option to disable building wcap toolsKristian Høgsberg2-6/+21
2012-05-25dnd: work around cairo-gl brokennessAnder Conselvan de Oliveira3-3/+6
If cairo-gl is used, display_create_surface() will create an wl_egl_window for each surface and this will result in errors if this surface is used as a source. Also, one can't get a wl_buffer for such a surface wich led to crashes when trying to do so for the drag icon. This patch works around both problems by forcing the item and drag icon surfaces to use shm.
2012-05-25window: rename enum pointer_type to cursor_typeAnder Conselvan de Oliveira10-45/+45
This avoids confusion with the pointer devices (struct wl_pointer).
2012-05-25window: track changes in libwayland-cursor apiAnder Conselvan de Oliveira9-43/+73
libwayland-cursor does not provide enum wl_cursor_type anymore so this brings back enum pointer_type. This partially revers commit 1042dc15e0ca69a4d8d4d23b862f1e3d3c8e054f.
2012-05-25compositor: Fix buggy snprintf that sets module pathChad Versace1-1/+1
If the MODULEDIR string contains '%', then snprintf(path, sizeof(path), MODULEDIR "/%s", name); does not do what you want. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>