Commit Graph

91 Commits

Author SHA1 Message Date
Derek Foreman 50169af1db Update to recent ecore_drm2 changes 2017-08-09 14:59:25 -05:00
Derek Foreman fbceceff5a Fix geometry for drm outputs
It appears that config.geom.x and config.geom.y specify the corner of
an output in global space, but ecore_drm2_output_mode_set's x and y
are offsets into the framebuffer for the corner of the display.

Just pass 0, 0 and everything will be ok.
2017-07-27 15:20:32 -05:00
Mike Blumenkrantz 3055c0ecae remove wl screenshooter protocol
this should never have existed, as it makes no sense for a compositor to
use protocol in order to allow itself to take screenshots
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz b58e380b19 simplify drm output update event by using randr screen refresh queuing
also moves all the output add/del into e_comp_wl
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz 773122db66 store output subpixel value to randr2 screen data during drm init 2017-06-16 15:00:12 -04:00
Mike Blumenkrantz c2e891bbf4 update wl_drm for recent efl_input_device api changes
@jpeg plz http://i1.kym-cdn.com/photos/images/original/000/312/563/05d.jpg
2017-06-12 05:48:32 -04:00
Mike Blumenkrantz 79ed10927e preserve cursor state in drm output during vt switch
#wew

ref T5483
2017-06-09 20:18:13 -04:00
Derek Foreman 71f70ad8a5 Fix unused var compiler warning in wl_drm
Unused variable after my session activation cleanup
2017-06-07 12:11:59 -05:00
Derek Foreman 239101d95f Fix wl_drm session (de)activation callback
I missed this in my last commit - we probably shouldn't be calling
e_comp_render_queue or e_comp_shape_queue_block() after hiding the
ecore_evas anyway - and by removing the e_comp_shape_queue_block()
in the activation callback I made things asymmetrical.  Ungood.
2017-06-02 13:59:42 -05:00
Derek Foreman 5ce8bf3992 Fix wl_drm session activation callback
The code intended to force evas to redraw when we switch back from
another virtual console is failing to do so.  Remove it and replace
it with simpler code that successfully forces a redraw.
2017-06-02 13:49:06 -05:00
Mike Blumenkrantz cfc538ca55 remove all unnecessary efl version checks
the version of efl required by configure is already higher than these checks
2017-02-24 14:15:38 -05:00
Mike Blumenkrantz e33c01cdce add new explicit method for enabling backlight depending on output type
ensure that nested compositors don't mess with backlight
2017-02-24 14:15:38 -05:00
Chris Michael 4339f9f783 bump efl minor version check for ecore_drm2 API function usage
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-17 19:21:17 -05:00
Chris Michael b535aefaad wl_drm: Fix potentially uninitialized variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 13:18:19 -05:00
Chris Michael 8cb4a92ab5 minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-07 11:09:54 -05:00
Mike Blumenkrantz 8144cd0cda use e_pointer_show() when updating wl-drm seat caps to enable pointer
prev function doesn't handle canvas pointers
2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 501efaf357 add flag for comp screen iface to indicate relative motion eventing 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 186cf73294 implement relative-pointer v1 2017-02-03 15:13:45 -05:00
Chris Michael ba7e910f9c re-enable getting and setting output rotations in wl_drm
Small patch to re-enable the ability to query and set the rotation of
an output.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-18 11:30:30 -05:00
Chris Michael 307072fc43 remove old ecore_drm1 code from wl_drm module
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-18 09:03:20 -05:00
Chris Michael 1e37dd65fd update touch enabled/disabled based on seat capabilities
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-01-17 08:42:53 -05:00
Chris Michael 20166f16be make mouse pointer visibility syn with hotplug/un-plug
This patch makes the mouse pointer disappear when the physical mouse
device is unplugged. It also makes the mouse pointer reappear when a
physical mouse is hotplugged.

NB: There is one small hiccup with this patch and that is: when you
re-plug the mouse in the pointer itself doesn't show until you
physically move the mouse. Tried several things locally to sort it
out, but no success :/

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-09 08:56:32 -05:00
Derek Foreman dc2bad0fcd bump ecore_drm2 dependency, update to latest beta API 2016-09-08 11:51:36 -05:00
Chris Michael 35febc367d add key_up and key_down methods to sreen interface
This patch adds new methods to the screen interface that we can use
inside wl_drm to determine if a key event is eaten or not. This fixes
an issue where VT-Switching would not work if an application was on
the screen (E-Wayland).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-07-27 13:31:13 -04:00
Chris Michael 0d2b6b047c port enlightenment to use drm2
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-27 09:53:41 -04:00
Marcel Hollerbach a7c659e258 wl: remove useless calls to e_comp_wl_input_keymap_set
those calls are not needed anymore since they will be overriden by e_xkb
init which takes place a few calls later
2016-03-24 20:54:03 +01:00
Marcel Hollerbach ab4e4e17cb e_comp_wl: allow variants and options for keyboard settings
Also set options and variants to the rule names struct.
There is no need to use strdup here the values are just freed in the
end.
2016-03-24 20:54:03 +01:00
Chris Michael d49f60dd8a don't have to hook the ecore_evas resize callback here as that should
be handled by elm now

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-08 16:09:55 -05:00
Chris Michael 993f387433 don't define variables that we are not going to use
If our efl version is not >= 1.18, then the rotations and orient
variables here end up being unused. This patch just moves those
variables (and their usage) inside the 1.18 version check

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-03-01 10:22:21 -05:00
Chris Michael 04e108dbac correctly wrap 1.18 API function calls
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 11:19:56 -05:00
Chris Michael b88e8b7a4d wrap 1.18 drm rotation functions around #ifdefs
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 11:17:48 -05:00
Chris Michael 04ea946f3d Add support for configuring output rotations
When running under DRM, this patch adds support for getting the
supported rotations of an output, listing them in the Screen Setup
dialog, and adds the ability to set a rotation on a given screen

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-02-04 09:16:02 -05:00
Mike Blumenkrantz 542079d841 move all wayland extension implementations into e_comp_wl_extensions.c
e_comp_wl.c getting a bit hard to manage already, future extension additions
are going to make it a lot worse
2016-01-22 16:25:29 -05:00
JengHyun Kang bdb462e19f Set cached xkb context/keymap
Summary:
Set xkb context and keymap to Ecore_Drm.
         In enlightenment (used in wayland with drm backend), keymap is used only one.
         So for avoid unnecessary open keymap files, set cached context and keymap.
         But for this, enlightenment must compile keymap before init ecore_drm.
         So I changed booting sequence also.

