Summary: As there are various DVI and HDMI output names, update the
output connector types area to be more accurate so we get better
output names
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: To support multi-seat, ecore_drm need to issue the event to notify compositor of seat is added.
Test Plan: N/A
Reviewers: zmike, raster, gwanglim, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2212
Summary: When setting up the Eeze_Udev_Watch for output hotplug
events, we should also be listening for the "change" event. As eeze
will now check the HOTPLUG property for drm events, we don't need to
check that here.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This is mainly just a build fix. This issue occurred due to
the function declaration being After a call to use it while not having
a function prototype. This just adds the function prototype
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This patch adds more information so we can debug output
hotplug events better. It fixes an issue where any new outputs
from _ecore_drm_update_outputs where not getting the eeze udev watch
event created, and also addresses the issue of disconnected outputs
not sending the ecore_drm_event (both minor fixes)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
when enlightenment is working as wayland display server, enlightenment
changes KDSETMODE to KD_GRAPHICS in _ecore_drm_tty_setup(). However,
when enlightenment is killed by SIGSEGV, it doesn't changes KDSETMODE
to KD_TEXT because englightenment process doesn't call ecore_drm_tty_close().
To make possible enlightenment call ecore_drm_tty_close(), drm devices
should be exposed.
When enlightenment is killed by SIGSEGV, it will get drm devices with
ecore_drm_device_get_list(), and will call ecore_drm_launcher_disconnect(),
and ecore_drm_launcher_disconnect will call ecore_drm_tty_close() internally.
@feature
Change-Id: I1c594739ec96660a09cee77b823ace6548ee5282
Reviewers: zmike, cedric, raster, gwanglim, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2159
Summary:
Fix issue of invalid memory read from
ecore_drm_output_create. We call ecore_drm_output_crtc_find to get the
Index of the crtc to use, however prior to this commit the index was
not being returned (the actual crtc was)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Reviewers: zmike
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2140
Summary: This implements edid parsing to obtain output make and model
so we can get better output names. This also fixes a false FIXME
statement in ecore_drm_output_physical_size_get function. As it turns
out, we don't need to get these values from edid parsing as they are
already available in the drm connector.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds an edid substructure to Ecore_Drm_Output so that
when we parse out EDID information, we have a place to store it
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds a function (ecore_drm_device_pointer_xy_get) to we
can return the mouse position inside ecore_evas_pointer_xy_get calls.
This is going to be used for centering the mouse when E-Wl starts up.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Using can result in motion being completely discarded. Since we
only need integer data, we also only actually forward on an event
when the mouse moves more than a full unit.
Reviewers: zmike, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2062
when dealing with non-kbd devices, the seat can be iterated to locate a keyboard
this may or may not accurately set depressed, latched, locked, group values
Summary: When we raise an event for an output, also include the output
id in the event structure. This will allow us to better identify which
output the event occured on.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
This provides callbacks to any bound wl_output listeners when a
display is hotplugged.
NOTE: Currently we don't receive hotplug events
ANOTHER NOTE: We don't yet handle display removal
Reviewers: devilhorns, zmike
Reviewed By: devilhorns, zmike
Subscribers: cedric
Maniphest Tasks: T2131
Differential Revision: https://phab.enlightenment.org/D2006
Summary: When we try to ReleaseDevice of our evdev structure, the
'path' which was getting passed to our logind code was incorrect. This
was due to libinput not providing a function to get the full device
path. We fix this by making some eeze udev calls to find this device
and get the full device path.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
input is destroyed
Summary: This fixes an issue where if you VT switch away from a
running Enlightenment and VT switch back, then input would no longer
be working. This was because we never called ReleaseDevice (dbus call)
when we destroyed a device, so any calls to recreate the device would
fail in libinput due to control already being taken.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If we already have the ecore_event_handlers for logind, then
do not recreate them on logind_connect.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When we send_and_block, we should be checking the 'reply' for
errors, not the original message which was sent.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
We check for libinput 06 or higher. In version 0.8 they got an API break
(hopefully the last one before 1.0) which we did not support so far. I have
seen libinput 0.9 used on gentoo and newer ubuntu systems so we should
definitely support them.
Adding a LIBINPUT_HIGHER_08 define to check for this. So far we have only one
location where we need it. Once there is a libinput 1.0 we should remove the
support for older versions.
http://lists.freedesktop.org/archives/wayland-devel/2015-January/019383.html
Summary: If we send a dbus blocking message, and it returns an error
then we should be printing out this error message
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Due to libinput processing events directly from evdev, we
need to disable/enable input events when we release/acquire the vt.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Due to libinput process events directly from evdev, when we
VT switch we should disable/enable inputs accordingly.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
invalid id. Fix T2086
Summary: In order to avoid getting returned an invalid id, we should
not be checking the currently active encoder and crtc combination
because outputs may have changed, encoders/crtc combinations could
have changed, etc, etc.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If we fail to duplicate stdin, we should write out an error
and exit appropriately.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The functions to take or release a session no longer accept session
name as a parameter, so fix calls to those functions
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The session take/release functions no longer need the session name
paramater, so remove that.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The session take/release functions no longer require the name of the
session, so remove the function parameter
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: These functions have been moved to the private header file
now, and thus this file is no longer needed.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Ecore_Drm_Device
Summary: This moves storing the session name and VT fields inside the
device structure. This also adds a field so we can store the keyboard
mode of the tty, and restore it on close.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This moves the logind function prototypes to the private
header and thus removes the need for a separate logind header file.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This moves the VT switch handling code to the tty file, and
sets the proper flags on the VT when opened.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes a few issues with the logind code such as: Getting
the VT from systemd (if available), Properly setup the VT using proper
'open' flags, adding a 'restore' function to reset the tty properly,
and handle take/release session.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This cleans up the tty code a bit, and makes it the
responsibility of the tty code to handle VT switching signals
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This sets the default session to NULL when a device is
created. Also a formatting fix
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
take/release session control inside dbus functions
Summary: These changes move the storage of session name to inside the
Ecore_Drm_Device structure and remove calls to take/release session
control to outside of the dbus code
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: It turns out we don't need to handle open & setup of the tty
unless we are Not using systemd. This fixes an issue during
enlightenment restart where we are unable to reopen the tty.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When we shutdown outputs, we should reset the hardware cursor
state and the saved crtc mode in order to reset things back to normal.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When we are shutting down a tty, restore the old keyboard
mode that we retain from tty_setup.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>