# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KKey Class Reference

A KKey object represents a single key with possible modifiers (Shift, Ctrl, Alt, Win). More...

`#include <kshortcut.h>`

List of all members.

## Public Types

enum | { MOD_FLAG_COUNT = 4 }
enum | { QtWIN = (Qt::META) }
enum | ModFlag { SHIFT = 0x01, CTRL = 0x02, ALT = 0x04, WIN = 0x08 }

## Public Member Functions

| KKey ()
| KKey (int keyQt)
| KKey (const QKeySequence &keySeq)
| KKey (const QKeyEvent *keyEvent)
| KKey (const KKey &key)
| KKey (const QString &key)
| KKey (uint key, uint mod)
void | clear ()
bool | init (int keyQt)
bool | init (const QKeySequence &keySeq)
bool | init (const QKeyEvent *keyEvent)
bool | init (const KKey &key)
bool | init (const QString &key)
bool | init (uint key, uint mod)
KKey & | operator= (const KKey &key)
bool | isNull () const
uint | sym () const
uint | modFlags () const
int | compare (const KKey &key) const
bool | operator== (const KKey &key) const
bool | operator!= (const KKey &key) const
bool | operator< (const KKey &key) const
int | keyCodeQt () const
QString | toString () const
QString | toStringInternal () const
void | simplify ()

## Static Public Member Functions

static KKey & | null ()
static QString | modFlagLabel (ModFlag f)

## Friends

class | KKeyNative

## Detailed Description

A KKey object represents a single key with possible modifiers (Shift, Ctrl, Alt, Win).

It can represent both keys which are understood by Qt as well as those which are additionally supported by the underlying system (e.g. X11).

See also:
  KKeyNative

  KKeySequence

  KShortcut

Definition at line 40 of file kshortcut.h.

## Member Enumeration Documentation

anonymous enum

The number of flags.

See also:
  ModFlag

Definition at line 47 of file kshortcut.h.

enum KKey::ModFlag

| Flags to represent the modifiers. You can combine modifiers by ORing them. Definition at line 53 of file kshortcut.h.

## Constructor & Destructor Documentation

KKey::KKey | ( |  | ) |

Creates a new null KKey.

See also:
  clear()

  isNull()

  null()

Definition at line 42 of file kshortcut.cpp.

References clear().

KKey::KKey | ( | int | keyQt | ) |

Creates a new key for the given Qt key code.

Parameters:

  | keyQt | the qt keycode

See also:
  Qt::Key

Definition at line 44 of file kshortcut.cpp.

References init().

KKey::KKey | ( | const QKeySequence & | keySeq | ) |

Creates a new key from the first key code of the given key sequence.

Parameters:

  | keySeq | the key sequence that contains the key

Definition at line 45 of file kshortcut.cpp.

References init().

KKey::KKey | ( | const QKeyEvent * | keyEvent | ) |

Extracts the key from the given key event.

Parameters:

  | keyEvent | the key event to get the key from

Definition at line 46 of file kshortcut.cpp.

References init().

KKey::KKey | ( | const KKey & | key | ) |

| Copy constructor. Definition at line 47 of file kshortcut.cpp. References init().

KKey::KKey | ( | const QString & | key | ) |

Creates a new key from the given description.

The form of the description is "[modifier+[modifier+]]+key", for example "e", "CTRL+q" or "CTRL+ALT+DEL". Allowed modifiers are "SHIFT", "CTRL", "ALT", "WIN" and "META". "WIN" and "META" are equivalent. Modifiers are not case-sensitive.

Parameters:

  | key | the description of the key

See also:
  KKeyServer::Sym::init()

Definition at line 48 of file kshortcut.cpp.

References init().

## Member Function Documentation

void KKey::clear | ( |  | ) |

Clears the key.

The key is null after calling this function.

See also:
  isNull()

Definition at line 54 of file kshortcut.cpp.

Referenced by init(), KKey(), and null().

bool KKey::init | ( | int | keyQt | ) |

Initializes the key with the given Qt key code.

Parameters:

  | keyQt | the qt keycode

Returns:
  true if successful, false otherwise

See also:
  Qt::Key

Definition at line 67 of file kshortcut.cpp.

References KKeyServer::keyQtToMod(), and KKeyServer::keyQtToSym().

Referenced by KKeySequence::init(), init(), KKey(), and KKeySequence::setKey().

bool KKey::init | ( | const QKeySequence & | keySeq | ) |

Initializes the key with the first key code of the given key sequence.

Parameters:

  | keySeq | the key sequence that contains the key