Test Plan: Distinguish time between before and after during add a keyboard device.

Reviewers: raster, devilhorns, zmike

Subscribers: cedric, input.hacker, ohduna

Differential Revision: https://phab.enlightenment.org/D3504
2016-01-05 13:07:27 -05:00
Chris Michael 2cd6fcc3a9 enlightenment: Use 'fabs' to compute absolute value of floating point
types

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-10-14 10:38:14 -04:00
Mike Blumenkrantz 3f13b6889d replace existing usage of x/wl_comp_data with corresponding globals 2015-08-13 16:05:57 -04:00
Stefan Schmidt 5e5fcc4828 wl_drm: No need to init orient to 0 as it will never be read. 2015-08-07 15:55:49 +02:00
Mike Blumenkrantz 780bba76d2 add wl_drm dpms setting 2015-07-27 16:48:19 -04:00
Derek Foreman 41cb2fa161 screenshooting: Avoid void pointer arithmetic
Summary:
If we use unsigned char pointers instead of void pointers we actually
conform to the C standard.

This patch removes a reliance on a gcc extension and, as an added bonus,
also quiets a warning in the default build.

Reviewers: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2820
2015-07-15 18:09:15 -04:00
Mike Blumenkrantz 54c6d7094e remove unnecessary E_COMP_WL #defines
this is only required for aliasing E_Client->comp_data as wayland compositor data.
if comp_data is never dereferenced, it is not necessary to declare the compositor
type
2015-07-08 17:12:42 -04:00
Chris Michael 3088f2315c wl-drm: Add function to readback pixels for compositor screenshots
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-07-08 15:08:35 -04:00
Mike Blumenkrantz 31f6c5b446 feed mouse-in event to drm canvas on init
this is normally triggered by the engine/display server, but the drm
output is too powerful to be bothered by such trivial matters as
mouse events on startup
2015-07-07 14:33:14 -04:00
Derek Foreman 7f6f4b6966 wayland: Remove a lot of E_Comp_Data pointers
Summary: We should just use e_comp->wl_comp_data everywhere we can.

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2507
2015-05-18 09:08:52 -04:00
Chris Michael 40b877f527 wl-drm: Don't enable/disable an output until after we have set the current mode
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-14 08:38:13 -04:00
Chris Michael fd2e05f715 drm randr: More work on getting RandR functional in E-Wl. This adds a
function to remove an output from e_comp_wl also.

NB: Not entirely complete yet

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-13 14:50:40 -04:00
jhyuni.kang c59595e964 Support wl_touch and send wl_touch events to client
Summary:
Currently enlightenment-wayland support pointer and keyboard events.(in input)
         So I added EVAS_CALLBACK_MULTI_* event handler and hanling functions for wl_touch interface.
         This code send wl_touch events to client like a pointer event.

Test Plan:
In wayland + enlightenment environment, generate multi touch events.
           The enlightenment will be send wl_touch events to client.

Reviewers: raster, devilhorns, zmike

Reviewed By: devilhorns, zmike

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2482
2015-05-13 12:05:57 -04:00
Chris Michael 6d2c8c46da wl-drm: Start on making the RandR config dialog usable in drm
NB: 'Apply' does not function yet, needs another API or 2 in ecore_drm

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:44:50 -04:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz a080769d5a remove rest of ecore-drm usage from wl-drm randr info grabbing
this was not an optimal solution since only connected outputs are
tracked/available to ecore-drm, so now the module uses libdrm for everything
2015-04-23 13:47:05 -04:00
Mike Blumenkrantz 2894bae445 add read-only randr iface for wl drm output module
mostly just reads stuff right out of libdrm for now. seems to display mostly as expected.
no applying yet, and only connected+active monitors will display since that's all ecore-drm
tracks for now

try using ecore-drm, they said. it'll be easier than using libdrm, they said.
2015-04-22 21:21:58 -04:00