#!/usr/bin/python3

import dbus
import os

priv = "com.ubuntu.systemservice.setkeyboard"

session_bus = dbus.SessionBus()
system_bus = dbus.SystemBus()

ser = dbus.Interface(system_bus.get_object("com.ubuntu.SystemService","/"),
                     "com.ubuntu.SystemService")

print(ser.get_keyboard())

res = ser.set_keyboard("", "us", "", "")
if res:
   print("settings keyboard")
   res = ser.set_keyboard("pc105", "de","nodeadkeys", "ctrl:nocaps")
   assert (res == True)

# illeal char in variant
assert(ser.set_keyboard("pc105", "de", "?", "ctrl:nocaps") == False)

# illegal layout
assert(ser.set_keyboard("pc105", "dex","nodeadkeys", "ctrl:nocaps") == False)

# illegal model
assert(ser.set_keyboard("px117", "dex","nodeadkeys", "ctrl:nocaps") == False)

print(ser.get_keyboard())
