Cures 中的自定义键绑定功能

问题描述

我正在尝试在我正在使用的 TUI 中实现一些简单的文本编辑功能。我正在使用 Python 包装器进行诅咒。

目前我试图做的是将某些键绑定与特定的功能或操作相关联,但不确定如何去做,文档也不清楚。根据 documentation 有一些认的键绑定,但如果我想添加与特定键绑定关联的我自己的“事件”怎么办?

解决方法

首先要查看 curses.textpad 的源代码,了解它是如何实现的。它是硬编码的,例如,

    elif ch == curses.ascii.ENQ:                           # ^e
        if self.stripspaces:
            self.win.move(y,self._end_of_line(y))
        else:
            self.win.move(y,self.maxx)

可以重写它以允许自定义绑定,但请记住,目前(2021 年 2 月中旬),最近一次提交是在 4 年前 (December 2016)。