Returns:
  true if successful, false otherwise

Definition at line 82 of file kshortcut.cpp.

References init().

bool KKey::init | ( | const QKeyEvent * | keyEvent | ) |

Initializes the key by extracting the code from the given key event.

Parameters:

  | keyEvent | the key event to get the key from

Returns:
  true if successful, false otherwise

Definition at line 88 of file kshortcut.cpp.

References init().

bool KKey::init | ( | const KKey & | key | ) |

Copies the given key.

Parameters:

  | key | the key to copy

Returns:
  true if successful, false otherwise

Definition at line 98 of file kshortcut.cpp.

bool KKey::init | ( | const QString & | key | ) |

Initializes the key with the given description.

The form of the description is "[modifier+[modifier+]]+key", for example "e", "CTRL+q" or "CTRL+ALT+DEL". Allowed modifiers are "SHIFT", "CTRL", "ALT", "WIN" and "META". "WIN" and "META" are equivalent. Modifiers are not case-sensitive.

Parameters:

  | key | the description of the key

Returns:
  true if successful, false otherwise

See also:
  KKeyServer::Sym::init()

Definition at line 105 of file kshortcut.cpp.

References clear(), endl(), QString::endsWith(), QString::left(), QString::length(), KKeyServer::Sym::m_sym, QString::mid(), QString::number(), QStringList::split(), and QString::startsWith().

KKey& KKey::operator= | ( | const KKey & | key | ) | `[inline]`

| Copies the key. Definition at line 162 of file kshortcut.h.

bool KKey::isNull | ( |  | ) | const

Returns true if the key is null (after clear() or empty constructor).

Returns:
  true if the key is null

See also:
  clear()

  null()

Definition at line 144 of file kshortcut.cpp.

Referenced by KKeySequence::init(), and null().

int KKey::compare | ( | const KKey & | key | ) | const

Compares this key with the given KKey object.

Returns a negative number if the given KKey is larger, 0 if they are equal and a positive number this KKey is larger. The returned value is the difference between the symbol or, if the symbols are equal, the difference between the encoded modifiers.

Parameters:

  | key | the key to compare with this key

Returns:
  a negative number if the given KKey is larger, 0 if they are equal and a positive number this KKey is larger

Definition at line 148 of file kshortcut.cpp.

Referenced by KKeySequence::compare().

bool KKey::operator== | ( | const KKey & | key | ) | const`[inline]`

Compares the symbol and modifiers of both keys.

See also:
  compare()

Definition at line 201 of file kshortcut.h.

bool KKey::operator!= | ( | const KKey & | key | ) | const`[inline]`

Compares the symbol and modifiers of both keys.

See also:
  compare()

Definition at line 207 of file kshortcut.h.

bool KKey::operator< | ( | const KKey & | key | ) | const`[inline]`

Compares the symbol and modifiers of both keys.

See also:
  compare()

Definition at line 213 of file kshortcut.h.

int KKey::keyCodeQt | ( |  | ) | const

Returns the qt key code.

Returns:
  the qt key code or 0 if there is no key set.

See also:
  Qt::Key

Definition at line 157 of file kshortcut.cpp.

Referenced by KKeyServer::Key::init().

QString KKey::toString | ( |  | ) | const

Returns a human-readable representation of the key in the form "modifier+key".

Note that the representation is localised, use toStringInternal() for cases like saving to configuration files.

Returns:
  the string representation of the key

See also:
  toStringInternal()

Definition at line 162 of file kshortcut.cpp.

References QString::isEmpty(), and KKeyServer::modToStringUser().

Referenced by KKeySequence::toString().

QString KKey::toStringInternal | ( |  | ) | const

| Returns an untranslated text representation of the key in the form "modifier+key", suitable e.g. for saving in configuration files. Definition at line 174 of file kshortcut.cpp. References QString::isEmpty().

KKey & KKey::null | ( |  | ) | `[static]`

Returns a null key.

Returns:
  the null key

See also:
  isNull()

  clear()

Definition at line 188 of file kshortcut.cpp.

References clear(), and isNull().

Referenced by KKeySequence::key().

QString KKey::modFlagLabel | ( | ModFlag | f | ) | `[static]`

Returns a user-readable representation of the given modifiers.

Parameters:

  | f | the modifiers to convert

Returns:
  the string representation of the modifiers

Definition at line 197 of file kshortcut.cpp.

References KKeyServer::modToStringUser().

The documentation for this class was generated from the following files:

- kshortcut.h
- kkeyserver_x11.cpp
- kshortcut.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:18:43 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003