#
#
# Copyright (c) 2020 DPS, dps@my.mail.de
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#
from Dhelpers.arghandling import ArgSaver


pynput = "pynput"
evdev = "evdev"

class implementations:
    
    class HookAdaptor:
        default  = pynput
        keywait = (evdev, pynput)
        triggerman = ArgSaver(buttons = pynput, keys = evdev)
        
    class MouseAdaptor:
        default = pynput
        Dfuncs = pynput
        keywait = pynput
        
    class WindowAdaptor:
        default = "xtools_bash"
        
    class KeyboardAdaptor:
        default = (pynput, evdev)
        Dfuncs = pynput
        keywait = (evdev, pynput)
        hotstring = pynput
        
    class IconAdaptor:
        default = "pystray"
        
    class ClipboardAdaptor:
        default = "xclip_bash"
    
    class NotificationAdaptor:
        default = "notify_send_bash"
        waiter =  default
        
    class DialogAdaptor:
        default = ArgSaver("zenity_bash",popup="tkinter")