Меняет нажатие всех клавиш на китайские символы. Не привязано к расскладке, поэтому - намного хитрее.



Звуки можете убрать, я сейчас покажу, как это работает в видео, подставив звуки из Гачи.



import keyboard

import random

import winsound



# Здесь создаю список своих звуков, которые будут воспроизводиться при нажатии клавиш.

# Вместо 'sound1.wav', 'sound2.wav', 'sound3.wav' вы можете указать свои файлы .wav.

sounds = [

lambda: winsound.PlaySound("sound1.wav", winsound.SND_FILENAME), # Звук 1

lambda: winsound.PlaySound("sound2.wav", winsound.SND_FILENAME), # Звук 2

lambda: winsound.PlaySound("sound3.wav", winsound.SND_FILENAME) # Звук 3

]



# Тут создаю словарь для подмены символов на "китайские". При вводе каждой буквы она будет заменяться на соответствующий символ.

chinese_dict = {

'a': '是', 'b': '不', 'c': '我', 'd': '你',

'e': '他', 'f': '她', 'g': '它', 'h': '们',

'i': '好', 'j': '的', 'k': '吗', 'l': '呢',

'm': '没', 'n': '有', 'o': '了', 'p': '在',

'q': '和', 'r': '就', 's': '还', 't': '说',

'u': '看', 'v': '给', 'w': '请', 'x': '想',

'y': '多', 'z': '少'



# Кириллица

'а': '是', 'б': '不', 'в': '我', 'г': '你',

'д': '他', 'е': '她', 'ё': '它', 'ж': '们',

'з': '好', 'и': '的', 'й': '吗', 'к': '呢',

'л': '没', 'м': '有', 'н': '了', 'о': '在',

'п': '和', 'р': '就', 'с': '还', 'т': '说',

'у': '看', 'ф': '给', 'х': '请', 'ц': '想',

'ч': '多', 'ш': '少', 'щ': '是', 'ъ': '不',

'ы': '我', 'ь': '你', 'э': '他', 'ю': '她',

'я': '它'

}



# Здесь я создаю функцию, которая обрабатывает нажатие клавиш.

def scramble_and_sound(e):

# Тут я воспроизводю случайный звук из списка.

random.choice(sounds)()

# А здесь я подменяю буквы на китайские символы, если буква есть в словаре.

if e.name in chinese_dict:

keyboard.write(chinese_dict[e.name], delay=0)



# Это основная функция для запуска проги.

def prank_mode():

# Здесь я подключаю обработчик клавиш. Он будет реагировать на каждое нажатие.

keyboard.hook(scramble_and_sound)



# Тут я указываю, что надо ждать нажатия клавиши 'Ctrl', чтобы завершить программу.

keyboard.wait('ctrl')

print("Розыгрыш завершен!")



# Здесь я вызываю основную функцию, чтобы розыгрыш сразу начался после запуска.

if __name__ == "__main__":

prank_mode()